@aphexcms/cms-core 2.0.2 → 2.0.4

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 (142) hide show
  1. package/dist/cache/adapters/in-memory-cache-adapter.d.ts +21 -0
  2. package/dist/cache/adapters/in-memory-cache-adapter.d.ts.map +1 -0
  3. package/dist/cache/adapters/in-memory-cache-adapter.js +50 -0
  4. package/dist/cache/document-cache.d.ts +18 -0
  5. package/dist/cache/document-cache.d.ts.map +1 -0
  6. package/dist/cache/document-cache.js +35 -0
  7. package/dist/cache/index.d.ts +4 -0
  8. package/dist/cache/index.d.ts.map +1 -0
  9. package/dist/cache/index.js +2 -0
  10. package/dist/cache/interfaces/cache.d.ts +18 -0
  11. package/dist/cache/interfaces/cache.d.ts.map +1 -0
  12. package/dist/cache/interfaces/cache.js +1 -0
  13. package/dist/client/index.d.ts +1 -0
  14. package/dist/client/index.d.ts.map +1 -1
  15. package/dist/client/index.js +1 -0
  16. package/dist/components/admin/AdminLayout.svelte.d.ts +3 -3
  17. package/dist/components/admin/DocumentEditor.svelte +1 -1
  18. package/dist/components/admin/SchemaField.svelte +14 -0
  19. package/dist/components/admin/SchemaField.svelte.d.ts.map +1 -1
  20. package/dist/components/admin/fields/FileField.svelte +485 -0
  21. package/dist/components/admin/fields/FileField.svelte.d.ts +18 -0
  22. package/dist/components/admin/fields/FileField.svelte.d.ts.map +1 -0
  23. package/dist/components/admin/fields/ReferenceField.svelte +2 -2
  24. package/dist/components/fields/index.d.ts +1 -0
  25. package/dist/components/fields/index.d.ts.map +1 -1
  26. package/dist/components/fields/index.js +1 -0
  27. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts +8 -1
  28. package/dist/components/layout/sidebar/AppSidebar.svelte.d.ts.map +1 -1
  29. package/dist/graphql/schema.d.ts.map +1 -1
  30. package/dist/graphql/schema.js +15 -1
  31. package/dist/hooks.d.ts.map +1 -1
  32. package/dist/hooks.js +11 -0
  33. package/dist/lib/cache/adapters/in-memory-cache-adapter.d.ts +21 -0
  34. package/dist/lib/cache/adapters/in-memory-cache-adapter.d.ts.map +1 -0
  35. package/dist/lib/cache/adapters/in-memory-cache-adapter.js +51 -0
  36. package/dist/lib/cache/adapters/in-memory-cache-adapter.js.map +1 -0
  37. package/dist/lib/cache/document-cache.d.ts +18 -0
  38. package/dist/lib/cache/document-cache.d.ts.map +1 -0
  39. package/dist/lib/cache/document-cache.js +36 -0
  40. package/dist/lib/cache/document-cache.js.map +1 -0
  41. package/dist/lib/cache/index.d.ts +4 -0
  42. package/dist/lib/cache/index.d.ts.map +1 -0
  43. package/dist/lib/cache/index.js +3 -0
  44. package/dist/lib/cache/index.js.map +1 -0
  45. package/dist/lib/cache/interfaces/cache.d.ts +18 -0
  46. package/dist/lib/cache/interfaces/cache.d.ts.map +1 -0
  47. package/dist/lib/cache/interfaces/cache.js +2 -0
  48. package/dist/lib/cache/interfaces/cache.js.map +1 -0
  49. package/dist/lib/client/index.d.ts +1 -0
  50. package/dist/lib/client/index.d.ts.map +1 -1
  51. package/dist/lib/client/index.js +1 -0
  52. package/dist/lib/client/index.js.map +1 -1
  53. package/dist/lib/components/fields/index.d.ts +1 -0
  54. package/dist/lib/components/fields/index.d.ts.map +1 -1
  55. package/dist/lib/components/fields/index.js +1 -0
  56. package/dist/lib/components/fields/index.js.map +1 -1
  57. package/dist/lib/graphql/schema.d.ts.map +1 -1
  58. package/dist/lib/graphql/schema.js +15 -1
  59. package/dist/lib/graphql/schema.js.map +1 -1
  60. package/dist/lib/hooks.d.ts.map +1 -1
  61. package/dist/lib/hooks.js +11 -0
  62. package/dist/lib/hooks.js.map +1 -1
  63. package/dist/lib/local-api/collection-api.d.ts +5 -1
  64. package/dist/lib/local-api/collection-api.d.ts.map +1 -1
  65. package/dist/lib/local-api/collection-api.js +63 -10
  66. package/dist/lib/local-api/collection-api.js.map +1 -1
  67. package/dist/lib/local-api/index.d.ts +13 -0
  68. package/dist/lib/local-api/index.d.ts.map +1 -1
  69. package/dist/lib/local-api/index.js +26 -2
  70. package/dist/lib/local-api/index.js.map +1 -1
  71. package/dist/lib/routes/assets.d.ts.map +1 -1
  72. package/dist/lib/routes/assets.js +14 -0
  73. package/dist/lib/routes/assets.js.map +1 -1
  74. package/dist/lib/routes/documents-by-id.js +18 -18
  75. package/dist/lib/routes/documents-by-id.js.map +1 -1
  76. package/dist/lib/routes/documents-publish.js +12 -12
  77. package/dist/lib/routes/documents-publish.js.map +1 -1
  78. package/dist/lib/schema-utils/validator.d.ts.map +1 -1
  79. package/dist/lib/schema-utils/validator.js +1 -0
  80. package/dist/lib/schema-utils/validator.js.map +1 -1
  81. package/dist/lib/server/index.d.ts +1 -0
  82. package/dist/lib/server/index.d.ts.map +1 -1
  83. package/dist/lib/server/index.js +1 -0
  84. package/dist/lib/server/index.js.map +1 -1
  85. package/dist/lib/services/hierarchy-service.d.ts +26 -0
  86. package/dist/lib/services/hierarchy-service.d.ts.map +1 -0
  87. package/dist/lib/services/hierarchy-service.js +64 -0
  88. package/dist/lib/services/hierarchy-service.js.map +1 -0
  89. package/dist/lib/services/index.d.ts +1 -0
  90. package/dist/lib/services/index.d.ts.map +1 -1
  91. package/dist/lib/services/index.js +1 -0
  92. package/dist/lib/services/index.js.map +1 -1
  93. package/dist/lib/storage/adapters/local-storage-adapter.d.ts.map +1 -1
  94. package/dist/lib/storage/adapters/local-storage-adapter.js +0 -14
  95. package/dist/lib/storage/adapters/local-storage-adapter.js.map +1 -1
  96. package/dist/lib/storage/interfaces/storage.d.ts +0 -1
  97. package/dist/lib/storage/interfaces/storage.d.ts.map +1 -1
  98. package/dist/lib/types/asset.d.ts +9 -0
  99. package/dist/lib/types/asset.d.ts.map +1 -1
  100. package/dist/lib/types/config.d.ts +7 -0
  101. package/dist/lib/types/config.d.ts.map +1 -1
  102. package/dist/lib/types/schemas.d.ts +10 -2
  103. package/dist/lib/types/schemas.d.ts.map +1 -1
  104. package/dist/lib/utils/mime-detect.d.ts +22 -0
  105. package/dist/lib/utils/mime-detect.d.ts.map +1 -0
  106. package/dist/lib/utils/mime-detect.js +201 -0
  107. package/dist/lib/utils/mime-detect.js.map +1 -0
  108. package/dist/local-api/collection-api.d.ts +5 -1
  109. package/dist/local-api/collection-api.d.ts.map +1 -1
  110. package/dist/local-api/collection-api.js +63 -10
  111. package/dist/local-api/index.d.ts +13 -0
  112. package/dist/local-api/index.d.ts.map +1 -1
  113. package/dist/local-api/index.js +26 -2
  114. package/dist/routes/assets.d.ts.map +1 -1
  115. package/dist/routes/assets.js +14 -0
  116. package/dist/routes/documents-by-id.js +18 -18
  117. package/dist/routes/documents-publish.js +12 -12
  118. package/dist/schema-utils/validator.d.ts.map +1 -1
  119. package/dist/schema-utils/validator.js +1 -0
  120. package/dist/server/index.d.ts +1 -0
  121. package/dist/server/index.d.ts.map +1 -1
  122. package/dist/server/index.js +1 -0
  123. package/dist/services/hierarchy-service.d.ts +26 -0
  124. package/dist/services/hierarchy-service.d.ts.map +1 -0
  125. package/dist/services/hierarchy-service.js +63 -0
  126. package/dist/services/index.d.ts +1 -0
  127. package/dist/services/index.d.ts.map +1 -1
  128. package/dist/services/index.js +1 -0
  129. package/dist/storage/adapters/local-storage-adapter.d.ts.map +1 -1
  130. package/dist/storage/adapters/local-storage-adapter.js +0 -14
  131. package/dist/storage/interfaces/storage.d.ts +0 -1
  132. package/dist/storage/interfaces/storage.d.ts.map +1 -1
  133. package/dist/types/asset.d.ts +9 -0
  134. package/dist/types/asset.d.ts.map +1 -1
  135. package/dist/types/config.d.ts +7 -0
  136. package/dist/types/config.d.ts.map +1 -1
  137. package/dist/types/schemas.d.ts +10 -2
  138. package/dist/types/schemas.d.ts.map +1 -1
  139. package/dist/utils/mime-detect.d.ts +22 -0
  140. package/dist/utils/mime-detect.d.ts.map +1 -0
  141. package/dist/utils/mime-detect.js +200 -0
  142. package/package.json +1 -1
