@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.
Files changed (243) hide show
  1. package/dist/client.d.mts +5 -0
  2. package/dist/client.mjs +6 -0
  3. package/dist/components/content.d.mts +14 -0
  4. package/dist/components/content.d.mts.map +1 -0
  5. package/dist/components/content.mjs +18 -0
  6. package/dist/components/content.mjs.map +1 -0
  7. package/dist/components/context.client.d.mts +14 -0
  8. package/dist/components/context.client.d.mts.map +1 -0
  9. package/dist/components/dnd.client.d.mts +17 -0
  10. package/dist/components/dnd.client.d.mts.map +1 -0
  11. package/dist/components/dnd.client.mjs +30 -0
  12. package/dist/components/dnd.client.mjs.map +1 -0
  13. package/dist/components/grid-card.client.d.mts +43 -0
  14. package/dist/components/grid-card.client.d.mts.map +1 -0
  15. package/dist/components/grid-card.client.mjs +173 -0
  16. package/dist/components/grid-card.client.mjs.map +1 -0
  17. package/dist/components/grid.client.d.mts +54 -0
  18. package/dist/components/grid.client.d.mts.map +1 -0
  19. package/dist/components/grid.client.mjs +54 -0
  20. package/dist/components/grid.client.mjs.map +1 -0
  21. package/dist/components/navigation/breadcrumbs.client.d.mts +26 -0
  22. package/dist/components/navigation/breadcrumbs.client.d.mts.map +1 -0
  23. package/dist/components/navigation/breadcrumbs.client.mjs +52 -0
  24. package/dist/components/navigation/breadcrumbs.client.mjs.map +1 -0
  25. package/dist/components/navigation/header.client.d.mts +28 -0
  26. package/dist/components/navigation/header.client.d.mts.map +1 -0
  27. package/dist/components/navigation/header.client.mjs +41 -0
  28. package/dist/components/navigation/header.client.mjs.map +1 -0
  29. package/dist/components/navigation/toolbar.client.d.mts +24 -0
  30. package/dist/components/navigation/toolbar.client.d.mts.map +1 -0
  31. package/dist/components/navigation/toolbar.client.mjs +35 -0
  32. package/dist/components/navigation/toolbar.client.mjs.map +1 -0
  33. package/dist/components/navigation/view-switcher.client.d.mts +10 -0
  34. package/dist/components/navigation/view-switcher.client.d.mts.map +1 -0
  35. package/dist/components/navigation/view-switcher.client.mjs +36 -0
  36. package/dist/components/navigation/view-switcher.client.mjs.map +1 -0
  37. package/dist/components/selection.client.d.mts +28 -0
  38. package/dist/components/selection.client.d.mts.map +1 -0
  39. package/dist/components/selection.client.mjs +39 -0
  40. package/dist/components/selection.client.mjs.map +1 -0
  41. package/dist/components/view.client.d.mts +26 -0
  42. package/dist/components/view.client.d.mts.map +1 -0
  43. package/dist/components/view.client.mjs +44 -0
  44. package/dist/components/view.client.mjs.map +1 -0
  45. package/dist/config/filters.mjs +15 -0
  46. package/dist/config/filters.mjs.map +1 -0
  47. package/dist/config/types.mjs +61 -0
  48. package/dist/config/types.mjs.map +1 -0
  49. package/dist/google/client.d.mts +8 -0
  50. package/dist/google/client.mjs +9 -0
  51. package/dist/google/server.d.mts +3 -0
  52. package/dist/google/server.mjs +4 -0
  53. package/dist/google.d.mts +6 -0
  54. package/dist/google.mjs +7 -0
  55. package/dist/index.d.mts +7 -0
  56. package/dist/index.mjs +7 -0
  57. package/dist/lib/constants.d.mts +12 -0
  58. package/dist/lib/constants.d.mts.map +1 -0
  59. package/dist/lib/constants.mjs +21 -0
  60. package/dist/lib/constants.mjs.map +1 -0
  61. package/dist/lib/contracts.d.mts +101 -0
  62. package/dist/lib/contracts.d.mts.map +1 -0
  63. package/dist/lib/dto.d.mts +118 -0
  64. package/dist/lib/dto.d.mts.map +1 -0
  65. package/dist/lib/dto.mjs +58 -0
  66. package/dist/lib/dto.mjs.map +1 -0
  67. package/dist/lib/helpers.d.mts +18 -0
  68. package/dist/lib/helpers.d.mts.map +1 -0
  69. package/dist/lib/helpers.mjs +37 -0
  70. package/dist/lib/helpers.mjs.map +1 -0
  71. package/dist/lib/helpers.server.d.mts +14 -0
  72. package/dist/lib/helpers.server.d.mts.map +1 -0
  73. package/dist/lib/helpers.server.mjs +16 -0
  74. package/dist/lib/helpers.server.mjs.map +1 -0
  75. package/dist/lib/search-params.d.mts +9 -0
  76. package/dist/lib/search-params.d.mts.map +1 -0
  77. package/dist/lib/search-params.mjs +8 -0
  78. package/dist/lib/search-params.mjs.map +1 -0
  79. package/dist/lib/validators.d.mts +158 -0
  80. package/dist/lib/validators.d.mts.map +1 -0
  81. package/dist/lib/validators.mjs +66 -0
  82. package/dist/lib/validators.mjs.map +1 -0
  83. package/dist/local/client.d.mts +13 -0
  84. package/dist/local/client.mjs +13 -0
  85. package/dist/local/server.d.mts +4 -0
  86. package/dist/local/server.mjs +5 -0
  87. package/dist/local.d.mts +8 -0
  88. package/dist/local.mjs +9 -0
  89. package/dist/providers/google/components/command-file-update.d.mts +22 -0
  90. package/dist/providers/google/components/command-file-update.d.mts.map +1 -0
  91. package/dist/providers/google/components/command-file-update.mjs +52 -0
  92. package/dist/providers/google/components/command-file-update.mjs.map +1 -0
  93. package/dist/providers/google/components/command-folder-create.d.mts +22 -0
  94. package/dist/providers/google/components/command-folder-create.d.mts.map +1 -0
  95. package/dist/providers/google/components/command-folder-create.mjs +59 -0
  96. package/dist/providers/google/components/command-folder-create.mjs.map +1 -0
  97. package/dist/providers/google/components/command-folder-update.d.mts +22 -0
  98. package/dist/providers/google/components/command-folder-update.d.mts.map +1 -0
  99. package/dist/providers/google/components/command-folder-update.mjs +52 -0
  100. package/dist/providers/google/components/command-folder-update.mjs.map +1 -0
  101. package/dist/providers/google/components/content.client.d.mts +10 -0
  102. package/dist/providers/google/components/content.client.d.mts.map +1 -0
  103. package/dist/providers/google/components/content.client.mjs +11 -0
  104. package/dist/providers/google/components/content.client.mjs.map +1 -0
  105. package/dist/providers/google/components/navigation.client.d.mts +16 -0
  106. package/dist/providers/google/components/navigation.client.d.mts.map +1 -0
  107. package/dist/providers/google/components/navigation.client.mjs +18 -0
  108. package/dist/providers/google/components/navigation.client.mjs.map +1 -0
  109. package/dist/providers/google/components/provider.client.d.mts +33 -0
  110. package/dist/providers/google/components/provider.client.d.mts.map +1 -0
  111. package/dist/providers/google/components/provider.client.mjs +43 -0
  112. package/dist/providers/google/components/provider.client.mjs.map +1 -0
  113. package/dist/providers/google/components/view.client.d.mts +41 -0
  114. package/dist/providers/google/components/view.client.d.mts.map +1 -0
  115. package/dist/providers/google/components/view.client.mjs +98 -0
  116. package/dist/providers/google/components/view.client.mjs.map +1 -0
  117. package/dist/providers/google/config/columns-data.d.mts +8 -0
  118. package/dist/providers/google/config/columns-data.d.mts.map +1 -0
  119. package/dist/providers/google/config/columns-data.mjs +70 -0
  120. package/dist/providers/google/config/columns-data.mjs.map +1 -0
  121. package/dist/providers/google/config/filters.d.mts +16 -0
  122. package/dist/providers/google/config/filters.d.mts.map +1 -0
  123. package/dist/providers/google/config/filters.mjs +8 -0
  124. package/dist/providers/google/config/filters.mjs.map +1 -0
  125. package/dist/providers/google/lib/constants.mjs +13 -0
  126. package/dist/providers/google/lib/constants.mjs.map +1 -0
  127. package/dist/providers/google/lib/dto.d.mts +39 -0
  128. package/dist/providers/google/lib/dto.d.mts.map +1 -0
  129. package/dist/providers/google/lib/dto.mjs +66 -0
  130. package/dist/providers/google/lib/dto.mjs.map +1 -0
  131. package/dist/providers/google/lib/helpers.mjs +46 -0
  132. package/dist/providers/google/lib/helpers.mjs.map +1 -0
  133. package/dist/providers/google/lib/router.server.d.mts +612 -0
  134. package/dist/providers/google/lib/router.server.d.mts.map +1 -0
  135. package/dist/providers/google/lib/router.server.mjs +40 -0
  136. package/dist/providers/google/lib/router.server.mjs.map +1 -0
  137. package/dist/providers/google/lib/search-params.d.mts +15 -0
  138. package/dist/providers/google/lib/search-params.d.mts.map +1 -0
  139. package/dist/providers/google/lib/search-params.mjs +12 -0
  140. package/dist/providers/google/lib/search-params.mjs.map +1 -0
  141. package/dist/providers/google/lib/service.server.d.mts +186 -0
  142. package/dist/providers/google/lib/service.server.d.mts.map +1 -0
  143. package/dist/providers/google/lib/service.server.mjs +613 -0
  144. package/dist/providers/google/lib/service.server.mjs.map +1 -0
  145. package/dist/providers/google/lib/validators.d.mts +303 -0
  146. package/dist/providers/google/lib/validators.d.mts.map +1 -0
  147. package/dist/providers/google/lib/validators.mjs +59 -0
  148. package/dist/providers/google/lib/validators.mjs.map +1 -0
  149. package/dist/providers/local/components/command-file-update.d.mts +18 -0
  150. package/dist/providers/local/components/command-file-update.d.mts.map +1 -0
  151. package/dist/providers/local/components/command-file-update.mjs +48 -0
  152. package/dist/providers/local/components/command-file-update.mjs.map +1 -0
  153. package/dist/providers/local/components/command-file-upload.d.mts +11 -0
  154. package/dist/providers/local/components/command-file-upload.d.mts.map +1 -0
  155. package/dist/providers/local/components/command-file-upload.mjs +35 -0
  156. package/dist/providers/local/components/command-file-upload.mjs.map +1 -0
  157. package/dist/providers/local/components/command-folder-create.d.mts +18 -0
  158. package/dist/providers/local/components/command-folder-create.d.mts.map +1 -0
  159. package/dist/providers/local/components/command-folder-create.mjs +55 -0
  160. package/dist/providers/local/components/command-folder-create.mjs.map +1 -0
  161. package/dist/providers/local/components/command-folder-update.d.mts +18 -0
  162. package/dist/providers/local/components/command-folder-update.d.mts.map +1 -0
  163. package/dist/providers/local/components/command-folder-update.mjs +48 -0
  164. package/dist/providers/local/components/command-folder-update.mjs.map +1 -0
  165. package/dist/providers/local/components/content.client.d.mts +7 -0
  166. package/dist/providers/local/components/content.client.d.mts.map +1 -0
  167. package/dist/providers/local/components/content.client.mjs +8 -0
  168. package/dist/providers/local/components/content.client.mjs.map +1 -0
  169. package/dist/providers/local/components/navigation.client.d.mts +16 -0
  170. package/dist/providers/local/components/navigation.client.d.mts.map +1 -0
  171. package/dist/providers/local/components/navigation.client.mjs +18 -0
  172. package/dist/providers/local/components/navigation.client.mjs.map +1 -0
  173. package/dist/providers/local/components/provider.client.d.mts +40 -0
  174. package/dist/providers/local/components/provider.client.d.mts.map +1 -0
  175. package/dist/providers/local/components/provider.client.mjs +61 -0
  176. package/dist/providers/local/components/provider.client.mjs.map +1 -0
  177. package/dist/providers/local/components/upload-zone-context.client.d.mts +38 -0
  178. package/dist/providers/local/components/upload-zone-context.client.d.mts.map +1 -0
  179. package/dist/providers/local/components/upload-zone-context.client.mjs +23 -0
  180. package/dist/providers/local/components/upload-zone-context.client.mjs.map +1 -0
  181. package/dist/providers/local/components/upload-zone.client.d.mts +30 -0
  182. package/dist/providers/local/components/upload-zone.client.d.mts.map +1 -0
  183. package/dist/providers/local/components/upload-zone.client.mjs +147 -0
  184. package/dist/providers/local/components/upload-zone.client.mjs.map +1 -0
  185. package/dist/providers/local/components/view.client.d.mts +32 -0
  186. package/dist/providers/local/components/view.client.d.mts.map +1 -0
  187. package/dist/providers/local/components/view.client.mjs +91 -0
  188. package/dist/providers/local/components/view.client.mjs.map +1 -0
  189. package/dist/providers/local/config/columns-data.d.mts +8 -0
  190. package/dist/providers/local/config/columns-data.d.mts.map +1 -0
  191. package/dist/providers/local/config/columns-data.mjs +70 -0
  192. package/dist/providers/local/config/columns-data.mjs.map +1 -0
  193. package/dist/providers/local/config/filters.d.mts +26 -0
  194. package/dist/providers/local/config/filters.d.mts.map +1 -0
  195. package/dist/providers/local/config/filters.mjs +15 -0
  196. package/dist/providers/local/config/filters.mjs.map +1 -0
  197. package/dist/providers/local/lib/constants.d.mts +12 -0
  198. package/dist/providers/local/lib/constants.d.mts.map +1 -0
  199. package/dist/providers/local/lib/constants.mjs +29 -0
  200. package/dist/providers/local/lib/constants.mjs.map +1 -0
  201. package/dist/providers/local/lib/helpers.d.mts +45 -0
  202. package/dist/providers/local/lib/helpers.d.mts.map +1 -0
  203. package/dist/providers/local/lib/helpers.mjs +110 -0
  204. package/dist/providers/local/lib/helpers.mjs.map +1 -0
  205. package/dist/providers/local/lib/route-handler.server.d.mts +34 -0
  206. package/dist/providers/local/lib/route-handler.server.d.mts.map +1 -0
  207. package/dist/providers/local/lib/route-handler.server.mjs +114 -0
  208. package/dist/providers/local/lib/route-handler.server.mjs.map +1 -0
  209. package/dist/providers/local/lib/router.server.d.mts +41648 -0
  210. package/dist/providers/local/lib/router.server.d.mts.map +1 -0
  211. package/dist/providers/local/lib/router.server.mjs +52 -0
  212. package/dist/providers/local/lib/router.server.mjs.map +1 -0
  213. package/dist/providers/local/lib/schema.d.mts +1113 -0
  214. package/dist/providers/local/lib/schema.d.mts.map +1 -0
  215. package/dist/providers/local/lib/schema.mjs +71 -0
  216. package/dist/providers/local/lib/schema.mjs.map +1 -0
  217. package/dist/providers/local/lib/search-params.d.mts +14 -0
  218. package/dist/providers/local/lib/search-params.d.mts.map +1 -0
  219. package/dist/providers/local/lib/search-params.mjs +9 -0
  220. package/dist/providers/local/lib/search-params.mjs.map +1 -0
  221. package/dist/providers/local/lib/service.server.d.mts +489 -0
  222. package/dist/providers/local/lib/service.server.d.mts.map +1 -0
  223. package/dist/providers/local/lib/service.server.mjs +668 -0
  224. package/dist/providers/local/lib/service.server.mjs.map +1 -0
  225. package/dist/providers/local/lib/upload.client.d.mts +62 -0
  226. package/dist/providers/local/lib/upload.client.d.mts.map +1 -0
  227. package/dist/providers/local/lib/upload.client.mjs +100 -0
  228. package/dist/providers/local/lib/upload.client.mjs.map +1 -0
  229. package/dist/providers/local/lib/validators.d.mts +454 -0
  230. package/dist/providers/local/lib/validators.d.mts.map +1 -0
  231. package/dist/providers/local/lib/validators.mjs +96 -0
  232. package/dist/providers/local/lib/validators.mjs.map +1 -0
  233. package/dist/server.d.mts +2 -0
  234. package/dist/server.mjs +3 -0
  235. package/package.json +3 -2
  236. package/src/components/grid-card.client.tsx +4 -1
  237. package/src/providers/google/components/view.client.tsx +9 -1
  238. package/src/providers/google/lib/helpers.ts +9 -0
  239. package/src/providers/local/components/provider.client.tsx +2 -1
  240. package/src/providers/local/components/upload-zone-context.client.tsx +1 -0
  241. package/src/providers/local/components/upload-zone.client.tsx +14 -1
  242. package/src/providers/local/components/view.client.tsx +10 -2
  243. 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,3 @@
1
+ import { GoogleDrive, GoogleDriveConfig } from "../providers/google/lib/service.server.mjs";
2
+ import { createGoogleDriveProcedures } from "../providers/google/lib/router.server.mjs";
3
+ export { GoogleDrive, GoogleDriveConfig, createGoogleDriveProcedures };
@@ -0,0 +1,4 @@
1
+ import { createGoogleDriveProcedures } from "../providers/google/lib/router.server.mjs";
2
+ import { GoogleDrive } from "../providers/google/lib/service.server.mjs";
3
+
4
+ export { GoogleDrive, createGoogleDriveProcedures };
@@ -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 };
@@ -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 };
@@ -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"}