@tulip-systems/drive 0.8.1 → 0.8.3

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 (141) hide show
  1. package/dist/client.d.mts +5 -0
  2. package/dist/client.mjs +6 -0
  3. package/dist/components/content.d.mts +13 -0
  4. package/dist/components/content.mjs +17 -0
  5. package/dist/components/context.client.d.mts +13 -0
  6. package/dist/components/dnd.client.d.mts +16 -0
  7. package/dist/components/dnd.client.mjs +29 -0
  8. package/dist/components/grid-card.client.d.mts +46 -0
  9. package/dist/components/grid-card.client.mjs +173 -0
  10. package/dist/components/grid.client.d.mts +53 -0
  11. package/dist/components/grid.client.mjs +53 -0
  12. package/dist/components/navigation/breadcrumbs.client.d.mts +25 -0
  13. package/dist/components/navigation/breadcrumbs.client.mjs +51 -0
  14. package/dist/components/navigation/header.client.d.mts +27 -0
  15. package/dist/components/navigation/header.client.mjs +40 -0
  16. package/dist/components/navigation/toolbar.client.d.mts +23 -0
  17. package/dist/components/navigation/toolbar.client.mjs +34 -0
  18. package/dist/components/navigation/view-switcher.client.d.mts +9 -0
  19. package/dist/components/navigation/view-switcher.client.mjs +35 -0
  20. package/dist/components/selection.client.d.mts +27 -0
  21. package/dist/components/selection.client.mjs +36 -0
  22. package/dist/components/view.client.d.mts +25 -0
  23. package/dist/components/view.client.mjs +43 -0
  24. package/dist/config/filters.mjs +14 -0
  25. package/dist/config/types.mjs +60 -0
  26. package/dist/google/client.d.mts +8 -0
  27. package/dist/google/client.mjs +9 -0
  28. package/dist/google/server.d.mts +3 -0
  29. package/dist/google/server.mjs +4 -0
  30. package/dist/google.d.mts +6 -0
  31. package/dist/google.mjs +7 -0
  32. package/dist/index.d.mts +7 -0
  33. package/dist/index.mjs +7 -0
  34. package/dist/lib/constants.d.mts +11 -0
  35. package/dist/lib/constants.mjs +20 -0
  36. package/dist/lib/contracts.d.mts +100 -0
  37. package/dist/lib/dto.d.mts +117 -0
  38. package/dist/lib/dto.mjs +57 -0
  39. package/dist/lib/helpers.d.mts +17 -0
  40. package/dist/lib/helpers.mjs +36 -0
  41. package/dist/lib/helpers.server.d.mts +13 -0
  42. package/dist/lib/helpers.server.mjs +15 -0
  43. package/dist/lib/search-params.d.mts +8 -0
  44. package/dist/lib/search-params.mjs +7 -0
  45. package/dist/lib/validators.d.mts +157 -0
  46. package/dist/lib/validators.mjs +65 -0
  47. package/dist/local/client.d.mts +13 -0
  48. package/dist/local/client.mjs +13 -0
  49. package/dist/local/server.d.mts +4 -0
  50. package/dist/local/server.mjs +5 -0
  51. package/dist/local.d.mts +8 -0
  52. package/dist/local.mjs +9 -0
  53. package/dist/providers/google/components/command-file-update.d.mts +21 -0
  54. package/dist/providers/google/components/command-file-update.mjs +51 -0
  55. package/dist/providers/google/components/command-folder-create.d.mts +21 -0
  56. package/dist/providers/google/components/command-folder-create.mjs +58 -0
  57. package/dist/providers/google/components/command-folder-update.d.mts +21 -0
  58. package/dist/providers/google/components/command-folder-update.mjs +51 -0
  59. package/dist/providers/google/components/content.client.d.mts +9 -0
  60. package/dist/providers/google/components/content.client.mjs +10 -0
  61. package/dist/providers/google/components/navigation.client.d.mts +15 -0
  62. package/dist/providers/google/components/navigation.client.mjs +17 -0
  63. package/dist/providers/google/components/provider.client.d.mts +32 -0
  64. package/dist/providers/google/components/provider.client.mjs +42 -0
  65. package/dist/providers/google/components/view.client.d.mts +40 -0
  66. package/dist/providers/google/components/view.client.mjs +96 -0
  67. package/dist/providers/google/config/columns-data.d.mts +7 -0
  68. package/dist/providers/google/config/columns-data.mjs +69 -0
  69. package/dist/providers/google/config/filters.d.mts +15 -0
  70. package/dist/providers/google/config/filters.mjs +7 -0
  71. package/dist/providers/google/lib/constants.mjs +12 -0
  72. package/dist/providers/google/lib/dto.d.mts +38 -0
  73. package/dist/providers/google/lib/dto.mjs +65 -0
  74. package/dist/providers/google/lib/helpers.mjs +38 -0
  75. package/dist/providers/google/lib/router.server.d.mts +611 -0
  76. package/dist/providers/google/lib/router.server.mjs +39 -0
  77. package/dist/providers/google/lib/search-params.d.mts +14 -0
  78. package/dist/providers/google/lib/search-params.mjs +11 -0
  79. package/dist/providers/google/lib/service.server.d.mts +185 -0
  80. package/dist/providers/google/lib/service.server.mjs +610 -0
  81. package/dist/providers/google/lib/validators.d.mts +302 -0
  82. package/dist/providers/google/lib/validators.mjs +58 -0
  83. package/dist/providers/local/components/command-file-update.d.mts +17 -0
  84. package/dist/providers/local/components/command-file-update.mjs +47 -0
  85. package/dist/providers/local/components/command-file-upload.d.mts +10 -0
  86. package/dist/providers/local/components/command-file-upload.mjs +34 -0
  87. package/dist/providers/local/components/command-folder-create.d.mts +17 -0
  88. package/dist/providers/local/components/command-folder-create.mjs +54 -0
  89. package/dist/providers/local/components/command-folder-update.d.mts +17 -0
  90. package/dist/providers/local/components/command-folder-update.mjs +47 -0
  91. package/dist/providers/local/components/content.client.d.mts +6 -0
  92. package/dist/providers/local/components/content.client.mjs +7 -0
  93. package/dist/providers/local/components/navigation.client.d.mts +15 -0
  94. package/dist/providers/local/components/navigation.client.mjs +17 -0
  95. package/dist/providers/local/components/provider.client.d.mts +39 -0
  96. package/dist/providers/local/components/provider.client.mjs +60 -0
  97. package/dist/providers/local/components/upload-zone-context.client.d.mts +37 -0
  98. package/dist/providers/local/components/upload-zone-context.client.mjs +22 -0
  99. package/dist/providers/local/components/upload-zone.client.d.mts +29 -0
  100. package/dist/providers/local/components/upload-zone.client.mjs +146 -0
  101. package/dist/providers/local/components/view.client.d.mts +31 -0
  102. package/dist/providers/local/components/view.client.mjs +90 -0
  103. package/dist/providers/local/config/columns-data.d.mts +7 -0
  104. package/dist/providers/local/config/columns-data.mjs +69 -0
  105. package/dist/providers/local/config/filters.d.mts +25 -0
  106. package/dist/providers/local/config/filters.mjs +14 -0
  107. package/dist/providers/local/lib/constants.d.mts +11 -0
  108. package/dist/providers/local/lib/constants.mjs +28 -0
  109. package/dist/providers/local/lib/helpers.d.mts +44 -0
  110. package/dist/providers/local/lib/helpers.mjs +109 -0
  111. package/dist/providers/local/lib/route-handler.server.d.mts +33 -0
  112. package/dist/providers/local/lib/route-handler.server.mjs +113 -0
  113. package/dist/providers/local/lib/router.server.d.mts +41647 -0
  114. package/dist/providers/local/lib/router.server.mjs +51 -0
  115. package/dist/providers/local/lib/schema.d.mts +1112 -0
  116. package/dist/providers/local/lib/schema.mjs +70 -0
  117. package/dist/providers/local/lib/search-params.d.mts +13 -0
  118. package/dist/providers/local/lib/search-params.mjs +8 -0
  119. package/dist/providers/local/lib/service.server.d.mts +488 -0
  120. package/dist/providers/local/lib/service.server.mjs +667 -0
  121. package/dist/providers/local/lib/upload.client.d.mts +61 -0
  122. package/dist/providers/local/lib/upload.client.mjs +99 -0
  123. package/dist/providers/local/lib/validators.d.mts +453 -0
  124. package/dist/providers/local/lib/validators.mjs +95 -0
  125. package/dist/server.d.mts +2 -0
  126. package/dist/server.mjs +3 -0
  127. package/package.json +45 -46
  128. package/src/components/grid-card.client.tsx +17 -12
  129. package/src/components/selection.client.tsx +1 -2
  130. package/src/config/types.tsx +1 -1
  131. package/src/providers/google/components/command-file-update.tsx +2 -2
  132. package/src/providers/google/components/command-folder-create.tsx +2 -2
  133. package/src/providers/google/components/command-folder-update.tsx +2 -2
  134. package/src/providers/google/components/view.client.tsx +1 -7
  135. package/src/providers/google/lib/helpers.ts +0 -9
  136. package/src/providers/google/lib/service.server.ts +1 -3
  137. package/src/providers/local/components/command-file-update.tsx +2 -2
  138. package/src/providers/local/components/command-folder-create.tsx +2 -2
  139. package/src/providers/local/components/command-folder-update.tsx +2 -2
  140. package/src/providers/local/components/upload-zone.client.tsx +1 -1
  141. package/src/providers/local/lib/helpers.ts +0 -1
