@tulip-systems/drive 0.8.0 → 0.8.2
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/client.d.mts +5 -0
- package/dist/client.mjs +6 -0
- package/dist/components/content.d.mts +14 -0
- package/dist/components/content.d.mts.map +1 -0
- package/dist/components/content.mjs +18 -0
- package/dist/components/content.mjs.map +1 -0
- package/dist/components/context.client.d.mts +14 -0
- package/dist/components/context.client.d.mts.map +1 -0
- package/dist/components/dnd.client.d.mts +17 -0
- package/dist/components/dnd.client.d.mts.map +1 -0
- package/dist/components/dnd.client.mjs +30 -0
- package/dist/components/dnd.client.mjs.map +1 -0
- package/dist/components/grid-card.client.d.mts +43 -0
- package/dist/components/grid-card.client.d.mts.map +1 -0
- package/dist/components/grid-card.client.mjs +173 -0
- package/dist/components/grid-card.client.mjs.map +1 -0
- package/dist/components/grid.client.d.mts +54 -0
- package/dist/components/grid.client.d.mts.map +1 -0
- package/dist/components/grid.client.mjs +54 -0
- package/dist/components/grid.client.mjs.map +1 -0
- package/dist/components/navigation/breadcrumbs.client.d.mts +26 -0
- package/dist/components/navigation/breadcrumbs.client.d.mts.map +1 -0
- package/dist/components/navigation/breadcrumbs.client.mjs +52 -0
- package/dist/components/navigation/breadcrumbs.client.mjs.map +1 -0
- package/dist/components/navigation/header.client.d.mts +28 -0
- package/dist/components/navigation/header.client.d.mts.map +1 -0
- package/dist/components/navigation/header.client.mjs +41 -0
- package/dist/components/navigation/header.client.mjs.map +1 -0
- package/dist/components/navigation/toolbar.client.d.mts +24 -0
- package/dist/components/navigation/toolbar.client.d.mts.map +1 -0
- package/dist/components/navigation/toolbar.client.mjs +35 -0
- package/dist/components/navigation/toolbar.client.mjs.map +1 -0
- package/dist/components/navigation/view-switcher.client.d.mts +10 -0
- package/dist/components/navigation/view-switcher.client.d.mts.map +1 -0
- package/dist/components/navigation/view-switcher.client.mjs +36 -0
- package/dist/components/navigation/view-switcher.client.mjs.map +1 -0
- package/dist/components/selection.client.d.mts +28 -0
- package/dist/components/selection.client.d.mts.map +1 -0
- package/dist/components/selection.client.mjs +39 -0
- package/dist/components/selection.client.mjs.map +1 -0
- package/dist/components/view.client.d.mts +26 -0
- package/dist/components/view.client.d.mts.map +1 -0
- package/dist/components/view.client.mjs +44 -0
- package/dist/components/view.client.mjs.map +1 -0
- package/dist/config/filters.mjs +15 -0
- package/dist/config/filters.mjs.map +1 -0
- package/dist/config/types.mjs +61 -0
- package/dist/config/types.mjs.map +1 -0
- package/dist/google/client.d.mts +8 -0
- package/dist/google/client.mjs +9 -0
- package/dist/google/server.d.mts +3 -0
- package/dist/google/server.mjs +4 -0
- package/dist/google.d.mts +6 -0
- package/dist/google.mjs +7 -0
- package/dist/index.d.mts +7 -0
- package/dist/index.mjs +7 -0
- package/dist/lib/constants.d.mts +12 -0
- package/dist/lib/constants.d.mts.map +1 -0
- package/dist/lib/constants.mjs +21 -0
- package/dist/lib/constants.mjs.map +1 -0
- package/dist/lib/contracts.d.mts +101 -0
- package/dist/lib/contracts.d.mts.map +1 -0
- package/dist/lib/dto.d.mts +118 -0
- package/dist/lib/dto.d.mts.map +1 -0
- package/dist/lib/dto.mjs +58 -0
- package/dist/lib/dto.mjs.map +1 -0
- package/dist/lib/helpers.d.mts +18 -0
- package/dist/lib/helpers.d.mts.map +1 -0
- package/dist/lib/helpers.mjs +37 -0
- package/dist/lib/helpers.mjs.map +1 -0
- package/dist/lib/helpers.server.d.mts +14 -0
- package/dist/lib/helpers.server.d.mts.map +1 -0
- package/dist/lib/helpers.server.mjs +16 -0
- package/dist/lib/helpers.server.mjs.map +1 -0
- package/dist/lib/search-params.d.mts +9 -0
- package/dist/lib/search-params.d.mts.map +1 -0
- package/dist/lib/search-params.mjs +8 -0
- package/dist/lib/search-params.mjs.map +1 -0
- package/dist/lib/validators.d.mts +158 -0
- package/dist/lib/validators.d.mts.map +1 -0
- package/dist/lib/validators.mjs +66 -0
- package/dist/lib/validators.mjs.map +1 -0
- package/dist/local/client.d.mts +13 -0
- package/dist/local/client.mjs +13 -0
- package/dist/local/server.d.mts +4 -0
- package/dist/local/server.mjs +5 -0
- package/dist/local.d.mts +8 -0
- package/dist/local.mjs +9 -0
- package/dist/providers/google/components/command-file-update.d.mts +22 -0
- package/dist/providers/google/components/command-file-update.d.mts.map +1 -0
- package/dist/providers/google/components/command-file-update.mjs +52 -0
- package/dist/providers/google/components/command-file-update.mjs.map +1 -0
- package/dist/providers/google/components/command-folder-create.d.mts +22 -0
- package/dist/providers/google/components/command-folder-create.d.mts.map +1 -0
- package/dist/providers/google/components/command-folder-create.mjs +59 -0
- package/dist/providers/google/components/command-folder-create.mjs.map +1 -0
- package/dist/providers/google/components/command-folder-update.d.mts +22 -0
- package/dist/providers/google/components/command-folder-update.d.mts.map +1 -0
- package/dist/providers/google/components/command-folder-update.mjs +52 -0
- package/dist/providers/google/components/command-folder-update.mjs.map +1 -0
- package/dist/providers/google/components/content.client.d.mts +10 -0
- package/dist/providers/google/components/content.client.d.mts.map +1 -0
- package/dist/providers/google/components/content.client.mjs +11 -0
- package/dist/providers/google/components/content.client.mjs.map +1 -0
- package/dist/providers/google/components/navigation.client.d.mts +16 -0
- package/dist/providers/google/components/navigation.client.d.mts.map +1 -0
- package/dist/providers/google/components/navigation.client.mjs +18 -0
- package/dist/providers/google/components/navigation.client.mjs.map +1 -0
- package/dist/providers/google/components/provider.client.d.mts +33 -0
- package/dist/providers/google/components/provider.client.d.mts.map +1 -0
- package/dist/providers/google/components/provider.client.mjs +43 -0
- package/dist/providers/google/components/provider.client.mjs.map +1 -0
- package/dist/providers/google/components/view.client.d.mts +41 -0
- package/dist/providers/google/components/view.client.d.mts.map +1 -0
- package/dist/providers/google/components/view.client.mjs +98 -0
- package/dist/providers/google/components/view.client.mjs.map +1 -0
- package/dist/providers/google/config/columns-data.d.mts +8 -0
- package/dist/providers/google/config/columns-data.d.mts.map +1 -0
- package/dist/providers/google/config/columns-data.mjs +70 -0
- package/dist/providers/google/config/columns-data.mjs.map +1 -0
- package/dist/providers/google/config/filters.d.mts +16 -0
- package/dist/providers/google/config/filters.d.mts.map +1 -0
- package/dist/providers/google/config/filters.mjs +8 -0
- package/dist/providers/google/config/filters.mjs.map +1 -0
- package/dist/providers/google/lib/constants.mjs +13 -0
- package/dist/providers/google/lib/constants.mjs.map +1 -0
- package/dist/providers/google/lib/dto.d.mts +39 -0
- package/dist/providers/google/lib/dto.d.mts.map +1 -0
- package/dist/providers/google/lib/dto.mjs +66 -0
- package/dist/providers/google/lib/dto.mjs.map +1 -0
- package/dist/providers/google/lib/helpers.mjs +46 -0
- package/dist/providers/google/lib/helpers.mjs.map +1 -0
- package/dist/providers/google/lib/router.server.d.mts +612 -0
- package/dist/providers/google/lib/router.server.d.mts.map +1 -0
- package/dist/providers/google/lib/router.server.mjs +40 -0
- package/dist/providers/google/lib/router.server.mjs.map +1 -0
- package/dist/providers/google/lib/search-params.d.mts +15 -0
- package/dist/providers/google/lib/search-params.d.mts.map +1 -0
- package/dist/providers/google/lib/search-params.mjs +12 -0
- package/dist/providers/google/lib/search-params.mjs.map +1 -0
- package/dist/providers/google/lib/service.server.d.mts +186 -0
- package/dist/providers/google/lib/service.server.d.mts.map +1 -0
- package/dist/providers/google/lib/service.server.mjs +613 -0
- package/dist/providers/google/lib/service.server.mjs.map +1 -0
- package/dist/providers/google/lib/validators.d.mts +303 -0
- package/dist/providers/google/lib/validators.d.mts.map +1 -0
- package/dist/providers/google/lib/validators.mjs +59 -0
- package/dist/providers/google/lib/validators.mjs.map +1 -0
- package/dist/providers/local/components/command-file-update.d.mts +18 -0
- package/dist/providers/local/components/command-file-update.d.mts.map +1 -0
- package/dist/providers/local/components/command-file-update.mjs +48 -0
- package/dist/providers/local/components/command-file-update.mjs.map +1 -0
- package/dist/providers/local/components/command-file-upload.d.mts +11 -0
- package/dist/providers/local/components/command-file-upload.d.mts.map +1 -0
- package/dist/providers/local/components/command-file-upload.mjs +35 -0
- package/dist/providers/local/components/command-file-upload.mjs.map +1 -0
- package/dist/providers/local/components/command-folder-create.d.mts +18 -0
- package/dist/providers/local/components/command-folder-create.d.mts.map +1 -0
- package/dist/providers/local/components/command-folder-create.mjs +55 -0
- package/dist/providers/local/components/command-folder-create.mjs.map +1 -0
- package/dist/providers/local/components/command-folder-update.d.mts +18 -0
- package/dist/providers/local/components/command-folder-update.d.mts.map +1 -0
- package/dist/providers/local/components/command-folder-update.mjs +48 -0
- package/dist/providers/local/components/command-folder-update.mjs.map +1 -0
- package/dist/providers/local/components/content.client.d.mts +7 -0
- package/dist/providers/local/components/content.client.d.mts.map +1 -0
- package/dist/providers/local/components/content.client.mjs +8 -0
- package/dist/providers/local/components/content.client.mjs.map +1 -0
- package/dist/providers/local/components/navigation.client.d.mts +16 -0
- package/dist/providers/local/components/navigation.client.d.mts.map +1 -0
- package/dist/providers/local/components/navigation.client.mjs +18 -0
- package/dist/providers/local/components/navigation.client.mjs.map +1 -0
- package/dist/providers/local/components/provider.client.d.mts +40 -0
- package/dist/providers/local/components/provider.client.d.mts.map +1 -0
- package/dist/providers/local/components/provider.client.mjs +61 -0
- package/dist/providers/local/components/provider.client.mjs.map +1 -0
- package/dist/providers/local/components/upload-zone-context.client.d.mts +38 -0
- package/dist/providers/local/components/upload-zone-context.client.d.mts.map +1 -0
- package/dist/providers/local/components/upload-zone-context.client.mjs +23 -0
- package/dist/providers/local/components/upload-zone-context.client.mjs.map +1 -0
- package/dist/providers/local/components/upload-zone.client.d.mts +30 -0
- package/dist/providers/local/components/upload-zone.client.d.mts.map +1 -0
- package/dist/providers/local/components/upload-zone.client.mjs +147 -0
- package/dist/providers/local/components/upload-zone.client.mjs.map +1 -0
- package/dist/providers/local/components/view.client.d.mts +32 -0
- package/dist/providers/local/components/view.client.d.mts.map +1 -0
- package/dist/providers/local/components/view.client.mjs +91 -0
- package/dist/providers/local/components/view.client.mjs.map +1 -0
- package/dist/providers/local/config/columns-data.d.mts +8 -0
- package/dist/providers/local/config/columns-data.d.mts.map +1 -0
- package/dist/providers/local/config/columns-data.mjs +70 -0
- package/dist/providers/local/config/columns-data.mjs.map +1 -0
- package/dist/providers/local/config/filters.d.mts +26 -0
- package/dist/providers/local/config/filters.d.mts.map +1 -0
- package/dist/providers/local/config/filters.mjs +15 -0
- package/dist/providers/local/config/filters.mjs.map +1 -0
- package/dist/providers/local/lib/constants.d.mts +12 -0
- package/dist/providers/local/lib/constants.d.mts.map +1 -0
- package/dist/providers/local/lib/constants.mjs +29 -0
- package/dist/providers/local/lib/constants.mjs.map +1 -0
- package/dist/providers/local/lib/helpers.d.mts +45 -0
- package/dist/providers/local/lib/helpers.d.mts.map +1 -0
- package/dist/providers/local/lib/helpers.mjs +110 -0
- package/dist/providers/local/lib/helpers.mjs.map +1 -0
- package/dist/providers/local/lib/route-handler.server.d.mts +34 -0
- package/dist/providers/local/lib/route-handler.server.d.mts.map +1 -0
- package/dist/providers/local/lib/route-handler.server.mjs +114 -0
- package/dist/providers/local/lib/route-handler.server.mjs.map +1 -0
- package/dist/providers/local/lib/router.server.d.mts +41648 -0
- package/dist/providers/local/lib/router.server.d.mts.map +1 -0
- package/dist/providers/local/lib/router.server.mjs +52 -0
- package/dist/providers/local/lib/router.server.mjs.map +1 -0
- package/dist/providers/local/lib/schema.d.mts +1113 -0
- package/dist/providers/local/lib/schema.d.mts.map +1 -0
- package/dist/providers/local/lib/schema.mjs +71 -0
- package/dist/providers/local/lib/schema.mjs.map +1 -0
- package/dist/providers/local/lib/search-params.d.mts +14 -0
- package/dist/providers/local/lib/search-params.d.mts.map +1 -0
- package/dist/providers/local/lib/search-params.mjs +9 -0
- package/dist/providers/local/lib/search-params.mjs.map +1 -0
- package/dist/providers/local/lib/service.server.d.mts +489 -0
- package/dist/providers/local/lib/service.server.d.mts.map +1 -0
- package/dist/providers/local/lib/service.server.mjs +668 -0
- package/dist/providers/local/lib/service.server.mjs.map +1 -0
- package/dist/providers/local/lib/upload.client.d.mts +62 -0
- package/dist/providers/local/lib/upload.client.d.mts.map +1 -0
- package/dist/providers/local/lib/upload.client.mjs +100 -0
- package/dist/providers/local/lib/upload.client.mjs.map +1 -0
- package/dist/providers/local/lib/validators.d.mts +454 -0
- package/dist/providers/local/lib/validators.d.mts.map +1 -0
- package/dist/providers/local/lib/validators.mjs +96 -0
- package/dist/providers/local/lib/validators.mjs.map +1 -0
- package/dist/server.d.mts +2 -0
- package/dist/server.mjs +3 -0
- package/package.json +3 -2
- package/src/components/grid-card.client.tsx +4 -1
- package/src/providers/google/components/view.client.tsx +9 -1
- package/src/providers/google/lib/helpers.ts +9 -0
- package/src/providers/local/components/provider.client.tsx +2 -1
- package/src/providers/local/components/upload-zone-context.client.tsx +1 -0
- package/src/providers/local/components/upload-zone.client.tsx +14 -1
- package/src/providers/local/components/view.client.tsx +10 -2
- package/src/providers/local/lib/helpers.ts +0 -1
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { DriveBreadcrumbs } from "./breadcrumbs.client.mjs";
|
|
4
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
5
|
+
import { Header, HeaderTopbarBackButton, HeaderTopbarMobileNavSwitcher, Topbar, TopbarTools } from "@tulip-systems/core/components/client";
|
|
6
|
+
|
|
7
|
+
//#region src/components/navigation/header.client.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Drive Header
|
|
10
|
+
*/
|
|
11
|
+
function DriveHeader({ children, ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx(Header, {
|
|
13
|
+
...props,
|
|
14
|
+
children: /* @__PURE__ */ jsx(Topbar, { children })
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Drive Header Breadcrumbs
|
|
19
|
+
*/
|
|
20
|
+
function DriveHeaderBreadcrumbs({ breadcrumbs }) {
|
|
21
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
22
|
+
className: "flex h-full items-center gap-4",
|
|
23
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
24
|
+
className: "h-full",
|
|
25
|
+
children: [/* @__PURE__ */ jsx(HeaderTopbarBackButton, {}), /* @__PURE__ */ jsx(HeaderTopbarMobileNavSwitcher, {})]
|
|
26
|
+
}), /* @__PURE__ */ jsx(DriveBreadcrumbs, { breadcrumbs })]
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Drive Header Tools
|
|
31
|
+
*/
|
|
32
|
+
function DriveHeaderTools({ children, ...props }) {
|
|
33
|
+
return /* @__PURE__ */ jsx(TopbarTools, {
|
|
34
|
+
...props,
|
|
35
|
+
children
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
//#endregion
|
|
40
|
+
export { DriveHeader, DriveHeaderBreadcrumbs, DriveHeaderTools };
|
|
41
|
+
//# sourceMappingURL=header.client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.client.mjs","names":[],"sources":["../../../src/components/navigation/header.client.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Header,\n HeaderTopbarBackButton,\n HeaderTopbarMobileNavSwitcher,\n Topbar,\n TopbarTools,\n} from \"@tulip-systems/core/components/client\";\nimport type { ComponentProps } from \"react\";\nimport { type DriveBreadCrumbsProps, DriveBreadcrumbs } from \"./breadcrumbs.client\";\n\n/**\n * Drive Header\n */\nexport function DriveHeader({ children, ...props }: ComponentProps<\"div\">) {\n return (\n <Header {...props}>\n <Topbar>{children}</Topbar>\n </Header>\n );\n}\n\n/**\n * Drive Header Breadcrumbs\n */\nexport function DriveHeaderBreadcrumbs({ breadcrumbs }: DriveBreadCrumbsProps) {\n return (\n <div className=\"flex h-full items-center gap-4\">\n <div className=\"h-full\">\n <HeaderTopbarBackButton />\n <HeaderTopbarMobileNavSwitcher />\n </div>\n\n <DriveBreadcrumbs breadcrumbs={breadcrumbs} />\n </div>\n );\n}\n\n/**\n * Drive Header Tools\n */\nexport function DriveHeaderTools({ children, ...props }: ComponentProps<\"div\">) {\n return <TopbarTools {...props}>{children}</TopbarTools>;\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAgB,YAAY,EAAE,UAAU,GAAG,SAAgC;AACzE,QACE,oBAAC;EAAO,GAAI;YACV,oBAAC,UAAQ,WAAkB;GACpB;;;;;AAOb,SAAgB,uBAAuB,EAAE,eAAsC;AAC7E,QACE,qBAAC;EAAI,WAAU;aACb,qBAAC;GAAI,WAAU;cACb,oBAAC,2BAAyB,EAC1B,oBAAC,kCAAgC;IAC7B,EAEN,oBAAC,oBAA8B,cAAe;GAC1C;;;;;AAOV,SAAgB,iBAAiB,EAAE,UAAU,GAAG,SAAgC;AAC9E,QAAO,oBAAC;EAAY,GAAI;EAAQ;GAAuB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import "./breadcrumbs.client.mjs";
|
|
2
|
+
import { ComponentProps } from "react";
|
|
3
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
+
|
|
5
|
+
//#region src/components/navigation/toolbar.client.d.ts
|
|
6
|
+
/**
|
|
7
|
+
* Drive Page Topbar
|
|
8
|
+
*/
|
|
9
|
+
declare function DriveToolbar({
|
|
10
|
+
className,
|
|
11
|
+
children,
|
|
12
|
+
...props
|
|
13
|
+
}: ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
14
|
+
/**
|
|
15
|
+
* Drive Header Tools
|
|
16
|
+
*/
|
|
17
|
+
declare function DriveToolbarTools({
|
|
18
|
+
children,
|
|
19
|
+
className,
|
|
20
|
+
...props
|
|
21
|
+
}: ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
|
|
22
|
+
//#endregion
|
|
23
|
+
export { DriveToolbar, DriveToolbarTools };
|
|
24
|
+
//# sourceMappingURL=toolbar.client.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.client.d.mts","names":[],"sources":["../../../src/components/navigation/toolbar.client.tsx"],"mappings":";;;;;;;;iBASgB,YAAA,CAAA;EAAe,SAAA;EAAW,QAAA;EAAA,GAAa;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA;;;;iBAmBrE,iBAAA,CAAA;EAAoB,QAAA;EAAU,SAAA;EAAA,GAAc;AAAA,GAAS,cAAA,UAAqB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { DriveBreadcrumbs } from "./breadcrumbs.client.mjs";
|
|
4
|
+
import { cn } from "@tulip-systems/core/lib";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/navigation/toolbar.client.tsx
|
|
8
|
+
/**
|
|
9
|
+
* Drive Page Topbar
|
|
10
|
+
*/
|
|
11
|
+
function DriveToolbar({ className, children, ...props }) {
|
|
12
|
+
return /* @__PURE__ */ jsx("div", {
|
|
13
|
+
...props,
|
|
14
|
+
className: cn("flex items-center justify-between overflow-x-auto pt-3", className),
|
|
15
|
+
children
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Drive Toolbar Breadcrumbs
|
|
20
|
+
*/
|
|
21
|
+
const DriveToolbarBreadcrumbs = DriveBreadcrumbs;
|
|
22
|
+
/**
|
|
23
|
+
* Drive Header Tools
|
|
24
|
+
*/
|
|
25
|
+
function DriveToolbarTools({ children, className, ...props }) {
|
|
26
|
+
return /* @__PURE__ */ jsx("div", {
|
|
27
|
+
...props,
|
|
28
|
+
className: cn("flex h-full items-center justify-end gap-4", className),
|
|
29
|
+
children
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { DriveToolbar, DriveToolbarBreadcrumbs, DriveToolbarTools };
|
|
35
|
+
//# sourceMappingURL=toolbar.client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolbar.client.mjs","names":[],"sources":["../../../src/components/navigation/toolbar.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn } from \"@tulip-systems/core/lib\";\nimport type { ComponentProps } from \"react\";\nimport { DriveBreadcrumbs } from \"./breadcrumbs.client\";\n\n/**\n * Drive Page Topbar\n */\nexport function DriveToolbar({ className, children, ...props }: ComponentProps<\"div\">) {\n return (\n <div\n {...props}\n className={cn(\"flex items-center justify-between overflow-x-auto pt-3\", className)}\n >\n {children}\n </div>\n );\n}\n\n/**\n * Drive Toolbar Breadcrumbs\n */\nexport const DriveToolbarBreadcrumbs = DriveBreadcrumbs;\n\n/**\n * Drive Header Tools\n */\nexport function DriveToolbarTools({ children, className, ...props }: ComponentProps<\"div\">) {\n return (\n <div {...props} className={cn(\"flex h-full items-center justify-end gap-4\", className)}>\n {children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;AASA,SAAgB,aAAa,EAAE,WAAW,UAAU,GAAG,SAAgC;AACrF,QACE,oBAAC;EACC,GAAI;EACJ,WAAW,GAAG,0DAA0D,UAAU;EAEjF;GACG;;;;;AAOV,MAAa,0BAA0B;;;;AAKvC,SAAgB,kBAAkB,EAAE,UAAU,WAAW,GAAG,SAAgC;AAC1F,QACE,oBAAC;EAAI,GAAI;EAAO,WAAW,GAAG,8CAA8C,UAAU;EACnF;GACG"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/navigation/view-switcher.client.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Drive view switcher
|
|
6
|
+
*/
|
|
7
|
+
declare function DriveViewSwitcher(): react_jsx_runtime0.JSX.Element;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { DriveViewSwitcher };
|
|
10
|
+
//# sourceMappingURL=view-switcher.client.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-switcher.client.d.mts","names":[],"sources":["../../../src/components/navigation/view-switcher.client.tsx"],"mappings":";;;;;;iBASgB,iBAAA,CAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { useDriveViewContext } from "../view.client.mjs";
|
|
4
|
+
import { LayoutGridIcon, StretchVerticalIcon } from "lucide-react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { ToggleGroup, ToggleGroupItem } from "@tulip-systems/core/components/client";
|
|
7
|
+
|
|
8
|
+
//#region src/components/navigation/view-switcher.client.tsx
|
|
9
|
+
/**
|
|
10
|
+
* Drive view switcher
|
|
11
|
+
*/
|
|
12
|
+
function DriveViewSwitcher() {
|
|
13
|
+
const { view, onViewChange } = useDriveViewContext();
|
|
14
|
+
return /* @__PURE__ */ jsxs(ToggleGroup, {
|
|
15
|
+
type: "single",
|
|
16
|
+
variant: "outline",
|
|
17
|
+
value: view,
|
|
18
|
+
onValueChange: (value) => {
|
|
19
|
+
console.log("DriveViewSwitcher: Changing view to", value);
|
|
20
|
+
onViewChange(value ? value : "grid");
|
|
21
|
+
},
|
|
22
|
+
children: [/* @__PURE__ */ jsx(ToggleGroupItem, {
|
|
23
|
+
value: "grid",
|
|
24
|
+
"aria-label": "Toggle grid view",
|
|
25
|
+
children: /* @__PURE__ */ jsx(LayoutGridIcon, {})
|
|
26
|
+
}), /* @__PURE__ */ jsx(ToggleGroupItem, {
|
|
27
|
+
value: "list",
|
|
28
|
+
"aria-label": "Toggle list view",
|
|
29
|
+
children: /* @__PURE__ */ jsx(StretchVerticalIcon, {})
|
|
30
|
+
})]
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { DriveViewSwitcher };
|
|
36
|
+
//# sourceMappingURL=view-switcher.client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view-switcher.client.mjs","names":[],"sources":["../../../src/components/navigation/view-switcher.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { ToggleGroup, ToggleGroupItem } from \"@tulip-systems/core/components/client\";\nimport { LayoutGridIcon, StretchVerticalIcon } from \"lucide-react\";\nimport { type DriveViewMode, useDriveViewContext } from \"../view.client\";\n\n/**\n * Drive view switcher\n */\nexport function DriveViewSwitcher() {\n const { view, onViewChange } = useDriveViewContext();\n\n return (\n <ToggleGroup\n type=\"single\"\n variant=\"outline\"\n value={view}\n onValueChange={(value) => {\n console.log(\"DriveViewSwitcher: Changing view to\", value);\n onViewChange(value ? (value as DriveViewMode) : \"grid\");\n }}\n >\n <ToggleGroupItem value=\"grid\" aria-label=\"Toggle grid view\">\n <LayoutGridIcon />\n </ToggleGroupItem>\n\n <ToggleGroupItem value=\"list\" aria-label=\"Toggle list view\">\n <StretchVerticalIcon />\n </ToggleGroupItem>\n </ToggleGroup>\n );\n}\n"],"mappings":";;;;;;;;;;;AASA,SAAgB,oBAAoB;CAClC,MAAM,EAAE,MAAM,iBAAiB,qBAAqB;AAEpD,QACE,qBAAC;EACC,MAAK;EACL,SAAQ;EACR,OAAO;EACP,gBAAgB,UAAU;AACxB,WAAQ,IAAI,uCAAuC,MAAM;AACzD,gBAAa,QAAS,QAA0B,OAAO;;aAGzD,oBAAC;GAAgB,OAAM;GAAO,cAAW;aACvC,oBAAC,mBAAiB;IACF,EAElB,oBAAC;GAAgB,OAAM;GAAO,cAAW;aACvC,oBAAC,wBAAsB;IACP;GACN"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { DriveNode } from "../lib/dto.mjs";
|
|
2
|
+
import { Selection } from "@tulip-systems/core/data-tables";
|
|
3
|
+
import { PropsWithChildren } from "react";
|
|
4
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/selection.client.d.ts
|
|
7
|
+
/**
|
|
8
|
+
* DriveSelectionContextValue
|
|
9
|
+
*/
|
|
10
|
+
type DriveSelectionContextValue = {
|
|
11
|
+
selection?: Selection;
|
|
12
|
+
selectionConditions?: (node: DriveNode) => boolean | boolean[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* useDriveSelectionContext
|
|
16
|
+
*/
|
|
17
|
+
declare function useDriveSelectionContext(): DriveSelectionContextValue;
|
|
18
|
+
/**
|
|
19
|
+
* DriveSelectionProvider
|
|
20
|
+
*/
|
|
21
|
+
declare function DriveSelectionProvider({
|
|
22
|
+
selection,
|
|
23
|
+
selectionConditions,
|
|
24
|
+
children
|
|
25
|
+
}: PropsWithChildren<DriveSelectionContextValue>): react_jsx_runtime0.JSX.Element;
|
|
26
|
+
//#endregion
|
|
27
|
+
export { DriveSelectionContextValue, DriveSelectionProvider, useDriveSelectionContext };
|
|
28
|
+
//# sourceMappingURL=selection.client.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.client.d.mts","names":[],"sources":["../../src/components/selection.client.tsx"],"mappings":";;;;;;;;;KASY,0BAAA;EACV,SAAA,GAAY,SAAA;EACZ,mBAAA,IAAuB,IAAA,EAAM,SAAA;AAAA;;;;iBAQf,wBAAA,CAAA,GAAwB,0BAAA;;;;iBASxB,sBAAA,CAAA;EACd,SAAA;EACA,mBAAA;EACA;AAAA,GACC,iBAAA,CAAkB,0BAAA,IAA2B,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { createContext, use, useMemo, useState } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/components/selection.client.tsx
|
|
7
|
+
const DriveSelectionContext = createContext(null);
|
|
8
|
+
/**
|
|
9
|
+
* useDriveSelectionContext
|
|
10
|
+
*/
|
|
11
|
+
function useDriveSelectionContext() {
|
|
12
|
+
const context = use(DriveSelectionContext);
|
|
13
|
+
if (!context) throw new Error("DriveSelectionContext not found!");
|
|
14
|
+
return context;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* DriveSelectionProvider
|
|
18
|
+
*/
|
|
19
|
+
function DriveSelectionProvider({ selection, selectionConditions, children }) {
|
|
20
|
+
const [_rowSelection, _setRowSelection] = useState({});
|
|
21
|
+
return /* @__PURE__ */ jsx(DriveSelectionContext, {
|
|
22
|
+
value: useMemo(() => ({
|
|
23
|
+
selection: {
|
|
24
|
+
rowSelection: selection?.rowSelection ?? _rowSelection,
|
|
25
|
+
setRowSelection: selection?.setRowSelection ?? _setRowSelection
|
|
26
|
+
},
|
|
27
|
+
selectionConditions
|
|
28
|
+
}), [
|
|
29
|
+
selection,
|
|
30
|
+
selectionConditions,
|
|
31
|
+
_rowSelection
|
|
32
|
+
]),
|
|
33
|
+
children
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { DriveSelectionProvider, useDriveSelectionContext };
|
|
39
|
+
//# sourceMappingURL=selection.client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.client.mjs","names":[],"sources":["../../src/components/selection.client.tsx"],"sourcesContent":["\"use client\";\n\nimport type { Selection } from \"@tulip-systems/core/data-tables\";\nimport { createContext, type PropsWithChildren, use, useMemo, useState } from \"react\";\nimport type { DriveNode } from \"@/lib/dto\";\n\n/**\n * DriveSelectionContextValue\n */\nexport type DriveSelectionContextValue = {\n selection?: Selection;\n selectionConditions?: (node: DriveNode) => boolean | boolean[];\n};\n\nconst DriveSelectionContext = createContext<DriveSelectionContextValue | null>(null);\n\n/**\n * useDriveSelectionContext\n */\nexport function useDriveSelectionContext() {\n const context = use(DriveSelectionContext);\n if (!context) throw new Error(\"DriveSelectionContext not found!\");\n return context;\n}\n\n/**\n * DriveSelectionProvider\n */\nexport function DriveSelectionProvider({\n selection,\n selectionConditions,\n children,\n}: PropsWithChildren<DriveSelectionContextValue>) {\n const [_rowSelection, _setRowSelection] = useState({});\n\n const value = useMemo(\n () => ({\n selection: {\n rowSelection: selection?.rowSelection ?? _rowSelection,\n setRowSelection: selection?.setRowSelection ?? _setRowSelection,\n },\n selectionConditions: selectionConditions,\n }),\n [selection, selectionConditions, _rowSelection],\n );\n\n return <DriveSelectionContext value={value}>{children}</DriveSelectionContext>;\n}\n"],"mappings":";;;;;;AAcA,MAAM,wBAAwB,cAAiD,KAAK;;;;AAKpF,SAAgB,2BAA2B;CACzC,MAAM,UAAU,IAAI,sBAAsB;AAC1C,KAAI,CAAC,QAAS,OAAM,IAAI,MAAM,mCAAmC;AACjE,QAAO;;;;;AAMT,SAAgB,uBAAuB,EACrC,WACA,qBACA,YACgD;CAChD,MAAM,CAAC,eAAe,oBAAoB,SAAS,EAAE,CAAC;AAatD,QAAO,oBAAC;EAAsB,OAXhB,eACL;GACL,WAAW;IACT,cAAc,WAAW,gBAAgB;IACzC,iBAAiB,WAAW,mBAAmB;IAChD;GACoB;GACtB,GACD;GAAC;GAAW;GAAqB;GAAc,CAChD;EAE4C;GAAiC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { PropsWithChildren } from "react";
|
|
2
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
|
+
|
|
4
|
+
//#region src/components/view.client.d.ts
|
|
5
|
+
type DriveViewMode = "grid" | "list";
|
|
6
|
+
/**
|
|
7
|
+
* DriveViewContextValue
|
|
8
|
+
*/
|
|
9
|
+
type DriveViewContextValue = {
|
|
10
|
+
view: DriveViewMode;
|
|
11
|
+
onViewChange: (view: DriveViewMode) => void;
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* useDriveViewContext
|
|
15
|
+
*/
|
|
16
|
+
declare function useDriveViewContext(): DriveViewContextValue;
|
|
17
|
+
/**
|
|
18
|
+
* DriveViewProvider
|
|
19
|
+
*/
|
|
20
|
+
type DriveViewProviderProps = PropsWithChildren<Partial<DriveViewContextValue>> & {
|
|
21
|
+
initialView?: DriveViewMode;
|
|
22
|
+
};
|
|
23
|
+
declare function DriveViewProvider(props: DriveViewProviderProps): react_jsx_runtime0.JSX.Element;
|
|
24
|
+
//#endregion
|
|
25
|
+
export { DriveViewContextValue, DriveViewMode, DriveViewProvider, DriveViewProviderProps, useDriveViewContext };
|
|
26
|
+
//# sourceMappingURL=view.client.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.client.d.mts","names":[],"sources":["../../src/components/view.client.tsx"],"mappings":";;;;KAKY,aAAA;;;AAAZ;KAKY,qBAAA;EACV,IAAA,EAAM,aAAA;EACN,YAAA,GAAe,IAAA,EAAM,aAAA;AAAA;AAFvB;;;AAAA,iBAUgB,mBAAA,CAAA,GAAmB,qBAAA;;;;KAoBvB,sBAAA,GAAyB,iBAAA,CAAkB,OAAA,CAAQ,qBAAA;EAC7D,WAAA,GAAc,aAAA;AAAA;AAAA,iBAGA,iBAAA,CAAkB,KAAA,EAAO,sBAAA,GAAsB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE } from "../lib/constants.mjs";
|
|
4
|
+
import { createContext, use, useCallback, useState } from "react";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
|
|
7
|
+
//#region src/components/view.client.tsx
|
|
8
|
+
const DriveViewContext = createContext(null);
|
|
9
|
+
/**
|
|
10
|
+
* useDriveViewContext
|
|
11
|
+
*/
|
|
12
|
+
function useDriveViewContext() {
|
|
13
|
+
const context = use(DriveViewContext);
|
|
14
|
+
if (!context) {
|
|
15
|
+
console.warn("DriveViewContext not found!");
|
|
16
|
+
return {
|
|
17
|
+
view: "grid",
|
|
18
|
+
onViewChange: () => {
|
|
19
|
+
throw new Error("DriveViewContext not found!");
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return context;
|
|
24
|
+
}
|
|
25
|
+
function DriveViewProvider(props) {
|
|
26
|
+
const [_view, _setView] = useState(props.view ?? props.initialView ?? "grid");
|
|
27
|
+
const view = props.view ?? _view;
|
|
28
|
+
return /* @__PURE__ */ jsx(DriveViewContext, {
|
|
29
|
+
value: {
|
|
30
|
+
view,
|
|
31
|
+
onViewChange: useCallback((value) => {
|
|
32
|
+
const viewState = typeof value === "function" ? value(view) : value;
|
|
33
|
+
if (props.onViewChange) props.onViewChange(viewState);
|
|
34
|
+
else _setView(viewState);
|
|
35
|
+
document.cookie = `${DRIVE_VIEW_COOKIE}=${viewState}; path=/; max-age=${DRIVE_VIEW_COOKIE_MAX_AGE}`;
|
|
36
|
+
}, [props.onViewChange, view])
|
|
37
|
+
},
|
|
38
|
+
children: props.children
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
//#endregion
|
|
43
|
+
export { DriveViewProvider, useDriveViewContext };
|
|
44
|
+
//# sourceMappingURL=view.client.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.client.mjs","names":[],"sources":["../../src/components/view.client.tsx"],"sourcesContent":["\"use client\";\n\nimport { createContext, type PropsWithChildren, use, useCallback, useState } from \"react\";\nimport { DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE } from \"@/lib/constants\";\n\nexport type DriveViewMode = \"grid\" | \"list\";\n\n/**\n * DriveViewContextValue\n */\nexport type DriveViewContextValue = {\n view: DriveViewMode;\n onViewChange: (view: DriveViewMode) => void;\n};\n\nconst DriveViewContext = createContext<DriveViewContextValue | null>(null);\n\n/**\n * useDriveViewContext\n */\nexport function useDriveViewContext() {\n const context = use(DriveViewContext);\n\n if (!context) {\n console.warn(\"DriveViewContext not found!\");\n return {\n view: \"grid\" as DriveViewMode,\n onViewChange: () => {\n throw new Error(\"DriveViewContext not found!\");\n },\n };\n }\n\n return context;\n}\n\n/**\n * DriveViewProvider\n */\n\nexport type DriveViewProviderProps = PropsWithChildren<Partial<DriveViewContextValue>> & {\n initialView?: DriveViewMode;\n};\n\nexport function DriveViewProvider(props: DriveViewProviderProps) {\n const [_view, _setView] = useState<DriveViewMode>(props.view ?? props.initialView ?? \"grid\");\n const view = props.view ?? _view;\n\n const onViewChange = useCallback(\n (value: DriveViewMode | ((value: DriveViewMode) => DriveViewMode)) => {\n const viewState = typeof value === \"function\" ? value(view) : value;\n\n if (props.onViewChange) {\n props.onViewChange(viewState);\n } else {\n _setView(viewState);\n }\n\n // This sets the cookie to keep the view state.\n // biome-ignore lint/suspicious/noDocumentCookie: This is needed to persist the sidebar state across page reloads.\n document.cookie = `${DRIVE_VIEW_COOKIE}=${viewState}; path=/; max-age=${DRIVE_VIEW_COOKIE_MAX_AGE}`;\n },\n [props.onViewChange, view],\n );\n\n return <DriveViewContext value={{ view, onViewChange }}>{props.children}</DriveViewContext>;\n}\n"],"mappings":";;;;;;;AAeA,MAAM,mBAAmB,cAA4C,KAAK;;;;AAK1E,SAAgB,sBAAsB;CACpC,MAAM,UAAU,IAAI,iBAAiB;AAErC,KAAI,CAAC,SAAS;AACZ,UAAQ,KAAK,8BAA8B;AAC3C,SAAO;GACL,MAAM;GACN,oBAAoB;AAClB,UAAM,IAAI,MAAM,8BAA8B;;GAEjD;;AAGH,QAAO;;AAWT,SAAgB,kBAAkB,OAA+B;CAC/D,MAAM,CAAC,OAAO,YAAY,SAAwB,MAAM,QAAQ,MAAM,eAAe,OAAO;CAC5F,MAAM,OAAO,MAAM,QAAQ;AAmB3B,QAAO,oBAAC;EAAiB,OAAO;GAAE;GAAM,cAjBnB,aAClB,UAAqE;IACpE,MAAM,YAAY,OAAO,UAAU,aAAa,MAAM,KAAK,GAAG;AAE9D,QAAI,MAAM,aACR,OAAM,aAAa,UAAU;QAE7B,UAAS,UAAU;AAKrB,aAAS,SAAS,GAAG,kBAAkB,GAAG,UAAU,oBAAoB;MAE1E,CAAC,MAAM,cAAc,KAAK,CAC3B;GAEqD;YAAG,MAAM;GAA4B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DRIVE_NODE_TYPES } from "../lib/constants.mjs";
|
|
2
|
+
import z$1 from "zod";
|
|
3
|
+
import { createTableFilters, parseFilterArray, parseFilterBoolean } from "@tulip-systems/core/data-tables";
|
|
4
|
+
|
|
5
|
+
//#region src/config/filters.ts
|
|
6
|
+
const driveTreeFilters = createTableFilters({
|
|
7
|
+
types: parseFilterArray(z$1.array(z$1.enum(DRIVE_NODE_TYPES))),
|
|
8
|
+
contentTypes: parseFilterArray(z$1.array(z$1.string())),
|
|
9
|
+
nodeIds: parseFilterArray(z$1.array(z$1.string())),
|
|
10
|
+
isArchived: parseFilterBoolean(z$1.boolean())
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { driveTreeFilters };
|
|
15
|
+
//# sourceMappingURL=filters.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filters.mjs","names":["z"],"sources":["../../src/config/filters.ts"],"sourcesContent":["import {\n createTableFilters,\n parseFilterArray,\n parseFilterBoolean,\n} from \"@tulip-systems/core/data-tables\";\nimport z from \"zod\";\nimport { DRIVE_NODE_TYPES } from \"@/lib/constants\";\n\nexport const driveTreeFilters = createTableFilters({\n types: parseFilterArray(z.array(z.enum(DRIVE_NODE_TYPES))),\n contentTypes: parseFilterArray(z.array(z.string())),\n nodeIds: parseFilterArray(z.array(z.string())),\n isArchived: parseFilterBoolean(z.boolean()),\n});\n"],"mappings":";;;;;AAQA,MAAa,mBAAmB,mBAAmB;CACjD,OAAO,iBAAiBA,IAAE,MAAMA,IAAE,KAAK,iBAAiB,CAAC,CAAC;CAC1D,cAAc,iBAAiBA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CACnD,SAAS,iBAAiBA,IAAE,MAAMA,IAAE,QAAQ,CAAC,CAAC;CAC9C,YAAY,mBAAmBA,IAAE,SAAS,CAAC;CAC5C,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createStatusConfig, createStatusVariants } from "@tulip-systems/core/components";
|
|
2
|
+
import { FileArchiveIcon, FileAudioIcon, FileIcon, FileImageIcon, FileSpreadsheetIcon, FileTextIcon, FileVideoIcon } from "lucide-react";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
|
|
6
|
+
//#region src/config/types.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Node subtype config
|
|
9
|
+
*/
|
|
10
|
+
const nodeSubtypeConfig = createStatusConfig([
|
|
11
|
+
{
|
|
12
|
+
value: "image",
|
|
13
|
+
label: "Afbeelding",
|
|
14
|
+
icon: FileImageIcon,
|
|
15
|
+
className: "stroke-blue-500"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
value: "document",
|
|
19
|
+
label: "Document",
|
|
20
|
+
icon: FileTextIcon,
|
|
21
|
+
className: "stroke-red-600"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
value: "archive",
|
|
25
|
+
label: "Archief",
|
|
26
|
+
icon: FileArchiveIcon,
|
|
27
|
+
className: "stroke-yellow-500"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
value: "audio",
|
|
31
|
+
label: "Audio",
|
|
32
|
+
icon: FileAudioIcon,
|
|
33
|
+
className: "stroke-pink-500"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
value: "video",
|
|
37
|
+
label: "Video",
|
|
38
|
+
icon: FileVideoIcon,
|
|
39
|
+
className: "stroke-purple-500"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
value: "spreadsheet",
|
|
43
|
+
label: "Tabel",
|
|
44
|
+
icon: FileSpreadsheetIcon,
|
|
45
|
+
className: "stroke-green-600"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
value: "other",
|
|
49
|
+
label: "Bestand",
|
|
50
|
+
icon: FileIcon,
|
|
51
|
+
className: "stroke-gray-400"
|
|
52
|
+
}
|
|
53
|
+
]);
|
|
54
|
+
/**
|
|
55
|
+
* Node subtype variants
|
|
56
|
+
*/
|
|
57
|
+
const nodeSubtypeVariants = cva("", { variants: { status: createStatusVariants(nodeSubtypeConfig) } });
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { nodeSubtypeConfig, nodeSubtypeVariants };
|
|
61
|
+
//# sourceMappingURL=types.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.mjs","names":[],"sources":["../../src/config/types.tsx"],"sourcesContent":["import {\n createStatusConfig,\n createStatusVariants,\n StatusBadge,\n StatusField,\n} from \"@tulip-systems/core/components\";\nimport { cva } from \"class-variance-authority\";\nimport {\n FileArchiveIcon,\n FileAudioIcon,\n FileIcon,\n FileImageIcon,\n FileSpreadsheetIcon,\n FileTextIcon,\n FileVideoIcon,\n} from \"lucide-react\";\nimport type { DriveNodeSubtype } from \"@/lib/validators\";\n\n/**\n * Node subtype config\n */\nexport const nodeSubtypeConfig = createStatusConfig<DriveNodeSubtype>([\n {\n value: \"image\",\n label: \"Afbeelding\",\n icon: FileImageIcon,\n className: \"stroke-blue-500\",\n },\n {\n value: \"document\",\n label: \"Document\",\n icon: FileTextIcon,\n className: \"stroke-red-600\",\n },\n {\n value: \"archive\",\n label: \"Archief\",\n icon: FileArchiveIcon,\n className: \"stroke-yellow-500\",\n },\n {\n value: \"audio\",\n label: \"Audio\",\n icon: FileAudioIcon,\n className: \"stroke-pink-500\",\n },\n {\n value: \"video\",\n label: \"Video\",\n icon: FileVideoIcon,\n className: \"stroke-purple-500\",\n },\n {\n value: \"spreadsheet\",\n label: \"Tabel\",\n icon: FileSpreadsheetIcon,\n className: \"stroke-green-600\",\n },\n {\n value: \"other\",\n label: \"Bestand\",\n icon: FileIcon,\n className: \"stroke-gray-400\",\n },\n]);\n\n/**\n * Node subtype variants\n */\nexport const nodeSubtypeVariants = cva(\"\", {\n variants: { status: createStatusVariants(nodeSubtypeConfig) },\n});\n\n/**\n * Node subtype badge\n */\nexport function NodeSubtypeBadge(props: { subtype: DriveNodeSubtype }) {\n return (\n <StatusBadge config={nodeSubtypeConfig} variants={nodeSubtypeVariants} status={props.subtype} />\n );\n}\n\n/**\n * Node subtype field\n */\nexport function NodeSubtypeField(props: { subtype: DriveNodeSubtype }) {\n return (\n <StatusField config={nodeSubtypeConfig} variants={nodeSubtypeVariants} status={props.subtype} />\n );\n}\n"],"mappings":";;;;;;;;;AAqBA,MAAa,oBAAoB,mBAAqC;CACpE;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACD;EACE,OAAO;EACP,OAAO;EACP,MAAM;EACN,WAAW;EACZ;CACF,CAAC;;;;AAKF,MAAa,sBAAsB,IAAI,IAAI,EACzC,UAAU,EAAE,QAAQ,qBAAqB,kBAAkB,EAAE,EAC9D,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GoogleDriveFileUpdateCommand, GoogleDriveFileUpdateCommandProps } from "../providers/google/components/command-file-update.mjs";
|
|
2
|
+
import { GoogleDriveFoldersCreateCommand, GoogleDriveFoldersCreateCommandProps } from "../providers/google/components/command-folder-create.mjs";
|
|
3
|
+
import { GoogleDriveFoldersUpdateCommand, GoogleDriveFoldersUpdateCommandProps } from "../providers/google/components/command-folder-update.mjs";
|
|
4
|
+
import { GoogleDriveContent } from "../providers/google/components/content.client.mjs";
|
|
5
|
+
import { GoogleDriveHeader, GoogleDriveHeaderBreadcrumbs, GoogleDriveHeaderTools, GoogleDriveToolbar, GoogleDriveToolbarBreadcrumbs, GoogleDriveToolbarTools, GoogleDriveViewSwitcher } from "../providers/google/components/navigation.client.mjs";
|
|
6
|
+
import { GoogleDriveContext, GoogleDriveContextValue, GoogleDriveProvider, useGoogleDriveContext } from "../providers/google/components/provider.client.mjs";
|
|
7
|
+
import { GoogleDriveView, GoogleDriveViewLoading, GoogleDriveViewProvider } from "../providers/google/components/view.client.mjs";
|
|
8
|
+
export { GoogleDriveContent, GoogleDriveContext, GoogleDriveContextValue, GoogleDriveFileUpdateCommand, GoogleDriveFileUpdateCommandProps, GoogleDriveFoldersCreateCommand, GoogleDriveFoldersCreateCommandProps, GoogleDriveFoldersUpdateCommand, GoogleDriveFoldersUpdateCommandProps, GoogleDriveHeader, GoogleDriveHeaderBreadcrumbs, GoogleDriveHeaderTools, GoogleDriveProvider, GoogleDriveToolbar, GoogleDriveToolbarBreadcrumbs, GoogleDriveToolbarTools, GoogleDriveView, GoogleDriveViewLoading, GoogleDriveViewProvider, GoogleDriveViewSwitcher, useGoogleDriveContext };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { GoogleDriveFileUpdateCommand } from "../providers/google/components/command-file-update.mjs";
|
|
2
|
+
import { GoogleDriveFoldersCreateCommand } from "../providers/google/components/command-folder-create.mjs";
|
|
3
|
+
import { GoogleDriveFoldersUpdateCommand } from "../providers/google/components/command-folder-update.mjs";
|
|
4
|
+
import { GoogleDriveContent } from "../providers/google/components/content.client.mjs";
|
|
5
|
+
import { GoogleDriveHeader, GoogleDriveHeaderBreadcrumbs, GoogleDriveHeaderTools, GoogleDriveToolbar, GoogleDriveToolbarBreadcrumbs, GoogleDriveToolbarTools, GoogleDriveViewSwitcher } from "../providers/google/components/navigation.client.mjs";
|
|
6
|
+
import { GoogleDriveContext, GoogleDriveProvider, useGoogleDriveContext } from "../providers/google/components/provider.client.mjs";
|
|
7
|
+
import { GoogleDriveView, GoogleDriveViewLoading, GoogleDriveViewProvider } from "../providers/google/components/view.client.mjs";
|
|
8
|
+
|
|
9
|
+
export { GoogleDriveContent, GoogleDriveContext, GoogleDriveFileUpdateCommand, GoogleDriveFoldersCreateCommand, GoogleDriveFoldersUpdateCommand, GoogleDriveHeader, GoogleDriveHeaderBreadcrumbs, GoogleDriveHeaderTools, GoogleDriveProvider, GoogleDriveToolbar, GoogleDriveToolbarBreadcrumbs, GoogleDriveToolbarTools, GoogleDriveView, GoogleDriveViewLoading, GoogleDriveViewProvider, GoogleDriveViewSwitcher, useGoogleDriveContext };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CreateGoogleDriveFolderInput, CreateGoogleDriveFolderSchema, GetGoogleDriveNodesByParentIdInput, GetGoogleDriveNodesByParentIdSchema, GoogleDriveNode, GoogleDriveNodeChild, GoogleDriveNodeWithChildren, GoogleDriveTableFilters, GoogleDriveTableFiltersInput, ListGoogleDriveTreeInput, ListGoogleDriveTreeSchema, UpdateGoogleDriveNodeInput, UpdateGoogleDriveNodeSchema, UploadGoogleDriveFileInput, UploadGoogleDriveFileSchema, createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema } from "./providers/google/lib/validators.mjs";
|
|
2
|
+
import { googleDriveColumns } from "./providers/google/config/columns-data.mjs";
|
|
3
|
+
import { googleDriveTreeFilters } from "./providers/google/config/filters.mjs";
|
|
4
|
+
import { GoogleDriveNodeDTO, GoogleDriveNodeDTOInput } from "./providers/google/lib/dto.mjs";
|
|
5
|
+
import { googleDriveTreeFilterSearchParams } from "./providers/google/lib/search-params.mjs";
|
|
6
|
+
export { CreateGoogleDriveFolderInput, CreateGoogleDriveFolderSchema, GetGoogleDriveNodesByParentIdInput, GetGoogleDriveNodesByParentIdSchema, GoogleDriveNode, GoogleDriveNodeChild, GoogleDriveNodeDTO, GoogleDriveNodeDTOInput, GoogleDriveNodeWithChildren, GoogleDriveTableFilters, GoogleDriveTableFiltersInput, ListGoogleDriveTreeInput, ListGoogleDriveTreeSchema, UpdateGoogleDriveNodeInput, UpdateGoogleDriveNodeSchema, UploadGoogleDriveFileInput, UploadGoogleDriveFileSchema, createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveColumns, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, googleDriveTreeFilterSearchParams, googleDriveTreeFilters, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
|
package/dist/google.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { googleDriveColumns } from "./providers/google/config/columns-data.mjs";
|
|
2
|
+
import { googleDriveTreeFilters } from "./providers/google/config/filters.mjs";
|
|
3
|
+
import { GoogleDriveNodeDTO } from "./providers/google/lib/dto.mjs";
|
|
4
|
+
import { googleDriveTreeFilterSearchParams } from "./providers/google/lib/search-params.mjs";
|
|
5
|
+
import { createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema } from "./providers/google/lib/validators.mjs";
|
|
6
|
+
|
|
7
|
+
export { GoogleDriveNodeDTO, createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveColumns, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, googleDriveTreeFilterSearchParams, googleDriveTreeFilters, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DriveFolderParent, DriveNode, DriveNodeAvailability, DriveNodeBase, DriveNodeChild, DriveNodeLinks, DriveNodeProvider, DriveNodeSubtype, DriveNodeType, DriveNodeWithChildren, driveNodeAvailabilitySchema, driveNodeLinksSchema, driveNodeProviderSchema, driveNodeSchema, driveNodeSubtypeSchema, driveNodeTypeSchema } from "./lib/dto.mjs";
|
|
2
|
+
import { DRIVE_NODE_SUBTYPES, DRIVE_NODE_TYPES, DRIVE_PROVIDERS, DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE } from "./lib/constants.mjs";
|
|
3
|
+
import { CreateDriveFolderInput, CreateDriveFolderSchema, GetDriveNodesByParentIdInput, GetDriveNodesByParentIdSchema, ListDriveTreeInput, ListDriveTreeSchema, NodesTableFilters, PresignDriveFileInput, PresignDriveFileSchema, UpdateDriveNodeInput, UpdateDriveNodeSchema, UploadDriveFileInput, UploadDriveFileSchema, createDriveFolderInputSchema, driveTableFiltersSchema, getNodesByParentIdInputSchema, listDriveTreeInputSchema, presignDriveFileInputSchema, updateDriveNodeInputSchema, uploadDriveFileInputSchema } from "./lib/validators.mjs";
|
|
4
|
+
import { Drive, DriveArchive, DriveDirectUpload, DriveNodeMutations, DrivePresignedUpload, DrivePresignedUploadResult, DrivePreviewGenerator, DriveReader, DriveReadonly } from "./lib/contracts.mjs";
|
|
5
|
+
import { isFile, isFolder, renderBytes } from "./lib/helpers.mjs";
|
|
6
|
+
import { driveTreeSearchParams } from "./lib/search-params.mjs";
|
|
7
|
+
export { CreateDriveFolderInput, CreateDriveFolderSchema, DRIVE_NODE_SUBTYPES, DRIVE_NODE_TYPES, DRIVE_PROVIDERS, DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE, Drive, DriveArchive, DriveDirectUpload, DriveFolderParent, DriveNode, DriveNodeAvailability, DriveNodeBase, DriveNodeChild, DriveNodeLinks, DriveNodeMutations, DriveNodeProvider, DriveNodeSubtype, DriveNodeType, DriveNodeWithChildren, DrivePresignedUpload, DrivePresignedUploadResult, DrivePreviewGenerator, DriveReader, DriveReadonly, GetDriveNodesByParentIdInput, GetDriveNodesByParentIdSchema, ListDriveTreeInput, ListDriveTreeSchema, NodesTableFilters, PresignDriveFileInput, PresignDriveFileSchema, UpdateDriveNodeInput, UpdateDriveNodeSchema, UploadDriveFileInput, UploadDriveFileSchema, createDriveFolderInputSchema, driveNodeAvailabilitySchema, driveNodeLinksSchema, driveNodeProviderSchema, driveNodeSchema, driveNodeSubtypeSchema, driveNodeTypeSchema, driveTableFiltersSchema, driveTreeSearchParams, getNodesByParentIdInputSchema, isFile, isFolder, listDriveTreeInputSchema, presignDriveFileInputSchema, renderBytes, updateDriveNodeInputSchema, uploadDriveFileInputSchema };
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { DRIVE_NODE_SUBTYPES, DRIVE_NODE_TYPES, DRIVE_PROVIDERS, DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE } from "./lib/constants.mjs";
|
|
2
|
+
import { driveNodeAvailabilitySchema, driveNodeLinksSchema, driveNodeProviderSchema, driveNodeSchema, driveNodeSubtypeSchema, driveNodeTypeSchema } from "./lib/dto.mjs";
|
|
3
|
+
import { isFile, isFolder, renderBytes } from "./lib/helpers.mjs";
|
|
4
|
+
import { driveTreeSearchParams } from "./lib/search-params.mjs";
|
|
5
|
+
import { createDriveFolderInputSchema, driveTableFiltersSchema, getNodesByParentIdInputSchema, listDriveTreeInputSchema, presignDriveFileInputSchema, updateDriveNodeInputSchema, uploadDriveFileInputSchema } from "./lib/validators.mjs";
|
|
6
|
+
|
|
7
|
+
export { DRIVE_NODE_SUBTYPES, DRIVE_NODE_TYPES, DRIVE_PROVIDERS, DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE, createDriveFolderInputSchema, driveNodeAvailabilitySchema, driveNodeLinksSchema, driveNodeProviderSchema, driveNodeSchema, driveNodeSubtypeSchema, driveNodeTypeSchema, driveTableFiltersSchema, driveTreeSearchParams, getNodesByParentIdInputSchema, isFile, isFolder, listDriveTreeInputSchema, presignDriveFileInputSchema, renderBytes, updateDriveNodeInputSchema, uploadDriveFileInputSchema };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/lib/constants.d.ts
|
|
2
|
+
declare const DRIVE_PROVIDERS: readonly ["local", "google"];
|
|
3
|
+
declare const DRIVE_NODE_TYPES: readonly ["folder", "file"];
|
|
4
|
+
declare const DRIVE_NODE_SUBTYPES: readonly ["image", "document", "spreadsheet", "video", "audio", "archive", "other"];
|
|
5
|
+
/**
|
|
6
|
+
* The cookie name for storing the drive view mode (grid or list).
|
|
7
|
+
*/
|
|
8
|
+
declare const DRIVE_VIEW_COOKIE: "tulip.drive_view_mode";
|
|
9
|
+
declare const DRIVE_VIEW_COOKIE_MAX_AGE: number;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { DRIVE_NODE_SUBTYPES, DRIVE_NODE_TYPES, DRIVE_PROVIDERS, DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE };
|
|
12
|
+
//# sourceMappingURL=constants.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.mts","names":[],"sources":["../../src/lib/constants.ts"],"mappings":";cAAa,eAAA;AAAA,cAEA,gBAAA;AAAA,cAEA,mBAAA;;;;cAaA,iBAAA;AAAA,cACA,yBAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
//#region src/lib/constants.ts
|
|
2
|
+
const DRIVE_PROVIDERS = ["local", "google"];
|
|
3
|
+
const DRIVE_NODE_TYPES = ["folder", "file"];
|
|
4
|
+
const DRIVE_NODE_SUBTYPES = [
|
|
5
|
+
"image",
|
|
6
|
+
"document",
|
|
7
|
+
"spreadsheet",
|
|
8
|
+
"video",
|
|
9
|
+
"audio",
|
|
10
|
+
"archive",
|
|
11
|
+
"other"
|
|
12
|
+
];
|
|
13
|
+
/**
|
|
14
|
+
* The cookie name for storing the drive view mode (grid or list).
|
|
15
|
+
*/
|
|
16
|
+
const DRIVE_VIEW_COOKIE = "tulip.drive_view_mode";
|
|
17
|
+
const DRIVE_VIEW_COOKIE_MAX_AGE = 3600 * 24 * 7;
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { DRIVE_NODE_SUBTYPES, DRIVE_NODE_TYPES, DRIVE_PROVIDERS, DRIVE_VIEW_COOKIE, DRIVE_VIEW_COOKIE_MAX_AGE };
|
|
21
|
+
//# sourceMappingURL=constants.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.mjs","names":[],"sources":["../../src/lib/constants.ts"],"sourcesContent":["export const DRIVE_PROVIDERS = [\"local\", \"google\"] as const;\n\nexport const DRIVE_NODE_TYPES = [\"folder\", \"file\"] as const;\n\nexport const DRIVE_NODE_SUBTYPES = [\n \"image\",\n \"document\",\n \"spreadsheet\",\n \"video\",\n \"audio\",\n \"archive\",\n \"other\",\n] as const;\n\n/**\n * The cookie name for storing the drive view mode (grid or list).\n */\nexport const DRIVE_VIEW_COOKIE = \"tulip.drive_view_mode\" as const;\nexport const DRIVE_VIEW_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\n"],"mappings":";AAAA,MAAa,kBAAkB,CAAC,SAAS,SAAS;AAElD,MAAa,mBAAmB,CAAC,UAAU,OAAO;AAElD,MAAa,sBAAsB;CACjC;CACA;CACA;CACA;CACA;CACA;CACA;CACD;;;;AAKD,MAAa,oBAAoB;AACjC,MAAa,4BAA4B,OAAU,KAAK"}
|