@@ -0,0 +1,21 @@
1
+ import type { CacheAdapter } from '../interfaces/cache.js';
2
+ export interface InMemoryCacheOptions {
3
+ /** Maximum number of entries. Oldest entries are evicted when exceeded. Defaults to 1000. */
4
+ maxSize?: number;
5
+ /** Default TTL in seconds. No expiry if omitted. */
6
+ defaultTTL?: number;
7
+ }
8
+ export declare class InMemoryCacheAdapter implements CacheAdapter {
9
+ readonly name = "in-memory";
10
+ private store;
11
+ private maxSize;
12
+ private defaultTTL;
13
+ constructor(options?: InMemoryCacheOptions);
14
+ get<T>(key: string): Promise<T | null>;
15
+ set<T>(key: string, value: T, ttl?: number): Promise<void>;
16
+ delete(key: string): Promise<void>;
17
+ invalidateByPrefix(prefix: string): Promise<void>;
18
+ flush(): Promise<void>;
19
+ isHealthy(): Promise<boolean>;
20
+ }
21
+ //# sourceMappingURL=in-memory-cache-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-memory-cache-adapter.d.ts","sourceRoot":"","sources":["../../../src/lib/cache/adapters/in-memory-cache-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,WAAW,oBAAoB;IACpC,6FAA6F;IAC7F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,oBAAqB,YAAW,YAAY;IACxD,QAAQ,CAAC,IAAI,eAAe;IAE5B,OAAO,CAAC,KAAK,CAAiC;IAC9C,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,UAAU,CAAqB;gBAE3B,OAAO,GAAE,oBAAyB;IAKxC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAYtC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB1D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlC,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQjD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAGnC"}
@@ -0,0 +1,50 @@
1
+ export class InMemoryCacheAdapter {
2
+ name = 'in-memory';
3
+ store = new Map();
4
+ maxSize;
5
+ defaultTTL;
6
+ constructor(options = {}) {
7
+ this.maxSize = options.maxSize ?? 1000;
8
+ this.defaultTTL = options.defaultTTL;
9
+ }
10
+ async get(key) {
11
+ const entry = this.store.get(key);
12
+ if (!entry)
13
+ return null;
14
+ if (entry.expiresAt !== null && Date.now() > entry.expiresAt) {
15
+ this.store.delete(key);
16
+ return null;
17
+ }
18
+ return entry.value;
19
+ }
20
+ async set(key, value, ttl) {
21
+ // Evict oldest entry if at capacity
22
+ if (!this.store.has(key) && this.store.size >= this.maxSize) {
23
+ const firstKey = this.store.keys().next().value;
24
+ if (firstKey !== undefined) {
25
+ this.store.delete(firstKey);
26
+ }
27
+ }
28
+ const seconds = ttl ?? this.defaultTTL;
29
+ this.store.set(key, {
30
+ value,
31
+ expiresAt: seconds != null ? Date.now() + seconds * 1000 : null
32
+ });
33
+ }
34
+ async delete(key) {
35
+ this.store.delete(key);
36
+ }
37
+ async invalidateByPrefix(prefix) {
38
+ for (const key of this.store.keys()) {
39
+ if (key.startsWith(prefix)) {
40
+ this.store.delete(key);
41
+ }
42
+ }
43
+ }
44
+ async flush() {
45
+ this.store.clear();
46
+ }
47
+ async isHealthy() {
48
+ return true;
49
+ }
50
+ }
@@ -0,0 +1,18 @@
1
+ import type { CacheAdapter } from './interfaces/cache.js';
2
+ /**
3
+ * Document-aware cache wrapper.
4
+ * Translates document/collection operations into generic key-value calls on the underlying CacheAdapter.
5
+ */
6
+ export declare class DocumentCache {
7
+ private adapter;
8
+ constructor(adapter: CacheAdapter);
9
+ getDocument<T>(orgId: string, docId: string): Promise<T | null>;
10
+ setDocument<T>(orgId: string, docId: string, value: T): Promise<void>;
11
+ getQuery<T>(orgId: string, collection: string, options: object): Promise<T | null>;
12
+ setQuery<T>(orgId: string, collection: string, options: object, value: T): Promise<void>;
13
+ invalidateDocument(orgId: string, docId: string): Promise<void>;
14
+ invalidateCollection(orgId: string, collection: string): Promise<void>;
15
+ flush(): Promise<void>;
16
+ private buildQueryKey;
17
+ }
18
+ //# sourceMappingURL=document-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-cache.d.ts","sourceRoot":"","sources":["../../src/lib/cache/document-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;;GAGG;AACH,qBAAa,aAAa;IACb,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,YAAY;IAEnC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAI/D,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrE,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAIlF,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxF,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/D,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,OAAO,CAAC,aAAa;CAIrB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Document-aware cache wrapper.
3
+ * Translates document/collection operations into generic key-value calls on the underlying CacheAdapter.
4
+ */
5
+ export class DocumentCache {
6
+ adapter;
7
+ constructor(adapter) {
8
+ this.adapter = adapter;
9
+ }
10
+ async getDocument(orgId, docId) {
11
+ return this.adapter.get(`doc:${orgId}:${docId}`);
12
+ }
13
+ async setDocument(orgId, docId, value) {
14
+ await this.adapter.set(`doc:${orgId}:${docId}`, value);
15
+ }
16
+ async getQuery(orgId, collection, options) {
17
+ return this.adapter.get(this.buildQueryKey(orgId, collection, options));
18
+ }
19
+ async setQuery(orgId, collection, options, value) {
20
+ await this.adapter.set(this.buildQueryKey(orgId, collection, options), value);
21
+ }
22
+ async invalidateDocument(orgId, docId) {
23
+ await this.adapter.delete(`doc:${orgId}:${docId}`);
24
+ }
25
+ async invalidateCollection(orgId, collection) {
26
+ await this.adapter.invalidateByPrefix(`query:${orgId}:${collection}:`);
27
+ }
28
+ async flush() {
29
+ await this.adapter.flush();
30
+ }
31
+ buildQueryKey(orgId, collection, options) {
32
+ const normalized = JSON.stringify(options, Object.keys(options).sort());
33
+ return `query:${orgId}:${collection}:${normalized}`;
34
+ }
35
+ }
@@ -0,0 +1,4 @@
1
+ export type { CacheAdapter } from './interfaces/cache.js';
2
+ export { InMemoryCacheAdapter } from './adapters/in-memory-cache-adapter.js';
3
+ export { DocumentCache } from './document-cache.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/cache/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { InMemoryCacheAdapter } from './adapters/in-memory-cache-adapter.js';
2
+ export { DocumentCache } from './document-cache.js';
@@ -0,0 +1,18 @@
1
+ export interface CacheAdapter {
2
+ readonly name: string;
3
+ /** Get a cached value by key. Returns null on miss. */
4
+ get<T>(key: string): Promise<T | null>;
5
+ /** Set a value with an optional TTL in seconds. */
6
+ set<T>(key: string, value: T, ttl?: number): Promise<void>;
7
+ /** Delete a single key. */
8
+ delete(key: string): Promise<void>;
9
+ /** Delete all keys matching a prefix (e.g. "query:org123:page:"). */
10
+ invalidateByPrefix(prefix: string): Promise<void>;
11
+ /** Flush the entire cache. */
12
+ flush(): Promise<void>;
13
+ /** Optional lifecycle methods. */
14
+ connect?(): Promise<void>;
15
+ disconnect?(): Promise<void>;
16
+ isHealthy?(): Promise<boolean>;
17
+ }
18
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/lib/cache/interfaces/cache.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,uDAAuD;IACvD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAEvC,mDAAmD;IACnD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3D,2BAA2B;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,qEAAqE;IACrE,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElD,8BAA8B;IAC9B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,kCAAkC;IAClC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,UAAU,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B"}
@@ -0,0 +1 @@
1
+ export {};
@@ -14,6 +14,7 @@ export { default as TextareaField } from '../components/admin/fields/TextareaFie
14
14
  export { default as NumberField } from '../components/admin/fields/NumberField.svelte';
