@hiai-gg/docsmint 0.5.0 → 0.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backend/index.js +47 -8
- package/dist/backend-account-runtime-cleanup.js +20 -3
- package/dist/backend-api-key-facade.js +20 -3
- package/dist/backend-pipeline-cancellation.js +20 -3
- package/dist/frontend/{CategoryDialog-DyytjQn6.js → CategoryDialog-DmlX0Z97.js} +1 -1
- package/dist/frontend/DatePicker-D6E-EEtZ.js +340 -0
- package/dist/frontend/{FolderNode-DAGPgi-M.js → FolderNode-D3rN3yLV.js} +1 -1
- package/dist/frontend/{HiaiDocsExtensionProvider-CMiTXi2J.js → HiaiDocsExtensionProvider-OSn96BBw.js} +1 -1
- package/dist/frontend/{SettingsDialog-DEx1eEZm.js → SettingsDialog-Bd_S2RKW.js} +104 -96
- package/dist/frontend/ShareDialog-BC-Jl6v1.js +257 -0
- package/dist/frontend/{Sidebar-BdB8CfXS.js → Sidebar-BnZgNl_8.js} +679 -657
- package/dist/frontend/api/attachments.js +1 -1
- package/dist/frontend/app-shell.js +3 -3
- package/dist/frontend/{attachments-C2DBzU-r.js → attachments-B8AuDjno.js} +8 -5
- package/dist/frontend/components/category-dialog.js +1 -1
- package/dist/frontend/components/editor/document-editor.js +240 -228
- package/dist/frontend/components/folder-node.js +1 -1
- package/dist/frontend/components/save-as-dialog.js +1 -1
- package/dist/frontend/components/settings.js +1 -1
- package/dist/frontend/components/share-dialog.js +1 -1
- package/dist/frontend/components/sidebar.js +1 -1
- package/dist/frontend/{context-KLiM3QQ0.js → context-D0zPFXZ4.js} +2 -0
- package/dist/frontend/dashboard.js +1106 -1068
- package/dist/frontend/{dropdown-menu-Cre80-CJ.js → dropdown-menu-CJ_7V3N0.js} +43 -43
- package/dist/frontend/extension.d.ts +3 -2
- package/dist/frontend/extension.js +1 -1
- package/dist/frontend/{floating-layer-anchor-BDs7vO-M.js → floating-layer-anchor-S5RSefGN.js} +1 -1
- package/dist/frontend/frontend.css +1 -1
- package/dist/frontend/search.js +421 -405
- package/dist/frontend/{select-value-GXwx90Pr.js → select-value-JCAp2PmU.js} +466 -466
- package/dist/frontend/shared-document.js +1 -1
- package/dist/frontend-ssr/api/attachments.js +1 -1
- package/dist/frontend-ssr/app-shell.js +4 -4
- package/dist/frontend-ssr/assets/{CategoryDialog-CLAGMZPz.js → CategoryDialog-Cnlmr1sz.js} +2 -2
- package/dist/frontend-ssr/assets/{CreateSnapshotDialog-DNAjd4eD.js → CreateSnapshotDialog-b6O0nUVp.js} +1 -1
- package/dist/frontend-ssr/assets/{DatePicker-Cp6Qmgdb.js → DatePicker-D84cJ-Eq.js} +1 -1
- package/dist/frontend-ssr/assets/{FolderNode-Ty6fMbDu.js → FolderNode-CnFVWuQi.js} +2 -2
- package/dist/frontend-ssr/assets/{HiaiDocsExtensionProvider-B_MrN08c.js → HiaiDocsExtensionProvider-BRKWmcDd.js} +1 -1
- package/dist/frontend-ssr/assets/{SettingsDialog-BymUxBgg.js → SettingsDialog-BPdUl6pd.js} +23 -9
- package/dist/frontend-ssr/assets/ShareDialog-BZd28sg-.js +45 -0
- package/dist/frontend-ssr/assets/{Sidebar-DzbIUZFc.js → Sidebar-DwYZH0Tr.js} +49 -14
- package/dist/frontend-ssr/assets/{TagCreateDialog-B7wDbVqG.js → TagCreateDialog-DUPMitlL.js} +1 -1
- package/dist/frontend-ssr/assets/{attachments-CXgatN0B.js → attachments-Cj3fQyUp.js} +11 -4
- package/dist/frontend-ssr/assets/{confirm-dialog-B3C0WeMn.js → confirm-dialog-XuyaL8sr.js} +1 -1
- package/dist/frontend-ssr/assets/{context-BtCMqdVe.js → context-Bi_mO-NS.js} +2 -0
- package/dist/frontend-ssr/assets/{dropdown-menu-CGkf8-rb.js → dropdown-menu-Dn_vQq9b.js} +1 -1
- package/dist/frontend-ssr/assets/{floating-layer-anchor-CYIE8Oj6.js → floating-layer-anchor-BIAu-252.js} +1 -1
- package/dist/frontend-ssr/assets/{messages-D-auzk9H.js → messages-BAQzILs4.js} +1 -1
- package/dist/frontend-ssr/assets/{select-value-6Lk0ToYd.js → select-value-DBhbkNcc.js} +1 -1
- package/dist/frontend-ssr/components/category-dialog.js +1 -1
- package/dist/frontend-ssr/components/create-snapshot-dialog.js +1 -1
- package/dist/frontend-ssr/components/editor/document-editor.js +37 -23
- package/dist/frontend-ssr/components/editor/document-title.js +1 -1
- package/dist/frontend-ssr/components/editor/markdown-toggle.js +1 -1
- package/dist/frontend-ssr/components/folder-node.js +1 -1
- package/dist/frontend-ssr/components/save-as-dialog.js +2 -2
- package/dist/frontend-ssr/components/settings.js +1 -1
- package/dist/frontend-ssr/components/share-dialog.js +1 -1
- package/dist/frontend-ssr/components/sidebar.js +1 -1
- package/dist/frontend-ssr/components/tag-create-dialog.js +1 -1
- package/dist/frontend-ssr/components/version-history.js +2 -2
- package/dist/frontend-ssr/dashboard.js +280 -81
- package/dist/frontend-ssr/extension.js +1 -1
- package/dist/frontend-ssr/i18n.js +1 -1
- package/dist/frontend-ssr/search.js +4 -4
- package/dist/frontend-ssr/shared-document.js +1 -1
- package/dist/lifecycle-runtime.js +18 -3
- package/dist/types.d.ts +5 -0
- package/package.json +1 -1
- package/packages/cli/src/index.ts +1 -1
- package/packages/db/src/schema.ts +17 -2
- package/packages/mcp-server/src/index.ts +1 -1
- package/dist/frontend/DatePicker-BkaaNS1l.js +0 -256
- package/dist/frontend/ShareDialog-ChZogJtW.js +0 -166
- package/dist/frontend-ssr/assets/ShareDialog-C-9VDKSz.js +0 -56
package/dist/backend/index.js
CHANGED
|
@@ -42724,6 +42724,8 @@ __export(exports_schema, {
|
|
|
42724
42724
|
shareRoleEnum: () => shareRoleEnum,
|
|
42725
42725
|
shareLinks: () => shareLinks,
|
|
42726
42726
|
shareLinkRelations: () => shareLinkRelations,
|
|
42727
|
+
shareGrantStatusEnum: () => shareGrantStatusEnum,
|
|
42728
|
+
shareAccessModeEnum: () => shareAccessModeEnum,
|
|
42727
42729
|
sessions: () => sessions,
|
|
42728
42730
|
pipelineStatusEnum: () => pipelineStatusEnum,
|
|
42729
42731
|
pipelineStageEnum: () => pipelineStageEnum,
|
|
@@ -42754,7 +42756,7 @@ __export(exports_schema, {
|
|
|
42754
42756
|
apiKeyRelations: () => apiKeyRelations,
|
|
42755
42757
|
accounts: () => accounts
|
|
42756
42758
|
});
|
|
42757
|
-
var vector4, tsvector, documentVisibilityEnum, shareRoleEnum, embeddingStatusEnum, pipelineStageEnum, pipelineStatusEnum, lifecycleOperationKindEnum, lifecycleOperationStatusEnum, users, sessions, accounts, verifications, folders, folderRelations, documents, documentRelations, documentPipelineRuns, documentPipelineBatches, tags, tagRelations, categories, categoryRelations, documentTags, documentTagRelations, shareLinks, shareLinkRelations, guestAccess, guestAccessRelations, attachments, attachmentRelations, versions, documentEmbeddings, documentEmbeddingRelations, apiKeys, apiKeyRelations, auditLog, lifecycleOperations, documentCreateOperations, versionRelations;
|
|
42759
|
+
var vector4, tsvector, documentVisibilityEnum, shareRoleEnum, shareAccessModeEnum, shareGrantStatusEnum, embeddingStatusEnum, pipelineStageEnum, pipelineStatusEnum, lifecycleOperationKindEnum, lifecycleOperationStatusEnum, users, sessions, accounts, verifications, folders, folderRelations, documents, documentRelations, documentPipelineRuns, documentPipelineBatches, tags, tagRelations, categories, categoryRelations, documentTags, documentTagRelations, shareLinks, shareLinkRelations, guestAccess, guestAccessRelations, attachments, attachmentRelations, versions, documentEmbeddings, documentEmbeddingRelations, apiKeys, apiKeyRelations, auditLog, lifecycleOperations, documentCreateOperations, versionRelations;
|
|
42758
42760
|
var init_schema2 = __esm(() => {
|
|
42759
42761
|
init_pg_core();
|
|
42760
42762
|
init_drizzle_orm();
|
|
@@ -42778,6 +42780,8 @@ var init_schema2 = __esm(() => {
|
|
|
42778
42780
|
});
|
|
42779
42781
|
documentVisibilityEnum = pgEnum("document_visibility", ["private", "shared", "public"]);
|
|
42780
42782
|
shareRoleEnum = pgEnum("share_role", ["viewer", "commenter", "editor"]);
|
|
42783
|
+
shareAccessModeEnum = pgEnum("share_access_mode", ["public", "restricted"]);
|
|
42784
|
+
shareGrantStatusEnum = pgEnum("share_grant_status", ["pending", "accepted", "revoked"]);
|
|
42781
42785
|
embeddingStatusEnum = pgEnum("embedding_status", [
|
|
42782
42786
|
"pending",
|
|
42783
42787
|
"processing",
|
|
@@ -43069,6 +43073,9 @@ var init_schema2 = __esm(() => {
|
|
|
43069
43073
|
token: text("token").notNull().unique(),
|
|
43070
43074
|
passwordHash: text("password_hash"),
|
|
43071
43075
|
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
43076
|
+
accessMode: shareAccessModeEnum("access_mode").notNull().default("public"),
|
|
43077
|
+
allowPasswordFallback: boolean("allow_password_fallback").notNull().default(false),
|
|
43078
|
+
policyVersion: integer("policy_version").notNull().default(1),
|
|
43072
43079
|
expiresAt: timestamp("expires_at"),
|
|
43073
43080
|
createdBy: uuid("created_by").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
43074
43081
|
workspaceId: text("workspace_id"),
|
|
@@ -43104,8 +43111,15 @@ var init_schema2 = __esm(() => {
|
|
|
43104
43111
|
shareLinkId: uuid("share_link_id").notNull().references(() => shareLinks.id, { onDelete: "cascade" }),
|
|
43105
43112
|
workspaceId: text("workspace_id"),
|
|
43106
43113
|
guestEmail: text("guest_email").notNull(),
|
|
43107
|
-
|
|
43108
|
-
|
|
43114
|
+
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
43115
|
+
status: shareGrantStatusEnum("status").notNull().default("pending"),
|
|
43116
|
+
grantedAt: timestamp("granted_at").defaultNow().notNull(),
|
|
43117
|
+
acceptedAt: timestamp("accepted_at"),
|
|
43118
|
+
revokedAt: timestamp("revoked_at")
|
|
43119
|
+
}, (table3) => [
|
|
43120
|
+
index("guest_access_share_link_idx").on(table3.shareLinkId),
|
|
43121
|
+
uniqueIndex("guest_access_share_link_email_unique_idx").on(table3.shareLinkId, table3.guestEmail)
|
|
43122
|
+
]);
|
|
43109
43123
|
guestAccessRelations = relations(guestAccess, ({ one }) => ({
|
|
43110
43124
|
shareLink: one(shareLinks, {
|
|
43111
43125
|
fields: [guestAccess.shareLinkId],
|
|
@@ -43121,7 +43135,10 @@ var init_schema2 = __esm(() => {
|
|
|
43121
43135
|
size: bigint("size", { mode: "number" }).notNull(),
|
|
43122
43136
|
storageKey: text("storage_key").notNull(),
|
|
43123
43137
|
createdAt: timestamp("created_at").defaultNow().notNull()
|
|
43124
|
-
}, (table3) => [
|
|
43138
|
+
}, (table3) => [
|
|
43139
|
+
index("attachments_document_id_idx").on(table3.documentId),
|
|
43140
|
+
uniqueIndex("attachments_storage_key_unique").on(table3.storageKey)
|
|
43141
|
+
]);
|
|
43125
43142
|
attachmentRelations = relations(attachments, ({ one }) => ({
|
|
43126
43143
|
document: one(documents, {
|
|
43127
43144
|
fields: [attachments.documentId],
|
|
@@ -194084,7 +194101,7 @@ function contentAccessForExternalContext(ctx) {
|
|
|
194084
194101
|
userId: ctx.userId,
|
|
194085
194102
|
categoryId: null,
|
|
194086
194103
|
permissions,
|
|
194087
|
-
restricted:
|
|
194104
|
+
restricted: false,
|
|
194088
194105
|
externalRole: ctx.actorRole
|
|
194089
194106
|
};
|
|
194090
194107
|
}
|
|
@@ -195878,6 +195895,20 @@ var attachmentRoutes = new Elysia({ prefix: "/api" }).post("/documents/:id/attac
|
|
|
195878
195895
|
set2.status = 400;
|
|
195879
195896
|
return { error: "quotaReservationId is required" };
|
|
195880
195897
|
}
|
|
195898
|
+
const existing = await withTenant(ctx, async (tx) => {
|
|
195899
|
+
const [row] = await tx.select().from(attachments).where(and(eq(attachments.documentId, documentId), eq(attachments.storageKey, key))).limit(1);
|
|
195900
|
+
return row ?? null;
|
|
195901
|
+
});
|
|
195902
|
+
if (existing) {
|
|
195903
|
+
set2.status = 201;
|
|
195904
|
+
return {
|
|
195905
|
+
id: existing.id,
|
|
195906
|
+
filename: existing.filename,
|
|
195907
|
+
mimeType: existing.mimeType,
|
|
195908
|
+
size: existing.size,
|
|
195909
|
+
url: `/api/attachments/${existing.id}/raw`
|
|
195910
|
+
};
|
|
195911
|
+
}
|
|
195881
195912
|
let headOutput;
|
|
195882
195913
|
try {
|
|
195883
195914
|
headOutput = await storage.send(new HeadObjectCommand({ Bucket: BUCKET, Key: key }));
|
|
@@ -195909,14 +195940,21 @@ var attachmentRoutes = new Elysia({ prefix: "/api" }).post("/documents/:id/attac
|
|
|
195909
195940
|
}
|
|
195910
195941
|
try {
|
|
195911
195942
|
const created = await withTenant(ctx, async (tx) => {
|
|
195943
|
+
await tx.execute(sql`SELECT pg_advisory_xact_lock(hashtextextended(${key}, 0))`);
|
|
195944
|
+
const [raced] = await tx.select().from(attachments).where(and(eq(attachments.documentId, documentId), eq(attachments.storageKey, key))).limit(1);
|
|
195945
|
+
if (raced)
|
|
195946
|
+
return raced;
|
|
195912
195947
|
const [row] = await tx.insert(attachments).values({
|
|
195913
195948
|
documentId,
|
|
195914
195949
|
filename,
|
|
195915
195950
|
mimeType: contentType,
|
|
195916
195951
|
size: storedSize,
|
|
195917
195952
|
storageKey: key
|
|
195918
|
-
}).returning();
|
|
195919
|
-
|
|
195953
|
+
}).onConflictDoNothing({ target: attachments.storageKey }).returning();
|
|
195954
|
+
if (row)
|
|
195955
|
+
return row;
|
|
195956
|
+
const [winner] = await tx.select().from(attachments).where(and(eq(attachments.documentId, documentId), eq(attachments.storageKey, key))).limit(1);
|
|
195957
|
+
return winner ?? null;
|
|
195920
195958
|
});
|
|
195921
195959
|
if (!created) {
|
|
195922
195960
|
if (admission && quotaContext && quotaReservationId) {
|
|
@@ -230457,6 +230495,7 @@ async function searchDocuments(ctx, request, adapters = {}) {
|
|
|
230457
230495
|
...expansionModel ? { expansionModel } : {},
|
|
230458
230496
|
graphAttempted,
|
|
230459
230497
|
graphFailed,
|
|
230498
|
+
graphContribution,
|
|
230460
230499
|
confidenceReasons: confidence.reasons
|
|
230461
230500
|
};
|
|
230462
230501
|
return {
|
|
@@ -234240,7 +234279,7 @@ var swaggerConfig = {
|
|
|
234240
234279
|
},
|
|
234241
234280
|
info: {
|
|
234242
234281
|
title: "DocsMint API",
|
|
234243
|
-
version: "0.5.
|
|
234282
|
+
version: "0.5.2",
|
|
234244
234283
|
description: "Self-hosted AI-first documentation platform. Full-text + semantic search, version history, sharing, and folder organization.",
|
|
234245
234284
|
contact: { name: "HiAi-gg", url: "https://github.com/HiAi-gg/docsmint" },
|
|
234246
234285
|
license: {
|
|
@@ -26,6 +26,8 @@ __export(exports_schema, {
|
|
|
26
26
|
shareRoleEnum: () => shareRoleEnum,
|
|
27
27
|
shareLinks: () => shareLinks,
|
|
28
28
|
shareLinkRelations: () => shareLinkRelations,
|
|
29
|
+
shareGrantStatusEnum: () => shareGrantStatusEnum,
|
|
30
|
+
shareAccessModeEnum: () => shareAccessModeEnum,
|
|
29
31
|
sessions: () => sessions,
|
|
30
32
|
pipelineStatusEnum: () => pipelineStatusEnum,
|
|
31
33
|
pipelineStageEnum: () => pipelineStageEnum,
|
|
@@ -78,6 +80,8 @@ var tsvector = customType({
|
|
|
78
80
|
});
|
|
79
81
|
var documentVisibilityEnum = pgEnum("document_visibility", ["private", "shared", "public"]);
|
|
80
82
|
var shareRoleEnum = pgEnum("share_role", ["viewer", "commenter", "editor"]);
|
|
83
|
+
var shareAccessModeEnum = pgEnum("share_access_mode", ["public", "restricted"]);
|
|
84
|
+
var shareGrantStatusEnum = pgEnum("share_grant_status", ["pending", "accepted", "revoked"]);
|
|
81
85
|
var embeddingStatusEnum = pgEnum("embedding_status", [
|
|
82
86
|
"pending",
|
|
83
87
|
"processing",
|
|
@@ -369,6 +373,9 @@ var shareLinks = pgTable("share_links", {
|
|
|
369
373
|
token: text("token").notNull().unique(),
|
|
370
374
|
passwordHash: text("password_hash"),
|
|
371
375
|
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
376
|
+
accessMode: shareAccessModeEnum("access_mode").notNull().default("public"),
|
|
377
|
+
allowPasswordFallback: boolean("allow_password_fallback").notNull().default(false),
|
|
378
|
+
policyVersion: integer("policy_version").notNull().default(1),
|
|
372
379
|
expiresAt: timestamp("expires_at"),
|
|
373
380
|
createdBy: uuid("created_by").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
374
381
|
workspaceId: text("workspace_id"),
|
|
@@ -404,8 +411,15 @@ var guestAccess = pgTable("guest_access", {
|
|
|
404
411
|
shareLinkId: uuid("share_link_id").notNull().references(() => shareLinks.id, { onDelete: "cascade" }),
|
|
405
412
|
workspaceId: text("workspace_id"),
|
|
406
413
|
guestEmail: text("guest_email").notNull(),
|
|
407
|
-
|
|
408
|
-
|
|
414
|
+
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
415
|
+
status: shareGrantStatusEnum("status").notNull().default("pending"),
|
|
416
|
+
grantedAt: timestamp("granted_at").defaultNow().notNull(),
|
|
417
|
+
acceptedAt: timestamp("accepted_at"),
|
|
418
|
+
revokedAt: timestamp("revoked_at")
|
|
419
|
+
}, (table) => [
|
|
420
|
+
index("guest_access_share_link_idx").on(table.shareLinkId),
|
|
421
|
+
uniqueIndex("guest_access_share_link_email_unique_idx").on(table.shareLinkId, table.guestEmail)
|
|
422
|
+
]);
|
|
409
423
|
var guestAccessRelations = relations(guestAccess, ({ one }) => ({
|
|
410
424
|
shareLink: one(shareLinks, {
|
|
411
425
|
fields: [guestAccess.shareLinkId],
|
|
@@ -421,7 +435,10 @@ var attachments = pgTable("attachments", {
|
|
|
421
435
|
size: bigint("size", { mode: "number" }).notNull(),
|
|
422
436
|
storageKey: text("storage_key").notNull(),
|
|
423
437
|
createdAt: timestamp("created_at").defaultNow().notNull()
|
|
424
|
-
}, (table) => [
|
|
438
|
+
}, (table) => [
|
|
439
|
+
index("attachments_document_id_idx").on(table.documentId),
|
|
440
|
+
uniqueIndex("attachments_storage_key_unique").on(table.storageKey)
|
|
441
|
+
]);
|
|
425
442
|
var attachmentRelations = relations(attachments, ({ one }) => ({
|
|
426
443
|
document: one(documents, {
|
|
427
444
|
fields: [attachments.documentId],
|
|
@@ -26,6 +26,8 @@ __export(exports_schema, {
|
|
|
26
26
|
shareRoleEnum: () => shareRoleEnum,
|
|
27
27
|
shareLinks: () => shareLinks,
|
|
28
28
|
shareLinkRelations: () => shareLinkRelations,
|
|
29
|
+
shareGrantStatusEnum: () => shareGrantStatusEnum,
|
|
30
|
+
shareAccessModeEnum: () => shareAccessModeEnum,
|
|
29
31
|
sessions: () => sessions,
|
|
30
32
|
pipelineStatusEnum: () => pipelineStatusEnum,
|
|
31
33
|
pipelineStageEnum: () => pipelineStageEnum,
|
|
@@ -78,6 +80,8 @@ var tsvector = customType({
|
|
|
78
80
|
});
|
|
79
81
|
var documentVisibilityEnum = pgEnum("document_visibility", ["private", "shared", "public"]);
|
|
80
82
|
var shareRoleEnum = pgEnum("share_role", ["viewer", "commenter", "editor"]);
|
|
83
|
+
var shareAccessModeEnum = pgEnum("share_access_mode", ["public", "restricted"]);
|
|
84
|
+
var shareGrantStatusEnum = pgEnum("share_grant_status", ["pending", "accepted", "revoked"]);
|
|
81
85
|
var embeddingStatusEnum = pgEnum("embedding_status", [
|
|
82
86
|
"pending",
|
|
83
87
|
"processing",
|
|
@@ -369,6 +373,9 @@ var shareLinks = pgTable("share_links", {
|
|
|
369
373
|
token: text("token").notNull().unique(),
|
|
370
374
|
passwordHash: text("password_hash"),
|
|
371
375
|
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
376
|
+
accessMode: shareAccessModeEnum("access_mode").notNull().default("public"),
|
|
377
|
+
allowPasswordFallback: boolean("allow_password_fallback").notNull().default(false),
|
|
378
|
+
policyVersion: integer("policy_version").notNull().default(1),
|
|
372
379
|
expiresAt: timestamp("expires_at"),
|
|
373
380
|
createdBy: uuid("created_by").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
374
381
|
workspaceId: text("workspace_id"),
|
|
@@ -404,8 +411,15 @@ var guestAccess = pgTable("guest_access", {
|
|
|
404
411
|
shareLinkId: uuid("share_link_id").notNull().references(() => shareLinks.id, { onDelete: "cascade" }),
|
|
405
412
|
workspaceId: text("workspace_id"),
|
|
406
413
|
guestEmail: text("guest_email").notNull(),
|
|
407
|
-
|
|
408
|
-
|
|
414
|
+
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
415
|
+
status: shareGrantStatusEnum("status").notNull().default("pending"),
|
|
416
|
+
grantedAt: timestamp("granted_at").defaultNow().notNull(),
|
|
417
|
+
acceptedAt: timestamp("accepted_at"),
|
|
418
|
+
revokedAt: timestamp("revoked_at")
|
|
419
|
+
}, (table) => [
|
|
420
|
+
index("guest_access_share_link_idx").on(table.shareLinkId),
|
|
421
|
+
uniqueIndex("guest_access_share_link_email_unique_idx").on(table.shareLinkId, table.guestEmail)
|
|
422
|
+
]);
|
|
409
423
|
var guestAccessRelations = relations(guestAccess, ({ one }) => ({
|
|
410
424
|
shareLink: one(shareLinks, {
|
|
411
425
|
fields: [guestAccess.shareLinkId],
|
|
@@ -421,7 +435,10 @@ var attachments = pgTable("attachments", {
|
|
|
421
435
|
size: bigint("size", { mode: "number" }).notNull(),
|
|
422
436
|
storageKey: text("storage_key").notNull(),
|
|
423
437
|
createdAt: timestamp("created_at").defaultNow().notNull()
|
|
424
|
-
}, (table) => [
|
|
438
|
+
}, (table) => [
|
|
439
|
+
index("attachments_document_id_idx").on(table.documentId),
|
|
440
|
+
uniqueIndex("attachments_storage_key_unique").on(table.storageKey)
|
|
441
|
+
]);
|
|
425
442
|
var attachmentRelations = relations(attachments, ({ one }) => ({
|
|
426
443
|
document: one(documents, {
|
|
427
444
|
fields: [attachments.documentId],
|
|
@@ -26,6 +26,8 @@ __export(exports_schema, {
|
|
|
26
26
|
shareRoleEnum: () => shareRoleEnum,
|
|
27
27
|
shareLinks: () => shareLinks,
|
|
28
28
|
shareLinkRelations: () => shareLinkRelations,
|
|
29
|
+
shareGrantStatusEnum: () => shareGrantStatusEnum,
|
|
30
|
+
shareAccessModeEnum: () => shareAccessModeEnum,
|
|
29
31
|
sessions: () => sessions,
|
|
30
32
|
pipelineStatusEnum: () => pipelineStatusEnum,
|
|
31
33
|
pipelineStageEnum: () => pipelineStageEnum,
|
|
@@ -78,6 +80,8 @@ var tsvector = customType({
|
|
|
78
80
|
});
|
|
79
81
|
var documentVisibilityEnum = pgEnum("document_visibility", ["private", "shared", "public"]);
|
|
80
82
|
var shareRoleEnum = pgEnum("share_role", ["viewer", "commenter", "editor"]);
|
|
83
|
+
var shareAccessModeEnum = pgEnum("share_access_mode", ["public", "restricted"]);
|
|
84
|
+
var shareGrantStatusEnum = pgEnum("share_grant_status", ["pending", "accepted", "revoked"]);
|
|
81
85
|
var embeddingStatusEnum = pgEnum("embedding_status", [
|
|
82
86
|
"pending",
|
|
83
87
|
"processing",
|
|
@@ -369,6 +373,9 @@ var shareLinks = pgTable("share_links", {
|
|
|
369
373
|
token: text("token").notNull().unique(),
|
|
370
374
|
passwordHash: text("password_hash"),
|
|
371
375
|
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
376
|
+
accessMode: shareAccessModeEnum("access_mode").notNull().default("public"),
|
|
377
|
+
allowPasswordFallback: boolean("allow_password_fallback").notNull().default(false),
|
|
378
|
+
policyVersion: integer("policy_version").notNull().default(1),
|
|
372
379
|
expiresAt: timestamp("expires_at"),
|
|
373
380
|
createdBy: uuid("created_by").notNull().references(() => users.id, { onDelete: "cascade" }),
|
|
374
381
|
workspaceId: text("workspace_id"),
|
|
@@ -404,8 +411,15 @@ var guestAccess = pgTable("guest_access", {
|
|
|
404
411
|
shareLinkId: uuid("share_link_id").notNull().references(() => shareLinks.id, { onDelete: "cascade" }),
|
|
405
412
|
workspaceId: text("workspace_id"),
|
|
406
413
|
guestEmail: text("guest_email").notNull(),
|
|
407
|
-
|
|
408
|
-
|
|
414
|
+
role: shareRoleEnum("role").notNull().default("viewer"),
|
|
415
|
+
status: shareGrantStatusEnum("status").notNull().default("pending"),
|
|
416
|
+
grantedAt: timestamp("granted_at").defaultNow().notNull(),
|
|
417
|
+
acceptedAt: timestamp("accepted_at"),
|
|
418
|
+
revokedAt: timestamp("revoked_at")
|
|
419
|
+
}, (table) => [
|
|
420
|
+
index("guest_access_share_link_idx").on(table.shareLinkId),
|
|
421
|
+
uniqueIndex("guest_access_share_link_email_unique_idx").on(table.shareLinkId, table.guestEmail)
|
|
422
|
+
]);
|
|
409
423
|
var guestAccessRelations = relations(guestAccess, ({ one }) => ({
|
|
410
424
|
shareLink: one(shareLinks, {
|
|
411
425
|
fields: [guestAccess.shareLinkId],
|
|
@@ -421,7 +435,10 @@ var attachments = pgTable("attachments", {
|
|
|
421
435
|
size: bigint("size", { mode: "number" }).notNull(),
|
|
422
436
|
storageKey: text("storage_key").notNull(),
|
|
423
437
|
createdAt: timestamp("created_at").defaultNow().notNull()
|
|
424
|
-
}, (table) => [
|
|
438
|
+
}, (table) => [
|
|
439
|
+
index("attachments_document_id_idx").on(table.documentId),
|
|
440
|
+
uniqueIndex("attachments_storage_key_unique").on(table.storageKey)
|
|
441
|
+
]);
|
|
425
442
|
var attachmentRelations = relations(attachments, ({ one }) => ({
|
|
426
443
|
document: one(documents, {
|
|
427
444
|
fields: [attachments.documentId],
|
|
@@ -7,7 +7,7 @@ import { a as te, i as _, n as ne, o as v, r as re, t as ie } from "./dialog-Ce7
|
|
|
7
7
|
import { t as ae } from "./input-BWlOML_m.js";
|
|
8
8
|
import { t as y } from "./label-C2HfJNQ2.js";
|
|
9
9
|
import { a as oe, n as se, o as ce, r as b, s as le, t as ue } from "./api-keys-DIwAdYkg.js";
|
|
10
|
-
import { a as de, i as fe, n as pe, r as me, t as he } from "./select-value-
|
|
10
|
+
import { a as de, i as fe, n as pe, r as me, t as he } from "./select-value-JCAp2PmU.js";
|
|
11
11
|
import "svelte/internal/disclose-version";
|
|
12
12
|
import * as x from "svelte/internal/client";
|
|
13
13
|
//#region src/lib/components/sidebar/category-dialog-feedback.ts
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
import { t as e } from "./Icon-Db-o32_E.js";
|
|
2
|
+
import { n as t } from "./folder-Cx60MRpi.js";
|
|
3
|
+
import { t as n } from "./dist-DQa_OHOa.js";
|
|
4
|
+
import { $ as r, G as i, H as a, J as o, K as s, Q as c, U as l, W as u, X as d, Y as f, Z as p, at as m, ct as h, dt as g, et as _, it as v, lt as ee, nt as te, ot as y, q as ne, rt as b, st as x, tt as S, ut as C } from "./messages-DIovIZrK.js";
|
|
5
|
+
import { t as w } from "./utils-BPDRytUU.js";
|
|
6
|
+
import { A as T, K as E, et as D, q as O } from "./floating-layer-anchor-S5RSefGN.js";
|
|
7
|
+
import "svelte/internal/disclose-version";
|
|
8
|
+
import * as k from "svelte/internal/client";
|
|
9
|
+
import { getAllContexts as A, mount as j, unmount as M } from "svelte";
|
|
10
|
+
import "svelte/internal/flags/legacy";
|
|
11
|
+
//#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/calendar.svelte
|
|
12
|
+
function N(t, n) {
|
|
13
|
+
let r = k.legacy_rest_props(n, [
|
|
14
|
+
"children",
|
|
15
|
+
"$$slots",
|
|
16
|
+
"$$events",
|
|
17
|
+
"$$legacy"
|
|
18
|
+
]), i = [
|
|
19
|
+
["path", { d: "M8 2v4" }],
|
|
20
|
+
["path", { d: "M16 2v4" }],
|
|
21
|
+
["rect", {
|
|
22
|
+
width: "18",
|
|
23
|
+
height: "18",
|
|
24
|
+
x: "3",
|
|
25
|
+
y: "4",
|
|
26
|
+
rx: "2"
|
|
27
|
+
}],
|
|
28
|
+
["path", { d: "M3 10h18" }]
|
|
29
|
+
];
|
|
30
|
+
e(t, k.spread_props({ name: "calendar" }, () => r, {
|
|
31
|
+
get iconNode() {
|
|
32
|
+
return i;
|
|
33
|
+
},
|
|
34
|
+
children: (e, t) => {
|
|
35
|
+
var r = k.comment(), i = k.first_child(r);
|
|
36
|
+
k.slot(i, n, "default", {}, null), k.append(e, r);
|
|
37
|
+
},
|
|
38
|
+
$$slots: { default: !0 }
|
|
39
|
+
}));
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/chevron-left.svelte
|
|
43
|
+
function P(t, n) {
|
|
44
|
+
let r = k.legacy_rest_props(n, [
|
|
45
|
+
"children",
|
|
46
|
+
"$$slots",
|
|
47
|
+
"$$events",
|
|
48
|
+
"$$legacy"
|
|
49
|
+
]), i = [["path", { d: "m15 18-6-6 6-6" }]];
|
|
50
|
+
e(t, k.spread_props({ name: "chevron-left" }, () => r, {
|
|
51
|
+
get iconNode() {
|
|
52
|
+
return i;
|
|
53
|
+
},
|
|
54
|
+
children: (e, t) => {
|
|
55
|
+
var r = k.comment(), i = k.first_child(r);
|
|
56
|
+
k.slot(i, n, "default", {}, null), k.append(e, r);
|
|
57
|
+
},
|
|
58
|
+
$$slots: { default: !0 }
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region ../node_modules/.bun/lucide-svelte@0.577.0+ff5f301bb2db9a0d/node_modules/lucide-svelte/dist/icons/folder-kanban.svelte
|
|
63
|
+
function F(t, n) {
|
|
64
|
+
let r = k.legacy_rest_props(n, [
|
|
65
|
+
"children",
|
|
66
|
+
"$$slots",
|
|
67
|
+
"$$events",
|
|
68
|
+
"$$legacy"
|
|
69
|
+
]), i = [
|
|
70
|
+
["path", { d: "M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z" }],
|
|
71
|
+
["path", { d: "M8 10v4" }],
|
|
72
|
+
["path", { d: "M12 10v2" }],
|
|
73
|
+
["path", { d: "M16 10v6" }]
|
|
74
|
+
];
|
|
75
|
+
e(t, k.spread_props({ name: "folder-kanban" }, () => r, {
|
|
76
|
+
get iconNode() {
|
|
77
|
+
return i;
|
|
78
|
+
},
|
|
79
|
+
children: (e, t) => {
|
|
80
|
+
var r = k.comment(), i = k.first_child(r);
|
|
81
|
+
k.slot(i, n, "default", {}, null), k.append(e, r);
|
|
82
|
+
},
|
|
83
|
+
$$slots: { default: !0 }
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
//#endregion
|
|
87
|
+
//#region ../node_modules/.bun/bits-ui@2.18.1+203cd734255b50e4/node_modules/bits-ui/dist/bits/utilities/portal/portal-consumer.svelte
|
|
88
|
+
function I(e, t) {
|
|
89
|
+
var n = k.comment(), r = k.first_child(n);
|
|
90
|
+
k.key(r, () => t.children, (e) => {
|
|
91
|
+
var n = k.comment(), r = k.first_child(n);
|
|
92
|
+
k.snippet(r, () => t.children ?? k.noop), k.append(e, n);
|
|
93
|
+
}), k.append(e, n);
|
|
94
|
+
}
|
|
95
|
+
//#endregion
|
|
96
|
+
//#region ../node_modules/.bun/bits-ui@2.18.1+203cd734255b50e4/node_modules/bits-ui/dist/bits/utilities/config/bits-config.js
|
|
97
|
+
var L = new O("BitsConfig");
|
|
98
|
+
function R() {
|
|
99
|
+
let e = new z(null, {});
|
|
100
|
+
return L.getOr(e).opts;
|
|
101
|
+
}
|
|
102
|
+
var z = class {
|
|
103
|
+
opts;
|
|
104
|
+
constructor(e, t) {
|
|
105
|
+
let n = B(e, t);
|
|
106
|
+
this.opts = {
|
|
107
|
+
defaultPortalTo: n((e) => e.defaultPortalTo),
|
|
108
|
+
defaultLocale: n((e) => e.defaultLocale)
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
function B(e, t) {
|
|
113
|
+
return (n) => D(() => {
|
|
114
|
+
let r = n(t)?.current;
|
|
115
|
+
if (r !== void 0) return r;
|
|
116
|
+
if (e !== null) return n(e.opts)?.current;
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
//#endregion
|
|
120
|
+
//#region ../node_modules/.bun/bits-ui@2.18.1+203cd734255b50e4/node_modules/bits-ui/dist/bits/utilities/config/prop-resolvers.js
|
|
121
|
+
function V(e, t) {
|
|
122
|
+
return (n) => {
|
|
123
|
+
let r = R();
|
|
124
|
+
return D(() => {
|
|
125
|
+
let i = n();
|
|
126
|
+
if (i !== void 0) return i;
|
|
127
|
+
let a = e(r).current;
|
|
128
|
+
return a === void 0 ? t : a;
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
var H = V((e) => e.defaultPortalTo, "body");
|
|
133
|
+
//#endregion
|
|
134
|
+
//#region ../node_modules/.bun/bits-ui@2.18.1+203cd734255b50e4/node_modules/bits-ui/dist/bits/utilities/portal/portal.svelte
|
|
135
|
+
function U(e, t) {
|
|
136
|
+
k.push(t, !0);
|
|
137
|
+
let n = H(() => t.to), r = A(), i = k.derived(a);
|
|
138
|
+
function a() {
|
|
139
|
+
if (!T || t.disabled) return null;
|
|
140
|
+
let e = null;
|
|
141
|
+
return e = typeof n.current == "string" ? document.querySelector(n.current) : n.current, e;
|
|
142
|
+
}
|
|
143
|
+
let o;
|
|
144
|
+
function s() {
|
|
145
|
+
o &&= (M(o), null);
|
|
146
|
+
}
|
|
147
|
+
E([() => k.get(i), () => t.disabled], ([e, n]) => {
|
|
148
|
+
if (!e || n) {
|
|
149
|
+
s();
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
return o = j(I, {
|
|
153
|
+
target: e,
|
|
154
|
+
props: { children: t.children },
|
|
155
|
+
context: r
|
|
156
|
+
}), () => {
|
|
157
|
+
s();
|
|
158
|
+
};
|
|
159
|
+
});
|
|
160
|
+
var c = k.comment(), l = k.first_child(c), u = (e) => {
|
|
161
|
+
var n = k.comment(), r = k.first_child(n);
|
|
162
|
+
k.snippet(r, () => t.children ?? k.noop), k.append(e, n);
|
|
163
|
+
};
|
|
164
|
+
k.if(l, (e) => {
|
|
165
|
+
t.disabled && e(u);
|
|
166
|
+
}), k.append(e, c), k.pop();
|
|
167
|
+
}
|
|
168
|
+
//#endregion
|
|
169
|
+
//#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/badge/badge.svelte
|
|
170
|
+
var W = /* @__PURE__ */ new Set([
|
|
171
|
+
"$$slots",
|
|
172
|
+
"$$events",
|
|
173
|
+
"$$legacy",
|
|
174
|
+
"ref",
|
|
175
|
+
"class",
|
|
176
|
+
"variant",
|
|
177
|
+
"children"
|
|
178
|
+
]), G = k.from_html("<div><!></div>");
|
|
179
|
+
function K(e, t) {
|
|
180
|
+
k.push(t, !0);
|
|
181
|
+
let n = k.prop(t, "ref", 15, null), r = k.prop(t, "variant", 3, "default"), i = k.rest_props(t, W);
|
|
182
|
+
var a = G();
|
|
183
|
+
k.attribute_effect(a, (e) => ({
|
|
184
|
+
class: e,
|
|
185
|
+
...i
|
|
186
|
+
}), [() => w(q({ variant: r() }), t.class)]);
|
|
187
|
+
var o = k.child(a), s = (e) => {
|
|
188
|
+
var n = k.comment(), r = k.first_child(n);
|
|
189
|
+
k.snippet(r, () => t.children), k.append(e, n);
|
|
190
|
+
};
|
|
191
|
+
k.if(o, (e) => {
|
|
192
|
+
t.children && e(s);
|
|
193
|
+
}), k.reset(a), k.bind_this(a, (e) => n(e), () => n()), k.append(e, a), k.pop();
|
|
194
|
+
}
|
|
195
|
+
//#endregion
|
|
196
|
+
//#region ../node_modules/.bun/@hiai-gg+hiai-ui@0.0.8+3149ccaa93f654b8/node_modules/@hiai-gg/hiai-ui/dist/components/ui/badge/index.js
|
|
197
|
+
var q = n({
|
|
198
|
+
base: "inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
199
|
+
variants: { variant: {
|
|
200
|
+
default: "border-transparent bg-primary text-primary-foreground shadow",
|
|
201
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground",
|
|
202
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground shadow",
|
|
203
|
+
outline: "text-foreground"
|
|
204
|
+
} },
|
|
205
|
+
defaultVariants: { variant: "default" }
|
|
206
|
+
}), J = k.from_html("<span class=\"dp-weekday svelte-zmry26\"> </span>"), Y = k.from_html("<span class=\"dp-empty svelte-zmry26\"></span>"), X = k.from_html("<button type=\"button\"> </button>"), re = k.from_html("<button type=\"button\" class=\"dp-clear svelte-zmry26\"> </button>"), ie = k.from_html("<div class=\"dp-popover svelte-zmry26\" role=\"dialog\"><div class=\"dp-header svelte-zmry26\"><button type=\"button\" class=\"dp-nav svelte-zmry26\"><!></button> <span class=\"dp-title svelte-zmry26\"> </span> <button type=\"button\" class=\"dp-nav svelte-zmry26\"><!></button></div> <div class=\"dp-weekdays svelte-zmry26\"></div> <div class=\"dp-grid svelte-zmry26\"></div> <!></div>"), ae = k.from_html("<div class=\"datepicker svelte-zmry26\"><button type=\"button\" aria-haspopup=\"dialog\" class=\"dp-trigger svelte-zmry26\"><!> <span> </span></button> <!></div>");
|
|
207
|
+
function Z(e, n) {
|
|
208
|
+
k.push(n, !0);
|
|
209
|
+
let w = k.prop(n, "value", 15, ""), T = k.prop(n, "ariaLabel", 19, () => u()), E = k.prop(n, "placeholder", 19, () => s()), D = k.state(!1), O = k.state(null), A = [
|
|
210
|
+
r(),
|
|
211
|
+
c(),
|
|
212
|
+
p(),
|
|
213
|
+
d(),
|
|
214
|
+
f(),
|
|
215
|
+
o(),
|
|
216
|
+
ne()
|
|
217
|
+
], j = [
|
|
218
|
+
g(),
|
|
219
|
+
C(),
|
|
220
|
+
ee(),
|
|
221
|
+
h(),
|
|
222
|
+
x(),
|
|
223
|
+
y(),
|
|
224
|
+
m(),
|
|
225
|
+
v(),
|
|
226
|
+
b(),
|
|
227
|
+
te(),
|
|
228
|
+
S(),
|
|
229
|
+
_()
|
|
230
|
+
];
|
|
231
|
+
function M(e) {
|
|
232
|
+
return String(e).padStart(2, "0");
|
|
233
|
+
}
|
|
234
|
+
function F(e) {
|
|
235
|
+
let t = /^(\d{4})-(\d{2})-(\d{2})$/.exec(e);
|
|
236
|
+
return t ? {
|
|
237
|
+
y: Number(t[1]),
|
|
238
|
+
m: Number(t[2]) - 1,
|
|
239
|
+
d: Number(t[3])
|
|
240
|
+
} : null;
|
|
241
|
+
}
|
|
242
|
+
let I = /* @__PURE__ */ new Date(), L = k.state(k.proxy(I.getFullYear())), R = k.state(k.proxy(I.getMonth()));
|
|
243
|
+
k.user_effect(() => {
|
|
244
|
+
if (k.get(D)) {
|
|
245
|
+
let e = F(w());
|
|
246
|
+
e && (k.set(L, e.y, !0), k.set(R, e.m, !0));
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
let z = k.derived(() => F(w()));
|
|
250
|
+
function B() {
|
|
251
|
+
let e = (new Date(k.get(L), k.get(R), 1).getDay() + 6) % 7, t = new Date(k.get(L), k.get(R) + 1, 0).getDate(), n = [];
|
|
252
|
+
for (let t = 0; t < e; t++) n.push(null);
|
|
253
|
+
for (let e = 1; e <= t; e++) n.push(e);
|
|
254
|
+
return n;
|
|
255
|
+
}
|
|
256
|
+
function V(e) {
|
|
257
|
+
return e === I.getDate() && k.get(R) === I.getMonth() && k.get(L) === I.getFullYear();
|
|
258
|
+
}
|
|
259
|
+
function H(e) {
|
|
260
|
+
return k.get(z) !== null && k.get(z).y === k.get(L) && k.get(z).m === k.get(R) && k.get(z).d === e;
|
|
261
|
+
}
|
|
262
|
+
function U(e) {
|
|
263
|
+
w(`${k.get(L)}-${M(k.get(R) + 1)}-${M(e)}`), k.set(D, !1), n.onchange?.();
|
|
264
|
+
}
|
|
265
|
+
function W() {
|
|
266
|
+
w(""), k.set(D, !1), n.onchange?.();
|
|
267
|
+
}
|
|
268
|
+
function G() {
|
|
269
|
+
k.get(R) === 0 ? (k.set(R, 11), k.set(L, k.get(L) - 1)) : k.set(R, k.get(R) - 1);
|
|
270
|
+
}
|
|
271
|
+
function K() {
|
|
272
|
+
k.get(R) === 11 ? (k.set(R, 0), k.set(L, k.get(L) + 1)) : k.set(R, k.get(R) + 1);
|
|
273
|
+
}
|
|
274
|
+
k.user_effect(() => {
|
|
275
|
+
if (!k.get(D)) return;
|
|
276
|
+
function e(e) {
|
|
277
|
+
k.get(O) && !k.get(O).contains(e.target) && k.set(D, !1);
|
|
278
|
+
}
|
|
279
|
+
function t(e) {
|
|
280
|
+
e.key === "Escape" && k.set(D, !1);
|
|
281
|
+
}
|
|
282
|
+
return document.addEventListener("pointerdown", e), document.addEventListener("keydown", t), () => {
|
|
283
|
+
document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", t);
|
|
284
|
+
};
|
|
285
|
+
});
|
|
286
|
+
var q = ae(), Z = k.child(q), Q = k.child(Z);
|
|
287
|
+
N(Q, { class: "size-3.5 shrink-0 opacity-70" });
|
|
288
|
+
var $ = k.sibling(Q, 2), oe = k.child($, !0);
|
|
289
|
+
k.reset($), k.reset(Z);
|
|
290
|
+
var se = k.sibling(Z, 2), ce = (e) => {
|
|
291
|
+
var n = ie(), r = k.child(n), o = k.child(r);
|
|
292
|
+
P(k.child(o), { class: "size-4" }), k.reset(o);
|
|
293
|
+
var s = k.sibling(o, 2), c = k.child(s);
|
|
294
|
+
k.reset(s);
|
|
295
|
+
var u = k.sibling(s, 2);
|
|
296
|
+
t(k.child(u), { class: "size-4" }), k.reset(u), k.reset(r);
|
|
297
|
+
var d = k.sibling(r, 2);
|
|
298
|
+
k.each(d, 20, () => A, (e) => e, (e, t) => {
|
|
299
|
+
var n = J(), r = k.child(n, !0);
|
|
300
|
+
k.reset(n), k.template_effect(() => k.set_text(r, t)), k.append(e, n);
|
|
301
|
+
}), k.reset(d);
|
|
302
|
+
var f = k.sibling(d, 2);
|
|
303
|
+
k.each(f, 21, B, k.index, (e, t) => {
|
|
304
|
+
var n = k.comment(), r = k.first_child(n), i = (e) => {
|
|
305
|
+
var t = Y();
|
|
306
|
+
k.append(e, t);
|
|
307
|
+
}, a = (e) => {
|
|
308
|
+
var n = X();
|
|
309
|
+
let r;
|
|
310
|
+
var i = k.child(n, !0);
|
|
311
|
+
k.reset(n), k.template_effect((e) => {
|
|
312
|
+
r = k.set_class(n, 1, "dp-day svelte-zmry26", null, r, e), k.set_text(i, k.get(t));
|
|
313
|
+
}, [() => ({
|
|
314
|
+
selected: H(k.get(t)),
|
|
315
|
+
today: V(k.get(t))
|
|
316
|
+
})]), k.delegated("click", n, () => U(k.get(t))), k.append(e, n);
|
|
317
|
+
};
|
|
318
|
+
k.if(r, (e) => {
|
|
319
|
+
k.get(t) === null ? e(i) : e(a, -1);
|
|
320
|
+
}), k.append(e, n);
|
|
321
|
+
}), k.reset(f);
|
|
322
|
+
var p = k.sibling(f, 2), m = (e) => {
|
|
323
|
+
var t = re(), n = k.child(t, !0);
|
|
324
|
+
k.reset(t), k.template_effect((e) => k.set_text(n, e), [() => i()]), k.delegated("click", t, W), k.append(e, t);
|
|
325
|
+
};
|
|
326
|
+
k.if(p, (e) => {
|
|
327
|
+
w() && e(m);
|
|
328
|
+
}), k.reset(n), k.template_effect((e, t) => {
|
|
329
|
+
k.set_attribute(n, "aria-label", T()), k.set_attribute(o, "aria-label", e), k.set_text(c, `${j[k.get(R)] ?? ""} ${k.get(L) ?? ""}`), k.set_attribute(u, "aria-label", t);
|
|
330
|
+
}, [() => l(), () => a()]), k.delegated("click", o, G), k.delegated("click", u, K), k.append(e, n);
|
|
331
|
+
};
|
|
332
|
+
k.if(se, (e) => {
|
|
333
|
+
k.get(D) && e(ce);
|
|
334
|
+
}), k.reset(q), k.bind_this(q, (e) => k.set(O, e), () => k.get(O)), k.template_effect(() => {
|
|
335
|
+
k.set_attribute(Z, "id", n.id), k.set_attribute(Z, "aria-label", T()), k.set_attribute(Z, "aria-expanded", k.get(D)), k.set_class($, 1, k.clsx(w() ? "" : "dp-placeholder"), "svelte-zmry26"), k.set_text(oe, w() || E());
|
|
336
|
+
}), k.delegated("click", Z, () => k.set(D, !k.get(D))), k.append(e, q), k.pop();
|
|
337
|
+
}
|
|
338
|
+
k.delegate(["click"]);
|
|
339
|
+
//#endregion
|
|
340
|
+
export { P as a, F as i, K as n, N as o, U as r, Z as t };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as e, t } from "./folder-Cx60MRpi.js";
|
|
2
|
-
import { a as n, i as r, o as i, r as a, t as o } from "./dropdown-menu-
|
|
2
|
+
import { a as n, i as r, o as i, r as a, t as o } from "./dropdown-menu-CJ_7V3N0.js";
|
|
3
3
|
import { Kt as s, Pi as c, Ti as l, Xn as u, hi as ee, mi as te, vi as d } from "./messages-DIovIZrK.js";
|
|
4
4
|
import { a as f, n as p, t as m } from "./route-context-DYQlUfzL.js";
|
|
5
5
|
import { t as h } from "./utils-DrfHTcei.js";
|