@@ -0,0 +1,302 @@
1
+ import { DriveNodeChild } from "../../../lib/dto.mjs";
2
+ import z$1 from "zod";
3
+
4
+ //#region src/providers/google/lib/validators.d.ts
5
+ /**
6
+ * GoogleDriveNode schema
7
+ * @description zod schema for validating the shape of a GoogleDriveNode
8
+ */
9
+ declare const googleDriveNodeSchema: z$1.ZodObject<{
10
+ id: z$1.ZodString;
11
+ createdAt: z$1.ZodDate;
12
+ updatedAt: z$1.ZodDate;
13
+ name: z$1.ZodString;
14
+ namespace: z$1.ZodString;
15
+ type: z$1.ZodEnum<{
16
+ file: "file";
17
+ folder: "folder";
18
+ }>;
19
+ subtype: z$1.ZodEnum<{
20
+ image: "image";
21
+ document: "document";
22
+ spreadsheet: "spreadsheet";
23
+ video: "video";
24
+ audio: "audio";
25
+ archive: "archive";
26
+ other: "other";
27
+ }>;
28
+ size: z$1.ZodNullable<z$1.ZodNumber>;
29
+ contentType: z$1.ZodNullable<z$1.ZodString>;
30
+ readonly: z$1.ZodBoolean;
31
+ hidden: z$1.ZodBoolean;
32
+ archivedAt: z$1.ZodNullable<z$1.ZodDate>;
33
+ parentId: z$1.ZodNullable<z$1.ZodString>;
34
+ links: z$1.ZodObject<{
35
+ view: z$1.ZodNullable<z$1.ZodString>;
36
+ download: z$1.ZodNullable<z$1.ZodString>;
37
+ preview: z$1.ZodNullable<z$1.ZodString>;
38
+ thumbnail: z$1.ZodNullable<z$1.ZodString>;
39
+ }, z$1.core.$strip>;
40
+ availability: z$1.ZodEnum<{
41
+ ready: "ready";
42
+ pending: "pending";
43
+ failed: "failed";
44
+ }>;
45
+ provider: z$1.ZodLiteral<"google">;
46
+ googleDriveId: z$1.ZodNullable<z$1.ZodString>;
47
+ mimeType: z$1.ZodNullable<z$1.ZodString>;
48
+ webViewLink: z$1.ZodNullable<z$1.ZodString>;
49
+ webContentLink: z$1.ZodNullable<z$1.ZodString>;
50
+ thumbnailLink: z$1.ZodNullable<z$1.ZodString>;
51
+ trashed: z$1.ZodBoolean;
52
+ trashedAt: z$1.ZodNullable<z$1.ZodDate>;
53
+ googleParents: z$1.ZodArray<z$1.ZodString>;
54
+ canEdit: z$1.ZodNullable<z$1.ZodBoolean>;
55
+ }, z$1.core.$strip>;
56
+ type GoogleDriveNode = z$1.infer<typeof googleDriveNodeSchema>;
57
+ type GoogleDriveNodeChild = DriveNodeChild<GoogleDriveNode>;
58
+ /**
59
+ * GoogleDriveNodeWithChildren schema
60
+ * @description zod schema for validating the shape of a GoogleDriveNode with children
61
+ */
62
+ declare const googleDriveNodeWithChildrenSchema: z$1.ZodObject<{
63
+ id: z$1.ZodString;
64
+ createdAt: z$1.ZodDate;
65
+ updatedAt: z$1.ZodDate;
66
+ name: z$1.ZodString;
67
+ namespace: z$1.ZodString;
68
+ type: z$1.ZodEnum<{
69
+ file: "file";
70
+ folder: "folder";
71
+ }>;
72
+ subtype: z$1.ZodEnum<{
73
+ image: "image";
74
+ document: "document";
75
+ spreadsheet: "spreadsheet";
76
+ video: "video";
77
+ audio: "audio";
78
+ archive: "archive";
79
+ other: "other";
80
+ }>;
81
+ size: z$1.ZodNullable<z$1.ZodNumber>;
82
+ contentType: z$1.ZodNullable<z$1.ZodString>;
83
+ readonly: z$1.ZodBoolean;
84
+ hidden: z$1.ZodBoolean;
85
+ archivedAt: z$1.ZodNullable<z$1.ZodDate>;
86
+ parentId: z$1.ZodNullable<z$1.ZodString>;
87
+ links: z$1.ZodObject<{
88
+ view: z$1.ZodNullable<z$1.ZodString>;
89
+ download: z$1.ZodNullable<z$1.ZodString>;
90
+ preview: z$1.ZodNullable<z$1.ZodString>;
91
+ thumbnail: z$1.ZodNullable<z$1.ZodString>;
92
+ }, z$1.core.$strip>;
93
+ availability: z$1.ZodEnum<{
94
+ ready: "ready";
95
+ pending: "pending";
96
+ failed: "failed";
97
+ }>;
98
+ provider: z$1.ZodLiteral<"google">;
99
+ googleDriveId: z$1.ZodNullable<z$1.ZodString>;
100
+ mimeType: z$1.ZodNullable<z$1.ZodString>;
101
+ webViewLink: z$1.ZodNullable<z$1.ZodString>;
102
+ webContentLink: z$1.ZodNullable<z$1.ZodString>;
103
+ thumbnailLink: z$1.ZodNullable<z$1.ZodString>;
104
+ trashed: z$1.ZodBoolean;
105
+ trashedAt: z$1.ZodNullable<z$1.ZodDate>;
106
+ googleParents: z$1.ZodArray<z$1.ZodString>;
107
+ canEdit: z$1.ZodNullable<z$1.ZodBoolean>;
108
+ children: z$1.ZodArray<z$1.ZodObject<{
109
+ id: z$1.ZodString;
110
+ createdAt: z$1.ZodDate;
111
+ updatedAt: z$1.ZodDate;
112
+ name: z$1.ZodString;
113
+ namespace: z$1.ZodString;
114
+ type: z$1.ZodEnum<{
115
+ file: "file";
116
+ folder: "folder";
117
+ }>;
118
+ subtype: z$1.ZodEnum<{
119
+ image: "image";
120
+ document: "document";
121
+ spreadsheet: "spreadsheet";
122
+ video: "video";
123
+ audio: "audio";
124
+ archive: "archive";
125
+ other: "other";
126
+ }>;
127
+ size: z$1.ZodNullable<z$1.ZodNumber>;
128
+ contentType: z$1.ZodNullable<z$1.ZodString>;
129
+ readonly: z$1.ZodBoolean;
130
+ hidden: z$1.ZodBoolean;
131
+ archivedAt: z$1.ZodNullable<z$1.ZodDate>;
132
+ parentId: z$1.ZodNullable<z$1.ZodString>;
133
+ links: z$1.ZodObject<{
134
+ view: z$1.ZodNullable<z$1.ZodString>;
135
+ download: z$1.ZodNullable<z$1.ZodString>;
136
+ preview: z$1.ZodNullable<z$1.ZodString>;
137
+ thumbnail: z$1.ZodNullable<z$1.ZodString>;
138
+ }, z$1.core.$strip>;
139
+ availability: z$1.ZodEnum<{
140
+ ready: "ready";
141
+ pending: "pending";
142
+ failed: "failed";
143
+ }>;
144
+ provider: z$1.ZodLiteral<"google">;
145
+ googleDriveId: z$1.ZodNullable<z$1.ZodString>;
146
+ mimeType: z$1.ZodNullable<z$1.ZodString>;
147
+ webViewLink: z$1.ZodNullable<z$1.ZodString>;
148
+ webContentLink: z$1.ZodNullable<z$1.ZodString>;
149
+ thumbnailLink: z$1.ZodNullable<z$1.ZodString>;
150
+ trashed: z$1.ZodBoolean;
151
+ trashedAt: z$1.ZodNullable<z$1.ZodDate>;
152
+ googleParents: z$1.ZodArray<z$1.ZodString>;
153
+ canEdit: z$1.ZodNullable<z$1.ZodBoolean>;
154
+ }, z$1.core.$strip>>;
155
+ }, z$1.core.$strip>;
156
+ type GoogleDriveNodeWithChildren = z$1.infer<typeof googleDriveNodeWithChildrenSchema>;
157
+ /**
158
+ * Create drive folder input schema
159
+ * @description zod schema for validating the input of the create drive folder command
160
+ */
161
+ declare const createGoogleDriveFolderInputSchema: z$1.ZodObject<{
162
+ name: z$1.ZodString;
163
+ namespace: z$1.ZodString;
164
+ parentId: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
165
+ }, z$1.core.$strip>;
166
+ type CreateGoogleDriveFolderInput = z$1.input<typeof createGoogleDriveFolderInputSchema>;
167
+ type CreateGoogleDriveFolderSchema = z$1.infer<typeof createGoogleDriveFolderInputSchema>;
168
+ /**
169
+ * Update drive node input schema
170
+ * @description zod schema for validating the input of the update drive node command
171
+ */
172
+ declare const updateGoogleDriveNodeInputSchema: z$1.ZodObject<{
173
+ name: z$1.ZodOptional<z$1.ZodString>;
174
+ isArchived: z$1.ZodOptional<z$1.ZodBoolean>;
175
+ }, z$1.core.$strip>;
176
+ type UpdateGoogleDriveNodeInput = z$1.input<typeof updateGoogleDriveNodeInputSchema>;
177
+ type UpdateGoogleDriveNodeSchema = z$1.infer<typeof updateGoogleDriveNodeInputSchema>;
178
+ /**
179
+ * Upload drive file input schema
180
+ * @description zod schema for validating the input of the upload drive file command
181
+ */
182
+ declare const uploadGoogleDriveFileInputSchema: z$1.ZodObject<{
183
+ name: z$1.ZodString;
184
+ namespace: z$1.ZodString;
185
+ parentId: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
186
+ contentType: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
187
+ size: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodNumber>>;
188
+ }, z$1.core.$strip>;
189
+ type UploadGoogleDriveFileInput = z$1.input<typeof uploadGoogleDriveFileInputSchema>;
190
+ type UploadGoogleDriveFileSchema = z$1.infer<typeof uploadGoogleDriveFileInputSchema>;
191
+ /**
192
+ * Filters
193
+ */
194
+ declare const googleDriveTableFiltersSchema: z$1.ZodPipe<z$1.ZodObject<{
195
+ types: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodEnum<{
196
+ file: "file";
197
+ folder: "folder";
198
+ }>>>>;
199
+ contentTypes: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
200
+ nodeIds: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
201
+ isArchived: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodBoolean>>;
202
+ namespace: z$1.ZodString;
203
+ parentId: z$1.ZodNullable<z$1.ZodString>;
204
+ }, z$1.core.$strip>, z$1.ZodTransform<{
205
+ isArchived: boolean;
206
+ namespace: string;
207
+ parentId: string | null;
208
+ types?: ("file" | "folder")[] | null | undefined;
209
+ contentTypes?: string[] | null | undefined;
210
+ nodeIds?: string[] | null | undefined;
211
+ }, {
212
+ namespace: string;
213
+ parentId: string | null;
214
+ types?: ("file" | "folder")[] | null | undefined;
215
+ contentTypes?: string[] | null | undefined;
216
+ nodeIds?: string[] | null | undefined;
217
+ isArchived?: boolean | null | undefined;
218
+ }>>;
219
+ type GoogleDriveTableFilters = z$1.infer<typeof googleDriveTableFiltersSchema>;
220
+ type GoogleDriveTableFiltersInput = z$1.input<typeof googleDriveTableFiltersSchema>;
221
+ /**
222
+ * List drive tree input schema
223
+ * @description zod schema for validating the input of the list drive tree command
224
+ */
225
+ declare const listGoogleDriveTreeInputSchema: z$1.ZodObject<{
226
+ cursor: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>>, z$1.ZodTransform<number, number>>;
227
+ limit: z$1.ZodPipe<z$1.ZodDefault<z$1.ZodOptional<z$1.ZodCoercedNumber<unknown>>>, z$1.ZodTransform<number, number>>;
228
+ sort: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
229
+ order: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodEnum<{
230
+ asc: "asc";
231
+ desc: "desc";
232
+ }>>>;
233
+ search: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
234
+ filters: z$1.ZodPipe<z$1.ZodObject<{
235
+ types: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodEnum<{
236
+ file: "file";
237
+ folder: "folder";
238
+ }>>>>;
239
+ contentTypes: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
240
+ nodeIds: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
241
+ isArchived: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodBoolean>>;
242
+ namespace: z$1.ZodString;
243
+ parentId: z$1.ZodNullable<z$1.ZodString>;
244
+ }, z$1.core.$strip>, z$1.ZodTransform<{
245
+ isArchived: boolean;
246
+ namespace: string;
247
+ parentId: string | null;
248
+ types?: ("file" | "folder")[] | null | undefined;
249
+ contentTypes?: string[] | null | undefined;
250
+ nodeIds?: string[] | null | undefined;
251
+ }, {
252
+ namespace: string;
253
+ parentId: string | null;
254
+ types?: ("file" | "folder")[] | null | undefined;
255
+ contentTypes?: string[] | null | undefined;
256
+ nodeIds?: string[] | null | undefined;
257
+ isArchived?: boolean | null | undefined;
258
+ }>>;
259
+ }, z$1.core.$strip>;
260
+ type ListGoogleDriveTreeInput = z$1.input<typeof listGoogleDriveTreeInputSchema>;
261
+ type ListGoogleDriveTreeSchema = z$1.infer<typeof listGoogleDriveTreeInputSchema>;
262
+ /**
263
+ * Get drive nodes by parent id input schema
264
+ * @description zod schema for validating the input of the get drive nodes by parent id command
265
+ */
266
+ declare const getGoogleDriveNodesByParentIdInputSchema: z$1.ZodObject<{
267
+ sort: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
268
+ search: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodString>>;
269
+ order: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodEnum<{
270
+ asc: "asc";
271
+ desc: "desc";
272
+ }>>>;
273
+ filters: z$1.ZodPipe<z$1.ZodObject<{
274
+ types: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodEnum<{
275
+ file: "file";
276
+ folder: "folder";
277
+ }>>>>;
278
+ contentTypes: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
279
+ nodeIds: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodArray<z$1.ZodString>>>;
280
+ isArchived: z$1.ZodOptional<z$1.ZodNullable<z$1.ZodBoolean>>;
281
+ namespace: z$1.ZodString;
282
+ parentId: z$1.ZodNullable<z$1.ZodString>;
283
+ }, z$1.core.$strip>, z$1.ZodTransform<{
284
+ isArchived: boolean;
285
+ namespace: string;
286
+ parentId: string | null;
287
+ types?: ("file" | "folder")[] | null | undefined;
288
+ contentTypes?: string[] | null | undefined;
289
+ nodeIds?: string[] | null | undefined;
290
+ }, {
291
+ namespace: string;
292
+ parentId: string | null;
293
+ types?: ("file" | "folder")[] | null | undefined;
294
+ contentTypes?: string[] | null | undefined;
295
+ nodeIds?: string[] | null | undefined;
296
+ isArchived?: boolean | null | undefined;
297
+ }>>;
298
+ }, z$1.core.$strip>;
299
+ type GetGoogleDriveNodesByParentIdInput = z$1.input<typeof getGoogleDriveNodesByParentIdInputSchema>;
300
+ type GetGoogleDriveNodesByParentIdSchema = z$1.infer<typeof getGoogleDriveNodesByParentIdInputSchema>;
301
+ //#endregion
302
+ export { CreateGoogleDriveFolderInput, CreateGoogleDriveFolderSchema, GetGoogleDriveNodesByParentIdInput, GetGoogleDriveNodesByParentIdSchema, GoogleDriveNode, GoogleDriveNodeChild, GoogleDriveNodeWithChildren, GoogleDriveTableFilters, GoogleDriveTableFiltersInput, ListGoogleDriveTreeInput, ListGoogleDriveTreeSchema, UpdateGoogleDriveNodeInput, UpdateGoogleDriveNodeSchema, UploadGoogleDriveFileInput, UploadGoogleDriveFileSchema, createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
@@ -0,0 +1,58 @@
1
+ import { driveNodeSchema } from "../../../lib/dto.mjs";
2
+ import { createDriveFolderInputSchema, driveTableFiltersSchema, getNodesByParentIdInputSchema, listDriveTreeInputSchema, updateDriveNodeInputSchema, uploadDriveFileInputSchema } from "../../../lib/validators.mjs";
3
+ import z$1 from "zod";
4
+
5
+ //#region src/providers/google/lib/validators.ts
6
+ /**
7
+ * GoogleDriveNode schema
8
+ * @description zod schema for validating the shape of a GoogleDriveNode
9
+ */
10
+ const googleDriveNodeSchema = driveNodeSchema.extend({
11
+ provider: z$1.literal("google"),
12
+ googleDriveId: z$1.string().nullable(),
13
+ mimeType: z$1.string().nullable(),
14
+ webViewLink: z$1.string().nullable(),
15
+ webContentLink: z$1.string().nullable(),
16
+ thumbnailLink: z$1.string().nullable(),
17
+ trashed: z$1.boolean(),
18
+ trashedAt: z$1.date().nullable(),
19
+ googleParents: z$1.array(z$1.string()),
20
+ canEdit: z$1.boolean().nullable()
21
+ });
22
+ /**
23
+ * GoogleDriveNodeWithChildren schema
24
+ * @description zod schema for validating the shape of a GoogleDriveNode with children
25
+ */
26
+ const googleDriveNodeWithChildrenSchema = googleDriveNodeSchema.extend({ children: z$1.array(googleDriveNodeSchema) });
27
+ /**
28
+ * Create drive folder input schema
29
+ * @description zod schema for validating the input of the create drive folder command
30
+ */
31
+ const createGoogleDriveFolderInputSchema = createDriveFolderInputSchema;
32
+ /**
33
+ * Update drive node input schema
34
+ * @description zod schema for validating the input of the update drive node command
35
+ */
36
+ const updateGoogleDriveNodeInputSchema = updateDriveNodeInputSchema.extend({ isArchived: z$1.boolean().optional() });
37
+ /**
38
+ * Upload drive file input schema
39
+ * @description zod schema for validating the input of the upload drive file command
40
+ */
41
+ const uploadGoogleDriveFileInputSchema = uploadDriveFileInputSchema;
42
+ /**
43
+ * Filters
44
+ */
45
+ const googleDriveTableFiltersSchema = driveTableFiltersSchema;
46
+ /**
47
+ * List drive tree input schema
48
+ * @description zod schema for validating the input of the list drive tree command
49
+ */
50
+ const listGoogleDriveTreeInputSchema = listDriveTreeInputSchema;
51
+ /**
52
+ * Get drive nodes by parent id input schema
53
+ * @description zod schema for validating the input of the get drive nodes by parent id command
54
+ */
55
+ const getGoogleDriveNodesByParentIdInputSchema = getNodesByParentIdInputSchema;
56
+
57
+ //#endregion
58
+ export { createGoogleDriveFolderInputSchema, getGoogleDriveNodesByParentIdInputSchema, googleDriveNodeSchema, googleDriveNodeWithChildrenSchema, googleDriveTableFiltersSchema, listGoogleDriveTreeInputSchema, updateGoogleDriveNodeInputSchema, uploadGoogleDriveFileInputSchema };
@@ -0,0 +1,17 @@
1
+ import { UpdateLocalDriveNodeInput } from "../lib/validators.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { DefaultError, MutationOptions } from "@tanstack/react-query";
4
+
5
+ //#region src/providers/local/components/command-file-update.d.ts
6
+ type LocalDriveFileUpdateCommandProps<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = {
7
+ defaultValues: Partial<UpdateLocalDriveNodeInput>;
8
+ variables: (values: UpdateLocalDriveNodeInput) => TVariables;
9
+ mutation: MutationOptions<TData, TError, TVariables, TOnMutateResult>;
10
+ };
11
+ declare function LocalDriveFileUpdateCommand<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown>({
12
+ defaultValues,
13
+ variables,
14
+ mutation
15
+ }: LocalDriveFileUpdateCommandProps<TData, TError, TVariables, TOnMutateResult>): react_jsx_runtime0.JSX.Element;
16
+ //#endregion
17
+ export { LocalDriveFileUpdateCommand, LocalDriveFileUpdateCommandProps };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+
3
+ import { updateLocalDriveNodeInputSchema } from "../lib/validators.mjs";
4
+ import { Input } from "@tulip-systems/core/components";
5
+ import { CommandFormDialog, CommandFormDialogCancel, CommandFormDialogContent, CommandFormDialogFields, CommandFormDialogFooter, CommandFormDialogHeader, CommandFormDialogSubmit, CommandFormDialogTitle, CommandFormDialogTrigger, CommandLabel } from "@tulip-systems/core/commands/client";
6
+ import { FilePen } from "lucide-react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@tulip-systems/core/components/client";
9
+ import { standardSchemaResolver } from "@hookform/resolvers/standard-schema";
10
+ import { useForm } from "react-hook-form";
11
+
12
+ //#region src/providers/local/components/command-file-update.tsx
13
+ function LocalDriveFileUpdateCommand({ defaultValues, variables, mutation }) {
14
+ const form = useForm({
15
+ resolver: standardSchemaResolver(updateLocalDriveNodeInputSchema),
16
+ defaultValues
17
+ });
18
+ return /* @__PURE__ */ jsx(Form, {
19
+ ...form,
20
+ children: /* @__PURE__ */ jsxs(CommandFormDialog, { children: [/* @__PURE__ */ jsxs(CommandFormDialogTrigger, {
21
+ label: "Wijzigen",
22
+ children: [/* @__PURE__ */ jsx(FilePen, { className: "size-4" }), /* @__PURE__ */ jsx(CommandLabel, {})]
23
+ }), /* @__PURE__ */ jsxs(CommandFormDialogContent, {
24
+ variables,
25
+ mutation,
26
+ children: [
27
+ /* @__PURE__ */ jsx(CommandFormDialogHeader, { children: /* @__PURE__ */ jsx(CommandFormDialogTitle, { children: "Bestand wijzigen" }) }),
28
+ /* @__PURE__ */ jsx(CommandFormDialogFields, { children: /* @__PURE__ */ jsx(FormField, {
29
+ control: form.control,
30
+ name: "name",
31
+ render: ({ field }) => /* @__PURE__ */ jsxs(FormItem, { children: [
32
+ /* @__PURE__ */ jsx(FormLabel, { children: "Naam" }),
33
+ /* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx(Input, {
34
+ ...field,
35
+ value: field.value ?? ""
36
+ }) }),
37
+ /* @__PURE__ */ jsx(FormMessage, {})
38
+ ] })
39
+ }) }),
40
+ /* @__PURE__ */ jsxs(CommandFormDialogFooter, { children: [/* @__PURE__ */ jsx(CommandFormDialogCancel, { children: "Annuleren" }), /* @__PURE__ */ jsx(CommandFormDialogSubmit, { children: "Opslaan" })] })
41
+ ]
42
+ })] })
43
+ });
44
+ }
45
+
46
+ //#endregion
47
+ export { LocalDriveFileUpdateCommand };
@@ -0,0 +1,10 @@
1
+ import { ComponentProps } from "react";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+
4
+ //#region src/providers/local/components/command-file-upload.d.ts
5
+ declare function LocalDriveFilesUploadCommand({
6
+ className,
7
+ ...props
8
+ }: ComponentProps<"div">): react_jsx_runtime0.JSX.Element;
9
+ //#endregion
10
+ export { LocalDriveFilesUploadCommand };
@@ -0,0 +1,34 @@
1
+ "use client";
2
+
3
+ import { useLocalDriveUploadZone } from "./upload-zone-context.client.mjs";
4
+ import { Input } from "@tulip-systems/core/components";
5
+ import { cn } from "@tulip-systems/core/lib";
6
+ import { CommandEmpty, CommandLabel } from "@tulip-systems/core/commands/client";
7
+ import { UploadIcon } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+
10
+ //#region src/providers/local/components/command-file-upload.tsx
11
+ function LocalDriveFilesUploadCommand({ className, ...props }) {
12
+ const { onUpload } = useLocalDriveUploadZone();
13
+ return /* @__PURE__ */ jsxs(CommandEmpty, {
14
+ ...props,
15
+ className: cn("relative gap-2", className),
16
+ label: "Upload",
17
+ children: [
18
+ /* @__PURE__ */ jsx(UploadIcon, { className: "h-3 w-3" }),
19
+ /* @__PURE__ */ jsx(CommandLabel, {}),
20
+ /* @__PURE__ */ jsx(Input, {
21
+ type: "file",
22
+ className: "absolute inset-0 z-10 h-full w-full cursor-pointer opacity-0",
23
+ multiple: true,
24
+ onChange: (event) => {
25
+ if (!event.target.files) return;
26
+ Array.from(event.target.files).forEach(onUpload);
27
+ }
28
+ })
29
+ ]
30
+ });
31
+ }
32
+
33
+ //#endregion
34
+ export { LocalDriveFilesUploadCommand };
@@ -0,0 +1,17 @@
1
+ import { CreateLocalDriveFolderInput } from "../lib/validators.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { DefaultError, MutationOptions } from "@tanstack/react-query";
4
+
5
+ //#region src/providers/local/components/command-folder-create.d.ts
6
+ type LocalDriveFoldersCreateCommandProps<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = {
7
+ defaultValues?: Partial<CreateLocalDriveFolderInput>;
8
+ variables: (values: CreateLocalDriveFolderInput) => TVariables;
9
+ mutation: MutationOptions<TData, TError, TVariables, TOnMutateResult>;
10
+ };
11
+ declare function LocalDriveFoldersCreateCommand<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown>({
12
+ defaultValues,
13
+ variables,
14
+ mutation
15
+ }: LocalDriveFoldersCreateCommandProps<TData, TError, TVariables, TOnMutateResult>): react_jsx_runtime0.JSX.Element;
16
+ //#endregion
17
+ export { LocalDriveFoldersCreateCommand, LocalDriveFoldersCreateCommandProps };
@@ -0,0 +1,54 @@
1
+ "use client";
2
+
3
+ import { driveTreeSearchParams } from "../../../lib/search-params.mjs";
4
+ import { createLocalDriveFolderInputSchema } from "../lib/validators.mjs";
5
+ import { Input } from "@tulip-systems/core/components";
6
+ import { CommandFormDialog, CommandFormDialogCancel, CommandFormDialogContent, CommandFormDialogFields, CommandFormDialogFooter, CommandFormDialogHeader, CommandFormDialogSubmit, CommandFormDialogTitle, CommandFormDialogTrigger, CommandLabel } from "@tulip-systems/core/commands/client";
7
+ import { FolderPlus } from "lucide-react";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@tulip-systems/core/components/client";
10
+ import { useQueryStates } from "nuqs";
11
+ import { standardSchemaResolver } from "@hookform/resolvers/standard-schema";
12
+ import { useForm } from "react-hook-form";
13
+
14
+ //#region src/providers/local/components/command-folder-create.tsx
15
+ function LocalDriveFoldersCreateCommand({ defaultValues, variables, mutation }) {
16
+ const [{ parentId }] = useQueryStates(driveTreeSearchParams);
17
+ const form = useForm({
18
+ resolver: standardSchemaResolver(createLocalDriveFolderInputSchema),
19
+ defaultValues: {
20
+ ...defaultValues,
21
+ parentId
22
+ }
23
+ });
24
+ return /* @__PURE__ */ jsx(Form, {
25
+ ...form,
26
+ children: /* @__PURE__ */ jsxs(CommandFormDialog, { children: [/* @__PURE__ */ jsxs(CommandFormDialogTrigger, {
27
+ label: "Folder toevoegen",
28
+ hotkey: "mod+i",
29
+ children: [/* @__PURE__ */ jsx(FolderPlus, { className: "size-4" }), /* @__PURE__ */ jsx(CommandLabel, {})]
30
+ }), /* @__PURE__ */ jsxs(CommandFormDialogContent, {
31
+ variables,
32
+ mutation,
33
+ children: [
34
+ /* @__PURE__ */ jsx(CommandFormDialogHeader, { children: /* @__PURE__ */ jsx(CommandFormDialogTitle, { children: "Folder toevoegen" }) }),
35
+ /* @__PURE__ */ jsx(CommandFormDialogFields, { children: /* @__PURE__ */ jsx(FormField, {
36
+ control: form.control,
37
+ name: "name",
38
+ render: ({ field }) => /* @__PURE__ */ jsxs(FormItem, { children: [
39
+ /* @__PURE__ */ jsx(FormLabel, { children: "Naam" }),
40
+ /* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx(Input, {
41
+ ...field,
42
+ value: field.value ?? ""
43
+ }) }),
44
+ /* @__PURE__ */ jsx(FormMessage, {})
45
+ ] })
46
+ }) }),
47
+ /* @__PURE__ */ jsxs(CommandFormDialogFooter, { children: [/* @__PURE__ */ jsx(CommandFormDialogCancel, { children: "Annuleren" }), /* @__PURE__ */ jsx(CommandFormDialogSubmit, { children: "Toevoegen" })] })
48
+ ]
49
+ })] })
50
+ });
51
+ }
52
+
53
+ //#endregion
54
+ export { LocalDriveFoldersCreateCommand };
@@ -0,0 +1,17 @@
1
+ import { UpdateLocalDriveNodeInput } from "../lib/validators.mjs";
2
+ import * as react_jsx_runtime0 from "react/jsx-runtime";
3
+ import { DefaultError, MutationOptions } from "@tanstack/react-query";
4
+
5
+ //#region src/providers/local/components/command-folder-update.d.ts
6
+ type LocalDriveFoldersUpdateCommandProps<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown> = {
7
+ defaultValues: Partial<UpdateLocalDriveNodeInput>;
8
+ variables: (values: UpdateLocalDriveNodeInput) => TVariables;
9
+ mutation: MutationOptions<TData, TError, TVariables, TOnMutateResult>;
10
+ };
11
+ declare function LocalDriveFoldersUpdateCommand<TData = unknown, TError = DefaultError, TVariables = unknown, TOnMutateResult = unknown>({
12
+ defaultValues,
13
+ variables,
14
+ mutation
15
+ }: LocalDriveFoldersUpdateCommandProps<TData, TError, TVariables, TOnMutateResult>): react_jsx_runtime0.JSX.Element;
16
+ //#endregion
17
+ export { LocalDriveFoldersUpdateCommand, LocalDriveFoldersUpdateCommandProps };
@@ -0,0 +1,47 @@
1
+ "use client";
2
+
3
+ import { updateLocalDriveNodeInputSchema } from "../lib/validators.mjs";
4
+ import { Input } from "@tulip-systems/core/components";
5
+ import { CommandFormDialog, CommandFormDialogCancel, CommandFormDialogContent, CommandFormDialogFields, CommandFormDialogFooter, CommandFormDialogHeader, CommandFormDialogSubmit, CommandFormDialogTitle, CommandFormDialogTrigger, CommandLabel } from "@tulip-systems/core/commands/client";
6
+ import { FolderPen } from "lucide-react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@tulip-systems/core/components/client";
9
+ import { standardSchemaResolver } from "@hookform/resolvers/standard-schema";
10
+ import { useForm } from "react-hook-form";
11
+
12
+ //#region src/providers/local/components/command-folder-update.tsx
13
+ function LocalDriveFoldersUpdateCommand({ defaultValues, variables, mutation }) {
14
+ const form = useForm({
15
+ resolver: standardSchemaResolver(updateLocalDriveNodeInputSchema),
16
+ defaultValues
17
+ });
18
+ return /* @__PURE__ */ jsx(Form, {
19
+ ...form,
20
+ children: /* @__PURE__ */ jsxs(CommandFormDialog, { children: [/* @__PURE__ */ jsxs(CommandFormDialogTrigger, {
21
+ label: "Wijzigen",
22
+ children: [/* @__PURE__ */ jsx(FolderPen, { className: "size-4" }), /* @__PURE__ */ jsx(CommandLabel, {})]
23
+ }), /* @__PURE__ */ jsxs(CommandFormDialogContent, {
24
+ variables,
25
+ mutation,
26
+ children: [
27
+ /* @__PURE__ */ jsx(CommandFormDialogHeader, { children: /* @__PURE__ */ jsx(CommandFormDialogTitle, { children: "Folder wijzigen" }) }),
28
+ /* @__PURE__ */ jsx(CommandFormDialogFields, { children: /* @__PURE__ */ jsx(FormField, {
29
+ control: form.control,
30
+ name: "name",
31
+ render: ({ field }) => /* @__PURE__ */ jsxs(FormItem, { children: [
32
+ /* @__PURE__ */ jsx(FormLabel, { children: "Naam" }),
33
+ /* @__PURE__ */ jsx(FormControl, { children: /* @__PURE__ */ jsx(Input, {
34
+ ...field,
35
+ value: field.value ?? ""
36
+ }) }),
37
+ /* @__PURE__ */ jsx(FormMessage, {})
38
+ ] })
39
+ }) }),
40
+ /* @__PURE__ */ jsxs(CommandFormDialogFooter, { children: [/* @__PURE__ */ jsx(CommandFormDialogCancel, { children: "Annuleren" }), /* @__PURE__ */ jsx(CommandFormDialogSubmit, { children: "Opslaan" })] })
41
+ ]
42
+ })] })
43
+ });
44
+ }
45
+
46
+ //#endregion
47
+ export { LocalDriveFoldersUpdateCommand };
@@ -0,0 +1,6 @@
1
+ import { DriveContent } from "../../../components/content.mjs";
2
+
3
+ //#region src/providers/local/components/content.client.d.ts
4
+ declare const LocalDriveContent: typeof DriveContent;
5
+ //#endregion
6
+ export { LocalDriveContent };
@@ -0,0 +1,7 @@
1
+ import { DriveContent } from "../../../components/content.mjs";
2
+
3
+ //#region src/providers/local/components/content.client.tsx
4
+ const LocalDriveContent = DriveContent;
5
+
6
+ //#endregion
7
+ export { LocalDriveContent };
@@ -0,0 +1,15 @@
1
+ import { DriveBreadcrumb, DriveBreadcrumbs } from "../../../components/navigation/breadcrumbs.client.mjs";
2
+ import { DriveHeader, DriveHeaderBreadcrumbs, DriveHeaderTools } from "../../../components/navigation/header.client.mjs";
3
+ import { DriveToolbar, DriveToolbarTools } from "../../../components/navigation/toolbar.client.mjs";
4
+ import { DriveViewSwitcher } from "../../../components/navigation/view-switcher.client.mjs";
5
+
6
+ //#region src/providers/local/components/navigation.client.d.ts
7
+ declare const LocalDriveHeader: typeof DriveHeader;
8
+ declare const LocalDriveHeaderBreadcrumbs: typeof DriveHeaderBreadcrumbs;
9
+ declare const LocalDriveHeaderTools: typeof DriveHeaderTools;
10
+ declare const LocalDriveToolbar: typeof DriveToolbar;
11
+ declare const LocalDriveToolbarBreadcrumbs: typeof DriveBreadcrumbs;
12
+ declare const LocalDriveToolbarTools: typeof DriveToolbarTools;
13
+ declare const LocalDriveViewSwitcher: typeof DriveViewSwitcher;
14
+ //#endregion
15
+ export { LocalDriveHeader, LocalDriveHeaderBreadcrumbs, LocalDriveHeaderTools, LocalDriveToolbar, LocalDriveToolbarBreadcrumbs, LocalDriveToolbarTools, LocalDriveViewSwitcher };
@@ -0,0 +1,17 @@
1
+ "use client";
2
+
3
+ import { DriveHeader, DriveHeaderBreadcrumbs, DriveHeaderTools } from "../../../components/navigation/header.client.mjs";
4
+ import { DriveToolbar, DriveToolbarBreadcrumbs, DriveToolbarTools } from "../../../components/navigation/toolbar.client.mjs";
5
+ import { DriveViewSwitcher } from "../../../components/navigation/view-switcher.client.mjs";
6
+
7
+ //#region src/providers/local/components/navigation.client.tsx
8
+ const LocalDriveHeader = DriveHeader;
9
+ const LocalDriveHeaderBreadcrumbs = DriveHeaderBreadcrumbs;
10
+ const LocalDriveHeaderTools = DriveHeaderTools;
11
+ const LocalDriveToolbar = DriveToolbar;
12
+ const LocalDriveToolbarBreadcrumbs = DriveToolbarBreadcrumbs;
13
+ const LocalDriveToolbarTools = DriveToolbarTools;
14
+ const LocalDriveViewSwitcher = DriveViewSwitcher;
15
+
16
+ //#endregion
17
+ export { LocalDriveHeader, LocalDriveHeaderBreadcrumbs, LocalDriveHeaderTools, LocalDriveToolbar, LocalDriveToolbarBreadcrumbs, LocalDriveToolbarTools, LocalDriveViewSwitcher };