15
15
  export { default as BooleanField } from '../components/admin/fields/BooleanField.svelte';
16
16
  export { default as ImageField } from '../components/admin/fields/ImageField.svelte';
17
+ export { default as FileField } from '../components/admin/fields/FileField.svelte';
17
18
  export { default as SlugField } from '../components/admin/fields/SlugField.svelte';
18
19
  export { default as ArrayField } from '../components/admin/fields/ArrayField.svelte';
19
20
  export { default as ReferenceField } from '../components/admin/fields/ReferenceField.svelte';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAG7F,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/client/index.ts"],"names":[],"mappings":"AAIA,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGlG,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAG1C,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG9E,cAAc,uBAAuB,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,qCAAqC,CAAC;AAGzE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gDAAgD,CAAC;AACzF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,8CAA8C,CAAC;AACrF,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAG7F,cAAc,gBAAgB,CAAC;AAE/B,cAAc,cAAc,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC"}
@@ -22,6 +22,7 @@ export { default as TextareaField } from '../components/admin/fields/TextareaFie
22
22
  export { default as NumberField } from '../components/admin/fields/NumberField.svelte';
23
23
  export { default as BooleanField } from '../components/admin/fields/BooleanField.svelte';
24
24
  export { default as ImageField } from '../components/admin/fields/ImageField.svelte';
25
+ export { default as FileField } from '../components/admin/fields/FileField.svelte';
25
26
  export { default as SlugField } from '../components/admin/fields/SlugField.svelte';
26
27
  export { default as ArrayField } from '../components/admin/fields/ArrayField.svelte';
27
28
  export { default as ReferenceField } from '../components/admin/fields/ReferenceField.svelte';
@@ -6,9 +6,9 @@ interface Props {
6
6
  children?: any;
7
7
  }
8
8
  declare const AdminLayout: import("svelte").Component<Props, {
9
- typesPanel: "w-full" | "flex-1" | "hidden" | "w-[350px]" | "w-[60px]";
10
- documentsPanel: "w-full" | "flex-1" | "hidden" | "w-[350px]" | "w-[60px]";
11
- editorPanel: "w-full" | "flex-1" | "hidden";
9
+ typesPanel: "hidden" | "w-full" | "flex-1" | "w-[350px]" | "w-[60px]";
10
+ documentsPanel: "hidden" | "w-full" | "flex-1" | "w-[350px]" | "w-[60px]";
11
+ editorPanel: "hidden" | "w-full" | "flex-1";
12
12
  }, "">;
13
13
  type AdminLayout = ReturnType<typeof AdminLayout>;
14
14
  export default AdminLayout;
@@ -673,7 +673,7 @@
673
673
  }
674
674
  </script>
675
675
 
676
- <div class="relative flex h-full flex-col">
676
+ <div class="relative flex h-full flex-col overflow-hidden">
677
677
  <!-- Header Toolbar (Sanity-style) -->
678
678
  <div class="border-border bg-background flex h-14 items-center justify-between border-b px-4">
679
679
  <!-- Left side: Document info and status -->
@@ -27,6 +27,7 @@
27
27
  import NumberField from './fields/NumberField.svelte';
28
28
  import BooleanField from './fields/BooleanField.svelte';
29
29
  import ImageField from './fields/ImageField.svelte';
30
+ import FileField from './fields/FileField.svelte';
30
31
  import ArrayField from './fields/ArrayField.svelte';
31
32
  import DateField from './fields/DateField.svelte';
32
33
  import DateTimeField from './fields/DateTimeField.svelte';
@@ -206,6 +207,19 @@
206
207
  {organizationId}
207
208
  />
208
209
 
210
+ <!-- File Field -->
211
+ {:else if field.type === 'file'}
212
+ <FileField
213
+ {field}
214
+ {value}
215
+ {onUpdate}
216
+ {validationClasses}
217
+ {schemaType}
218
+ {fieldPath}
219
+ {readonly}
220
+ {organizationId}
221
+ />
222
+
209
223
  <!-- Object Field -->
210
224
  {:else if field.type === 'object' && field.fields}
211
225
  <div class="border-border space-y-4 rounded-md border p-4">
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaField.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/SchemaField.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,KAAK,EAGL,MAAM,qBAAqB,CAAC;AAwB9B,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG9C,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAsNF,QAAA,MAAM,WAAW;sCAzKgC,GAAG,YAAW,GAAG;MAyKT,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"SchemaField.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/components/admin/SchemaField.svelte.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,KAAK,EAGL,MAAM,qBAAqB,CAAC;AAyB9B,OAAO,WAAW,MAAM,sBAAsB,CAAC;AAG9C,UAAU,KAAK;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACnC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AA2NF,QAAA,MAAM,WAAW;sCA7KgC,GAAG,YAAW,GAAG;MA6KT,CAAC;AAC1D,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC;AAClD,eAAe,WAAW,CAAC"}