@maudecode/kanvil 0.5.0 → 0.5.1

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 (73) hide show
  1. package/apps/server/dist/{auth-Cs_whzgk.mjs → auth-Bm6cIseE.mjs} +16 -10
  2. package/apps/server/dist/client.mjs +10 -9
  3. package/apps/server/dist/{config-DKuNQY5b.mjs → config-CrJuk5mY.mjs} +1 -1
  4. package/apps/server/dist/index.mjs +4 -4
  5. package/apps/server/dist/migrate.mjs +1 -1
  6. package/apps/server/dist/recover.mjs +3 -3
  7. package/apps/server/dist/{src-DptOUNRd.mjs → src-D80LNZKP.mjs} +5 -2
  8. package/apps/web/dist/assets/{CompositeItem-CXqewtEL.js → CompositeItem-Tueq2VKR.js} +1 -1
  9. package/apps/web/dist/assets/{Trans-B1rRlWca.js → Trans-BgU0eWAX.js} +1 -1
  10. package/apps/web/dist/assets/admin-settings-Ckis3XJG.js +1 -0
  11. package/apps/web/dist/assets/{archive-restore-76sStk8K.js → archive-restore-CSpoH6mS.js} +1 -1
  12. package/apps/web/dist/assets/{az-B7OgHoaE.js → az-DUcDY8Bp.js} +1 -1
  13. package/apps/web/dist/assets/{corner-left-up-PD-73Nae.js → corner-left-up-C3OGlXIB.js} +1 -1
  14. package/apps/web/dist/assets/{de-B-bv38Q0.js → de-89C1V8Ut.js} +1 -1
  15. package/apps/web/dist/assets/{default-bQFGTwIp.js → default-Dnep8Yat.js} +1 -1
  16. package/apps/web/dist/assets/{delivery-settings-BvMeOsCS.js → delivery-settings-cMldZ9K7.js} +1 -1
  17. package/apps/web/dist/assets/{el-BQHQHQgX.js → el-D6CICkhi.js} +1 -1
  18. package/apps/web/dist/assets/{ellipsis-GF1HwTDb.js → ellipsis-lJJU8zB7.js} +1 -1
  19. package/apps/web/dist/assets/{es-f5Xr8ldr.js → es-B20Izib2.js} +1 -1
  20. package/apps/web/dist/assets/{forms-BlEL8C_P.js → forms--87R7VQW.js} +1 -1
  21. package/apps/web/dist/assets/{fr-DSR0htnl.js → fr-DVlGnGsu.js} +1 -1
  22. package/apps/web/dist/assets/{hi-BaAJEWuW.js → hi-D1F5Pi_I.js} +1 -1
  23. package/apps/web/dist/assets/{highlight-DXT2xgt8.js → highlight-ygDJPvRy.js} +1 -1
  24. package/apps/web/dist/assets/{id-kxogWcip.js → id-LESXKW7G.js} +1 -1
  25. package/apps/web/dist/assets/index-Bn-MADyj.css +2 -0
  26. package/apps/web/dist/assets/index-Ds3IHeIi.js +17 -0
  27. package/apps/web/dist/assets/{invitations-BPik3J_G.js → invitations-C5WbdDUQ.js} +1 -1
  28. package/apps/web/dist/assets/{it-C_qk40U6.js → it-CgRGAs6u.js} +1 -1
  29. package/apps/web/dist/assets/{item-TCHuZNK6.js → item-BD1Poxfs.js} +1 -1
  30. package/apps/web/dist/assets/{ja-Dn5h64V9.js → ja-B7arhzgX.js} +1 -1
  31. package/apps/web/dist/assets/{ko-CjaoEPuG.js → ko-Ro_UonyA.js} +1 -1
  32. package/apps/web/dist/assets/{label-settings-DZTorNDm.js → label-settings-BaikCfal.js} +1 -1
  33. package/apps/web/dist/assets/{markdown-blocks-BQLO-H_7.js → markdown-blocks-toSPlHSc.js} +1 -1
  34. package/apps/web/dist/assets/{member-directory-Dx_jQYfI.js → member-directory-BjUy1KuK.js} +1 -1
  35. package/apps/web/dist/assets/{mk-jLeGD50T.js → mk-DR3kmrIp.js} +1 -1
  36. package/apps/web/dist/assets/{nl-AVtC5ygT.js → nl-D3uRJJLT.js} +1 -1
  37. package/apps/web/dist/assets/{pl-Dup1h_Y1.js → pl-CtzDOLdV.js} +1 -1
  38. package/apps/web/dist/assets/{project-lifecycle-n1ZZbYfu.js → project-lifecycle-BBHcRi6p.js} +1 -1
  39. package/apps/web/dist/assets/project-settings-BaYuxYjg.js +1 -0
  40. package/apps/web/dist/assets/{pt-BR-Cm04EWM-.js → pt-BR-FarXHHuf.js} +1 -1
  41. package/apps/web/dist/assets/{public-project-BivDjU_a.js → public-project-DGf3nkg2.js} +1 -1
  42. package/apps/web/dist/assets/{rotate-ccw-CSaKhZYt.js → rotate-ccw-Byx7O3RH.js} +1 -1
  43. package/apps/web/dist/assets/{ru-IeycXsyE.js → ru-DHMEVxvB.js} +1 -1
  44. package/apps/web/dist/assets/{search-Ble6WSEU.js → search-DwsPEC4E.js} +35 -35
  45. package/apps/web/dist/assets/{send-BLMZ8gQ0.js → send-DlGV2XQS.js} +1 -1
  46. package/apps/web/dist/assets/settings-C_sN8Y1h.js +1 -0
  47. package/apps/web/dist/assets/{sliders-horizontal-Db6kRvuw.js → sliders-horizontal-CEHGGft_.js} +1 -1
  48. package/apps/web/dist/assets/{switch-BeX-0Fwq.js → switch-B_rsZYBf.js} +1 -1
  49. package/apps/web/dist/assets/{table-UJp5S9yy.js → table-2AEfwytk.js} +1 -1
  50. package/apps/web/dist/assets/{ticket-detail-C24opfNW.js → ticket-detail-C2l8nwF-.js} +2 -2
  51. package/apps/web/dist/assets/ticket-editor-B0UB98HS.js +2 -0
  52. package/apps/web/dist/assets/ticket-list-D_MHudj1.js +6 -0
  53. package/apps/web/dist/assets/{ticket-list-controls-fYBottFC.js → ticket-list-controls-jKg4i-NA.js} +1 -1
  54. package/apps/web/dist/assets/{tr-DtT_dKUK.js → tr-CjdSDu0z.js} +1 -1
  55. package/apps/web/dist/assets/{uk-CsbeHSS6.js → uk-C8od6u_H.js} +1 -1
  56. package/apps/web/dist/assets/{upload-DUEg04Nj.js → upload-BeTAGU_W.js} +1 -1
  57. package/apps/web/dist/assets/{useQueries-5lW2C5Sb.js → useQueries-BtRgTciJ.js} +1 -1
  58. package/apps/web/dist/assets/{vi-rkf1BOLx.js → vi-BwdBtgfS.js} +1 -1
  59. package/apps/web/dist/assets/{visual-editor-DkFLjouD.js → visual-editor-CzB_qwvB.js} +3 -3
  60. package/apps/web/dist/assets/{workspace-settings-Bcsp-VoJ.js → workspace-settings-DOr9j8X1.js} +1 -1
  61. package/apps/web/dist/assets/{zh-CN-Xo-QId5w.js → zh-CN-DM-UoFmL.js} +1 -1
  62. package/apps/web/dist/assets/{zh-TW-DEnTqjbn.js → zh-TW-q2nrwFjt.js} +1 -1
  63. package/apps/web/dist/index.html +8 -8
  64. package/docs/api.md +3 -1
  65. package/docs/cli.md +1 -1
  66. package/package.json +1 -1
  67. package/apps/web/dist/assets/admin-settings-DE3MfBFE.js +0 -1
  68. package/apps/web/dist/assets/index-CYVrs22O.js +0 -17
  69. package/apps/web/dist/assets/index-DyQNFS69.css +0 -2
  70. package/apps/web/dist/assets/project-settings-B_Ih5kiz.js +0 -1
  71. package/apps/web/dist/assets/settings-CH48qQK2.js +0 -1
  72. package/apps/web/dist/assets/ticket-editor--d_bG9C1.js +0 -2
  73. package/apps/web/dist/assets/ticket-list-DRbZWYHf.js +0 -5
@@ -1,5 +1,5 @@
1
- import { a as auth_schema_exports, c as oauthConsent, d as user, i as apikey, l as oauthRefreshToken, o as oauthAccessToken, r as account, s as oauthClient, u as session } from "./config-DKuNQY5b.mjs";
2
- import { $ as permissionLabels, A as hasAdminRole, At as workflowOrder, Bt as searchSettingsSchema, D as filterKey, Dt as ticketPredicates, E as eventSchema, Et as ticketImportSchema, F as isHexColor, Ft as instanceUpdateSchema, J as operationPermission, N as importSecretFields, Nt as authenticationPolicySchema, O as filterList, Ot as ticketSchema, P as invitationStatuses, Pt as brokerSettingsSchema, Q as parsePublicOutput, Rt as s3SettingsSchema, S as difficulties, St as states, T as eventLabels, Tt as ticketFilter, V as mentionScheme, X as parseCustomFieldFilter, Y as operations, Z as parseOutput, _ as deletedAccountName, _t as seededPermissions, at as publicOperations, b as destinationEventKeys, bt as stagedUploadLifetime, ct as repositoryProviderDefinitions, d as customFieldSchema, dt as resourceProvider, et as permissionScope, f as customFieldValue, ft as roleCategory, g as defaultWorkflow, gt as searchResultTypes, h as defaultOrder, ht as scopes, i as channelRouteAllows, it as projectSchema, jt as workspaceSchema, k as formatEvent, kt as ticketSummarySchema, l as credentialProjectsSchema, lt as repositoryProviders, m as defaultClaimMaxLeaseSeconds, mt as roles, n as attachmentLimit, nt as priorities, p as customFieldValueSchema, pt as roleLabels, r as channelKinds, rt as priorityLabels, s as closedStates, st as remoteKinds, t as ApiError, tt as permissions, u as customFieldFilterTokens, ut as repositorySecretFields, v as deliverySecretFields, vt as signInMethodLabels, w as eventCategories, wt as ticketExportFormat, x as destinationKinds, xt as stateLabels, y as deliverySettingsSchema, yt as snapshotSchema, z as isSeededRole, zt as searchAuthentication } from "./src-DptOUNRd.mjs";
1
+ import { a as auth_schema_exports, c as oauthConsent, d as user, i as apikey, l as oauthRefreshToken, o as oauthAccessToken, r as account, s as oauthClient, u as session } from "./config-CrJuk5mY.mjs";
2
+ import { $ as permissionLabels, A as hasAdminRole, At as workflowOrder, Bt as searchSettingsSchema, D as filterKey, Dt as ticketPredicates, E as eventSchema, Et as ticketImportSchema, F as isHexColor, Ft as instanceUpdateSchema, J as operationPermission, N as importSecretFields, Nt as authenticationPolicySchema, O as filterList, Ot as ticketSchema, P as invitationStatuses, Pt as brokerSettingsSchema, Q as parsePublicOutput, Rt as s3SettingsSchema, S as difficulties, St as states, T as eventLabels, Tt as ticketFilter, V as mentionScheme, X as parseCustomFieldFilter, Y as operations, Z as parseOutput, _ as deletedAccountName, _t as seededPermissions, at as publicOperations, b as destinationEventKeys, bt as stagedUploadLifetime, ct as repositoryProviderDefinitions, d as customFieldSchema, dt as resourceProvider, et as permissionScope, f as customFieldValue, ft as roleCategory, g as defaultWorkflow, gt as searchResultTypes, h as defaultOrder, ht as scopes, i as channelRouteAllows, it as projectSchema, jt as workspaceSchema, k as formatEvent, kt as ticketSummarySchema, l as credentialProjectsSchema, lt as repositoryProviders, m as defaultClaimMaxLeaseSeconds, mt as roles, n as attachmentLimit, nt as priorities, p as customFieldValueSchema, pt as roleLabels, r as channelKinds, rt as priorityLabels, s as closedStates, st as remoteKinds, t as ApiError, tt as permissions, u as customFieldFilterTokens, ut as repositorySecretFields, v as deliverySecretFields, vt as signInMethodLabels, w as eventCategories, wt as ticketExportFormat, x as destinationKinds, xt as stateLabels, y as deliverySettingsSchema, yt as snapshotSchema, z as isSeededRole, zt as searchAuthentication } from "./src-D80LNZKP.mjs";
3
3
  import { and, asc, count, desc, eq, getTableColumns, gt, ilike, inArray, isNotNull, isNull, lt, lte, ne, notInArray, or, sql } from "drizzle-orm";
4
4
  import { alias, bigint, boolean, check, customType, foreignKey, index, integer, jsonb, pgTable, primaryKey, text, timestamp, unionAll, unique, uniqueIndex, uuid } from "drizzle-orm/pg-core";
5
5
  import { z } from "zod";
@@ -3036,11 +3036,17 @@ const ticketHandlers = {
3036
3036
  },
3037
3037
  async recover_claim(ctx, input) {
3038
3038
  const ticket = await getTicket(ctx, input.ticketId);
3039
- const current = one(await ctx.db.select().from(claims).where(and(eq(claims.id, input.claimId), eq(claims.ticketId, ticket.id))));
3040
- if (input.cancelActive && !can(ctx, "project.manage")) fail(403, "forbidden", "Cancelling an active claim requires project management access and admin scope");
3041
- if (current.expiresAt > /* @__PURE__ */ new Date() && !input.cancelActive) fail(409, "claim_not_expired", "The current claim has not expired");
3042
- if (input.reschedule && input.expectedVersion !== void 0) {
3043
- assertVersion(ticket, input.expectedVersion, "ticket", "rescheduling recovered work");
3039
+ const current = input.claimId === void 0 ? void 0 : one(await ctx.db.select().from(claims).where(and(eq(claims.id, input.claimId), eq(claims.ticketId, ticket.id))));
3040
+ if (!current) {
3041
+ const held = (await ctx.db.select({ id: claims.id }).from(claims).where(eq(claims.ticketId, ticket.id)).limit(1))[0];
3042
+ if (held) fail(409, "claim_conflict", "This ticket has a claim; recover it by its claim ID", { claimId: held.id });
3043
+ if (!ticket.claimRequired) fail(409, "claim_not_required", "This ticket does not require ownership to recover");
3044
+ } else {
3045
+ if (input.cancelActive && !can(ctx, "project.manage")) fail(403, "forbidden", "Cancelling an active claim requires project management access and admin scope");
3046
+ if (current.expiresAt > /* @__PURE__ */ new Date() && !input.cancelActive) fail(409, "claim_not_expired", "The current claim has not expired");
3047
+ }
3048
+ if (input.expectedVersion !== void 0 && (input.reschedule || !current)) assertVersion(ticket, input.expectedVersion, "ticket", "recovering ownership");
3049
+ if (input.reschedule) {
3044
3050
  const row = one(await ctx.db.update(tickets).set({
3045
3051
  ...await resolveState(ctx, { status: "todo" }, ticket),
3046
3052
  version: ticket.version + 1,
@@ -3061,12 +3067,12 @@ const ticketHandlers = {
3061
3067
  changedFields: ["claimRequired"]
3062
3068
  });
3063
3069
  }
3064
- await ctx.db.delete(claims).where(eq(claims.id, current.id));
3070
+ if (current) await ctx.db.delete(claims).where(eq(claims.id, current.id));
3065
3071
  await publish(ctx, "claim.recovered", ticket.id, {
3066
- claimId: current.id,
3072
+ claimId: current?.id ?? null,
3067
3073
  reason: input.reason,
3068
3074
  confirmedStopped: true,
3069
- ...input.cancelActive && { cancelActive: true }
3075
+ ...current && input.cancelActive && { cancelActive: true }
3070
3076
  });
3071
3077
  return { ok: true };
3072
3078
  }
@@ -1,4 +1,4 @@
1
- import { C as errorSchema, Ct as streamErrorSchema, E as eventSchema, G as notificationReadInput, H as notificationIdsInput, K as notificationsSchema, Q as parsePublicOutput, U as notificationPreferencesInput, W as notificationPreferencesSchema, Y as operations, Z as parseOutput, a as checkpointSchema, at as publicOperations, q as okSchema, t as ApiError, yt as snapshotSchema } from "./src-DptOUNRd.mjs";
1
+ import { C as errorSchema, Ct as streamErrorSchema, E as eventSchema, G as notificationReadInput, H as notificationIdsInput, K as notificationsSchema, Q as parsePublicOutput, U as notificationPreferencesInput, W as notificationPreferencesSchema, Y as operations, Z as parseOutput, a as checkpointSchema, at as publicOperations, q as okSchema, t as ApiError, yt as snapshotSchema } from "./src-D80LNZKP.mjs";
2
2
  import { z } from "zod";
3
3
  import { parseArgs } from "node:util";
4
4
  import { constants } from "node:fs";
@@ -403,7 +403,7 @@ function createClient(options) {
403
403
  return request(url, init);
404
404
  }
405
405
  };
406
- const send = async (spec, input, base) => {
406
+ const send = async (spec, input, base, signal) => {
407
407
  const values = { ...spec.input.parse(input) };
408
408
  const path = spec.path.replace(/\{(\w+)\}/g, (_, key) => {
409
409
  const value = values[key];
@@ -416,7 +416,8 @@ function createClient(options) {
416
416
  const init = {
417
417
  method: spec.method,
418
418
  credentials: options.credentials ?? "include",
419
- headers
419
+ headers,
420
+ ...signal ? { signal } : {}
420
421
  };
421
422
  if (spec.method === "GET") {
422
423
  for (const [key, value] of Object.entries(values)) for (const item of Array.isArray(value) ? value : [value]) if (typeof item === "string" || typeof item === "number" || typeof item === "boolean") url.searchParams.append(key, String(item));
@@ -437,11 +438,11 @@ function createClient(options) {
437
438
  credentials: options.credentials ?? "include"
438
439
  })));
439
440
  },
440
- async call(name, input) {
441
- return parseOutput(name, await send(operations[name], input, "/api/v1"));
441
+ async call(name, input, signal) {
442
+ return parseOutput(name, await send(operations[name], input, "/api/v1", signal));
442
443
  },
443
- async callPublic(name, input) {
444
- return parsePublicOutput(name, await send(publicOperations[name], input, "/api/public"));
444
+ async callPublic(name, input, signal) {
445
+ return parsePublicOutput(name, await send(publicOperations[name], input, "/api/public", signal));
445
446
  },
446
447
  async subscribe(subscription) {
447
448
  let cursor = subscription.cursor, backoff = 1e3;
@@ -599,7 +600,7 @@ function createClient(options) {
599
600
  name,
600
601
  input
601
602
  ],
602
- queryFn: () => api.call(name, input)
603
+ queryFn: ({ signal } = {}) => api.call(name, input, signal)
603
604
  };
604
605
  },
605
606
  publicQuery(name, input) {
@@ -610,7 +611,7 @@ function createClient(options) {
610
611
  name,
611
612
  input
612
613
  ],
613
- queryFn: () => api.callPublic(name, input)
614
+ queryFn: ({ signal } = {}) => api.callPublic(name, input, signal)
614
615
  };
615
616
  },
616
617
  action(name) {
@@ -1,4 +1,4 @@
1
- import { Bt as searchSettingsSchema, Pt as brokerSettingsSchema, Rt as s3SettingsSchema, m as defaultClaimMaxLeaseSeconds, o as claimLeaseSecondsSchema } from "./src-DptOUNRd.mjs";
1
+ import { Bt as searchSettingsSchema, Pt as brokerSettingsSchema, Rt as s3SettingsSchema, m as defaultClaimMaxLeaseSeconds, o as claimLeaseSecondsSchema } from "./src-D80LNZKP.mjs";
2
2
  import pg from "pg";
3
3
  import { drizzle } from "drizzle-orm/node-postgres";
4
4
  import { relations } from "drizzle-orm";
@@ -1,7 +1,7 @@
1
- import { a as auth_schema_exports, d as user$1, i as apikey, n as createDatabase, r as account, t as readConfig, u as session } from "./config-DKuNQY5b.mjs";
2
- import { A as hasAdminRole, B as memberSchema, Bt as searchSettingsSchema, C as errorSchema, Ft as instanceUpdateSchema, G as notificationReadInput, H as notificationIdsInput, I as isOperation, It as photoInputSchema, L as isPresetColor, Lt as photoResultSchema, M as importProviderDefinitions, Mt as adminInstanceSchema, Pt as brokerSettingsSchema, R as isPublicOperation, Rt as s3SettingsSchema, U as notificationPreferencesInput, W as notificationPreferencesSchema, Y as operations, at as publicOperations, c as credentialInput, g as defaultWorkflow, ht as scopes, j as importLimits, mt as roles, ot as pushDeviceInput, q as okSchema, s as closedStates, t as ApiError, wt as ticketExportFormat, xt as stateLabels } from "./src-DptOUNRd.mjs";
1
+ import { a as auth_schema_exports, d as user$1, i as apikey, n as createDatabase, r as account, t as readConfig, u as session } from "./config-CrJuk5mY.mjs";
2
+ import { A as hasAdminRole, B as memberSchema, Bt as searchSettingsSchema, C as errorSchema, Ft as instanceUpdateSchema, G as notificationReadInput, H as notificationIdsInput, I as isOperation, It as photoInputSchema, L as isPresetColor, Lt as photoResultSchema, M as importProviderDefinitions, Mt as adminInstanceSchema, Pt as brokerSettingsSchema, R as isPublicOperation, Rt as s3SettingsSchema, U as notificationPreferencesInput, W as notificationPreferencesSchema, Y as operations, at as publicOperations, c as credentialInput, g as defaultWorkflow, ht as scopes, j as importLimits, mt as roles, ot as pushDeviceInput, q as okSchema, s as closedStates, t as ApiError, wt as ticketExportFormat, xt as stateLabels } from "./src-D80LNZKP.mjs";
3
3
  import { t as migrateDatabase } from "./migrate-C9f4ozB4.mjs";
4
- import { $ as stagedUploads, A as requireSession, B as attachmentContent, C as defaultSenders, D as createAccess, E as createHttpSender, F as decodeImage, G as events, H as blobObjects, I as imageResponse, J as notificationPreferences, L as stagedUploadCutoff, M as createTicketSearch, N as createTicketIndex, O as createWriteLimiter, P as createBlobStorage, Q as pushDevices, R as createObjectStore, S as receiveRepositoryWebhook, T as DeliveryError, U as deliveryCheckpoints, V as attachments, W as eventClock, X as profilePhotos, Y as notifications, Z as projects, _ as one, a as deliverySecrets, at as matchesOIDCBinding, b as requireRow, c as ownerBlocker, d as createDomain, et as storageBackends, f as errorEnvelope, g as notify, h as json, i as createInstance, it as workspaces, j as readCalendarFeed, k as requireInstanceAdmin, l as appendEvents, m as intakeOnly, n as emailCodesAvailable, nt as tickets, o as otherActiveAdministrator, p as fail, q as members, r as signInProviders, rt as workspaceMembers, s as ownedWorkspaces, t as createAuth, tt as subscriptions, u as assertVersion, v as reachable, w as deliverBatch, x as processImports, y as recipientColumns, z as createPollingJob } from "./auth-Cs_whzgk.mjs";
4
+ import { $ as stagedUploads, A as requireSession, B as attachmentContent, C as defaultSenders, D as createAccess, E as createHttpSender, F as decodeImage, G as events, H as blobObjects, I as imageResponse, J as notificationPreferences, L as stagedUploadCutoff, M as createTicketSearch, N as createTicketIndex, O as createWriteLimiter, P as createBlobStorage, Q as pushDevices, R as createObjectStore, S as receiveRepositoryWebhook, T as DeliveryError, U as deliveryCheckpoints, V as attachments, W as eventClock, X as profilePhotos, Y as notifications, Z as projects, _ as one, a as deliverySecrets, at as matchesOIDCBinding, b as requireRow, c as ownerBlocker, d as createDomain, et as storageBackends, f as errorEnvelope, g as notify, h as json, i as createInstance, it as workspaces, j as readCalendarFeed, k as requireInstanceAdmin, l as appendEvents, m as intakeOnly, n as emailCodesAvailable, nt as tickets, o as otherActiveAdministrator, p as fail, q as members, r as signInProviders, rt as workspaceMembers, s as ownedWorkspaces, t as createAuth, tt as subscriptions, u as assertVersion, v as reachable, w as deliverBatch, x as processImports, y as recipientColumns, z as createPollingJob } from "./auth-Bm6cIseE.mjs";
5
5
  import { serve } from "@hono/node-server";
6
6
  import pg from "pg";
7
7
  import { drizzle } from "drizzle-orm/node-postgres";
@@ -359,7 +359,7 @@ function createCleanup() {
359
359
  }
360
360
  //#endregion
361
361
  //#region src/version.ts
362
- const applicationVersion = "0.5.0";
362
+ const applicationVersion = "0.5.1";
363
363
  //#endregion
364
364
  //#region src/realtime.ts
365
365
  async function createRealtime(config) {
@@ -1,4 +1,4 @@
1
- import { n as createDatabase, t as readConfig } from "./config-DKuNQY5b.mjs";
1
+ import { n as createDatabase, t as readConfig } from "./config-CrJuk5mY.mjs";
2
2
  import { t as migrateDatabase } from "./migrate-C9f4ozB4.mjs";
3
3
  //#region src/cli/migrate.ts
4
4
  const database = createDatabase(readConfig());
@@ -1,6 +1,6 @@
1
- import { d as user, n as createDatabase, r as account, t as readConfig, u as session } from "./config-DKuNQY5b.mjs";
2
- import { A as hasAdminRole } from "./src-DptOUNRd.mjs";
3
- import { K as instanceSettings, p as fail, t as createAuth } from "./auth-Cs_whzgk.mjs";
1
+ import { d as user, n as createDatabase, r as account, t as readConfig, u as session } from "./config-CrJuk5mY.mjs";
2
+ import { A as hasAdminRole } from "./src-D80LNZKP.mjs";
3
+ import { K as instanceSettings, p as fail, t as createAuth } from "./auth-Bm6cIseE.mjs";
4
4
  import { and, eq, isNull, sql } from "drizzle-orm";
5
5
  import { z } from "zod";
6
6
  import { parseArgs } from "node:util";
@@ -4714,7 +4714,7 @@ const operations = {
4714
4714
  }).strict(), okSchema, "POST", "/projects/{projectId}/tickets/{ticketId}/claim/release", "claim", "Release the caller's claim."),
4715
4715
  recover_claim: op(ticketInput.extend({
4716
4716
  ...mutation,
4717
- claimId: z.uuid(),
4717
+ claimId: z.uuid().optional(),
4718
4718
  reason: text.min(10).max(2e3),
4719
4719
  confirmedStopped: z.literal(true),
4720
4720
  cancelActive: z.boolean().optional(),
@@ -4723,7 +4723,10 @@ const operations = {
4723
4723
  }).strict().refine((input) => !input.reschedule || input.expectedVersion !== void 0, {
4724
4724
  message: "expectedVersion is required to reschedule recovered work",
4725
4725
  path: ["expectedVersion"]
4726
- }), okSchema, "POST", "/projects/{projectId}/tickets/{ticketId}/claim/recover", "claim", "Recover an expired claim after confirming the worker stopped. Optionally reschedule it to To do at its expectedVersion. Project managers with admin scope may explicitly cancel an active claim."),
4726
+ }).refine((input) => input.claimId !== void 0 || input.expectedVersion !== void 0, {
4727
+ message: "expectedVersion is required to recover ownership without a claim",
4728
+ path: ["expectedVersion"]
4729
+ }), okSchema, "POST", "/projects/{projectId}/tickets/{ticketId}/claim/recover", "claim", "Recover an expired claim after confirming the worker stopped. Optionally reschedule it to To do at its expectedVersion. Project managers with admin scope may explicitly cancel an active claim. Omit claimId, with the ticket's expectedVersion, to lift the ownership requirement of a ticket that has no claim left, such as one released outside To do."),
4727
4730
  set_subscription: op(ticketInput.extend({
4728
4731
  ...mutation,
4729
4732
  enabled: z.boolean()
@@ -1 +1 @@
1
- import{Ga as e,_a as t,ba as n,ya as r}from"./search-Ble6WSEU.js";import{i}from"./forms-BlEL8C_P.js";var a={name:`chevrons-up-down`,size:24,node:[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]};a.node;var o=e(a),s={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};s.node;var c=e(s),l={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};l.node;var u=e(l);function d(e){let{render:a,className:o,style:s,state:c=n,props:l=r,refs:u=r,metadata:d,stateAttributesMapping:f,tag:p=`div`,...m}=e,{compositeProps:h,compositeRef:g}=i({metadata:d});return t(p,e,{state:c,ref:[g,...u],props:[h,...l,m],stateAttributesMapping:f})}export{o as i,u as n,c as r,d as t};
1
+ import{Ga as e,_a as t,ba as n,ya as r}from"./search-DwsPEC4E.js";import{i}from"./forms--87R7VQW.js";var a={name:`chevrons-up-down`,size:24,node:[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]};a.node;var o=e(a),s={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};s.node;var c=e(s),l={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};l.node;var u=e(l);function d(e){let{render:a,className:o,style:s,state:c=n,props:l=r,refs:u=r,metadata:d,stateAttributesMapping:f,tag:p=`div`,...m}=e,{compositeProps:h,compositeRef:g}=i({metadata:d});return t(p,e,{state:c,ref:[g,...u],props:[h,...l,m],stateAttributesMapping:f})}export{o as i,u as n,c as r,d as t};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Nn as t,hn as n}from"./default-bQFGTwIp.js";import{Ga as r}from"./search-Ble6WSEU.js";import{c as i}from"./item-TCHuZNK6.js";var a={name:`archive`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]};a.node;var o=r(a),s={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};s.node;var c=r(s),l=e(t()),u={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,"!doctype":!0,"!DOCTYPE":!0},d=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;function f(e){let t={type:`tag`,name:``,voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(u[n[1]]||e.charAt(e.length-2)===`/`)&&(t.voidElement=!0),t.name.startsWith(`!--`))){let t=e.indexOf(`-->`);return{type:`comment`,comment:t===-1?``:e.slice(4,t)}}let r=new RegExp(d),i=null;for(;i=r.exec(e),i!==null;)if(i[0].trim()){if(i[1]){let e=i[1].trim(),n=[e,null],a=e.indexOf(`=`);a>-1&&(n=[e.slice(0,a),e.slice(a+1)]),t.attrs[n[0]]=n[1],r.lastIndex--}else i[2]&&(t.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1))}return t}var p=/<!--[\s\S]*?-->|<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,m=/<\/?([^\s]+?)[/\s>]/,h=/^\s*$/,g=/^(script|style)$/i,_=`\0`,v=Object.create(null);function y(e){e.forEach(function(e){if(e.type===`text`)e.content=e.content.split(_).join(`<`);else if(e.type===`comment`)e.comment=e.comment.split(_).join(`<`);else{for(let t in e.attrs){let n=e.attrs[t];typeof n==`string`&&n.indexOf(_)>-1&&(e.attrs[t]=n.split(_).join(`<`))}e.children.length&&y(e.children)}})}function b(e,t){let n=t&&t.components||v,r=t&&t.allowedTags,i=!1;if(r){let t=typeof r==`function`?r:function(e){return r.indexOf(e)>-1},n=``,a=0;p.lastIndex=0;let o;for(;o=p.exec(e);){let r=o[0];n+=e.slice(a,o.index);let s=r.match(m);r.startsWith(`<!--`)||s&&t(s[1])?(n+=r,a=o.index+r.length):(i=!0,n+=_,a=o.index+1,p.lastIndex=a)}e=n+e.slice(a)}let a=[],o=[],s,c=-1,l=!1,u=0,d;if(e.indexOf(`<`)!==0){let t=e.indexOf(`<`);a.push({type:`text`,content:t===-1?e:e.substring(0,t)})}let b=[],x;for(;x=p.exec(e);)b.push(x);return b.forEach(function(e,t){let n=e[0];if(!n||n.startsWith(`<!--`))return;let r=0,i=0,a=-1,o=null;for(let e=0;e<n.length;e++){let t=n.charAt(e);o?t===o&&(o=null):t===`"`||t===`'`?o=t:t===`<`?(r++,r===2&&(a=e)):t===`>`&&i++}let s=a>-1&&/[a-zA-Z0-9\-!/]/.test(n.charAt(a+1));if(r>i&&s){let e=n.substring(0,a),r=n.substring(e.length);b[t][0]=r,b[t].index+=e.length}}),b.forEach(function(t,r){let i=t[0];if(!i)return;let p=t.index;if(p<u)return;if(l){if(i!==`</`+s.name+`>`)return;l=!1}let m=i.charAt(1)!==`/`,_=i.startsWith(`<!--`),v=p+i.length,y=e.charAt(v),x=b[r+1],S;if(y===`<`&&x){let t=e.substring(v,x.index);S=t.split(`<`).length>t.split(`>`).length}let C;if(_){let t=f(i);if(c<0)return a.push(t),a;C=o[c],C.children.push(t);let n=e.slice(v,x?x.index:void 0);return n.length>0&&C.children.push({type:`text`,content:n}),a}if(m){c++,s=f(i),s.type===`tag`&&n[s.name]&&(s.type=`component`,l=!0);let t=!1;if(!l&&!s.voidElement&&g.test(s.name)){t=!0,d||=e.toLowerCase();let n=d.indexOf(`</`+s.name.toLowerCase()+`>`,v),r=n===-1?e.length:n,i=e.slice(v,r);i&&s.children.push({type:`text`,content:i}),u=r}!s.voidElement&&!l&&!t&&y&&y!==`<`&&s.children.push({type:`text`,content:e.slice(v,x?x.index:void 0)}),c===0&&a.push(s),C=o[c-1],C&&C.children.push(s),o[c]=s}if((!m||s.voidElement)&&(c>-1&&(s.voidElement||s.name===i.slice(2,-1))&&(c--,s=c===-1?a:o[c]),!l&&(y!==`<`||S)&&y)){C=c===-1?a:o[c].children;let t=x?x.index:-1,n=e.slice(v,t===-1?void 0:t);h.test(n)&&(n=` `),(t>-1&&c+C.length>=0||n!==` `)&&C.push({type:`text`,content:n})}}),i&&y(a),a}function x(e){let t=[];for(let n in e)e[n]===null?t.push(n):t.push(n+`="`+String(e[n]).replace(/"/g,`&quot;`)+`"`);return t.length?` `+t.join(` `):``}function S(e,t){switch(t.type){case`text`:return e+t.content;case`tag`:{let n=t.voidElement&&t.name.toLowerCase()!==`!doctype`?`/>`:`>`;return e+=`<`+t.name+(t.attrs?x(t.attrs):``)+n,t.voidElement?e:e+t.children.reduce(S,``)+`</`+t.name+`>`}case`comment`:return e+=`<!--`+t.comment+`-->`,e}}function C(e){return e.reduce(function(e,t){return e+S(``,t)},``)}var w={parse:b,stringify:C},T=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);O(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},E={},D=(e,t,n,r)=>{O(n)&&E[n]||(O(n)&&(E[n]=new Date),T(e,t,n,r))},O=e=>typeof e==`string`,k=e=>typeof e==`object`&&!!e,A=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,j={"&amp;":`&`,"&#38;":`&`,"&lt;":`<`,"&#60;":`<`,"&gt;":`>`,"&#62;":`>`,"&apos;":`'`,"&#39;":`'`,"&quot;":`"`,"&#34;":`"`,"&nbsp;":`\xA0`,"&#160;":`\xA0`,"&copy;":`©`,"&#169;":`©`,"&reg;":`®`,"&#174;":`®`,"&hellip;":`…`,"&#8230;":`…`,"&#x2F;":`/`,"&#47;":`/`},M=e=>j[e],N=e=>e.replace(A,M),P={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:N,transDefaultProps:void 0},F=()=>P,I,L=()=>I,R=(e,t)=>{if(!e)return!1;let n=e.props?.children??e.children;return t?n.length>0:!!n},z=e=>{if(!e)return[];let t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?V(t):t},B=e=>V(e).every(l.isValidElement),V=e=>Array.isArray(e)?e:[e],H=(e,t)=>{let n={...t};return n.props={...t.props,...e.props},n},U=e=>{let t={};if(!e)return t;let n=e=>{V(e).forEach(e=>{O(e)||(R(e)?n(z(e)):k(e)&&!(0,l.isValidElement)(e)&&Object.assign(t,e))})};return n(e),t},W=(e,t,n,r)=>{if(!e)return``;let i=``,a=V(e),o=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return a.forEach((e,a)=>{if(O(e))i+=`${e}`;else if((0,l.isValidElement)(e)){let{props:s,type:c}=e,l=Object.keys(s).length,u=o.indexOf(c)>-1,d=s.children;if(!d&&u&&!l){i+=`<${c}/>`;return}if(!d&&(!u||l)||s.i18nIsDynamicList){i+=`<${a}></${a}>`;return}if(u&&l<=1){let e=O(d)?d:W(d,t,n,r);i+=`<${c}>${e}</${c}>`;return}let f=W(d,t,n,r);i+=`<${a}>${f}</${a}>`}else if(e===null)T(n,`TRANS_NULL_VALUE`,`Passed in a null value as child`,{i18nKey:r});else if(k(e)){let{format:t,...a}=e,o=Object.keys(a);if(o.length===1){let e=t?`${o[0]}, ${t}`:o[0];i+=`{{${e}}}`;return}T(n,`TRANS_INVALID_OBJ`,`Invalid child - Object should only have keys {{ value, format }} (format is optional).`,{i18nKey:r,child:e})}else T(n,`TRANS_INVALID_VAR`,`Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`,{i18nKey:r,child:e})}),i},G=(e,t,n,r,i,a,o)=>{if(n===``)return[];let s=i.transKeepBasicHtmlNodesFor||[],c=n&&new RegExp(s.map(e=>`<${e}`).join(`|`)).test(n);if(!e&&!t&&!c&&!o)return[n];let u=t??{},d=e=>{V(e).forEach(e=>{O(e)||(R(e)?d(z(e)):k(e)&&!(0,l.isValidElement)(e)&&Object.assign(u,e))})};d(e);let f=Object.keys(u),p=w.parse(`<0>${n}</0>`,{allowedTags:e=>/^\d+$/.test(e)||s.indexOf(e)>-1||f.indexOf(e)>-1}),m={...u,...a},h=(e,t,n)=>{let r=z(e),i=_(r,t.children,n);return B(r)&&i.length===0||e.props?.i18nIsDynamicList?r:i},g=(e,t,n,r,i)=>{e.dummy?(e.children=t,n.push((0,l.cloneElement)(e,{key:r},i?void 0:t))):n.push(...l.Children.map([e],e=>{if(e.type===l.Fragment||e.props?.i18nIsDynamicList!==void 0){let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`children`&&t!==`i18nIsDynamicList`&&(n[t]=e.props[t])}),(0,l.createElement)(e.type,n,i?null:t)}let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`ref`&&t!==`children`&&(n[t]=e.props[t])}),(0,l.cloneElement)(e,n,i?null:t)}))},_=(e,n,a)=>{let u=V(e),d=V(n),f={};return d.reduce((e,n,d)=>{let p=n.children?.[0]?.content&&r.services.interpolator.interpolate(n.children[0].content,m,r.language);if(n.type===`tag`){let v=u[parseInt(n.name,10)];!v&&t&&(v=t[n.name]),a.length===1&&!v&&(v=a[0][n.name]),v||={};let y={...n.attrs};o&&Object.keys(y).forEach(e=>{let t=y[e];O(t)&&(y[e]=N(t))});let b=Object.keys(y).length===0?v:H({props:y},v),x=(0,l.isValidElement)(b),S=x&&R(n,!0)&&!n.voidElement,C=c&&k(b)&&b.dummy&&!x,w=k(t)&&Object.hasOwnProperty.call(t,n.name);if(O(b)){let t=r.services.interpolator.interpolate(b,m,r.language);e.push(t)}else if(R(b)||S){let t=h(b,n,a);g(b,t,e,d)}else if(C){let t=_(u,n.children,a);g(b,t,e,d)}else if(Number.isNaN(parseFloat(n.name))){if(w){let t=h(b,n,a);g(b,t,e,d,n.voidElement)}else if(i.transSupportBasicHtmlNodes&&s.indexOf(n.name)>-1){if(n.voidElement)e.push((0,l.createElement)(n.name,{key:`${n.name}-${d}`}));else{let t=f[n.name]||0;f[n.name]=t+1;let r,i=0;for(let e=0;e<u.length;e+=1){let a=u[e];if((0,l.isValidElement)(a)&&a.type===n.name){if(i===t){r=a;break}i+=1}}let o=r?V(z(r)):u,s=_(o,n.children,a);e.push((0,l.createElement)(n.name,{key:`${n.name}-${d}`},s))}}else if(n.voidElement)e.push(`<${n.name} />`);else{let t=_(u,n.children,a);e.push(`<${n.name}>${t}</${n.name}>`)}}else if(k(b)&&!x){let t=n.children[0]?p:null;t&&e.push(t)}else g(b,p,e,d,n.children.length!==1||!p)}else if(n.type===`text`){let t=i.transWrapTextNodes,a=typeof i.unescape==`function`?i.unescape:F().unescape,s=o?a(r.services.interpolator.interpolate(n.content,m,r.language)):r.services.interpolator.interpolate(n.content,m,r.language);t?e.push((0,l.createElement)(t,{key:`${n.name}-${d}`},s)):e.push(s)}return e},[])};return z(_([{dummy:!0,children:e||[]}],p,V(e||[]))[0])},K=(e,t,n)=>{let r=e.key||t,i=(0,l.cloneElement)(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function a(){return(0,l.createElement)(l.Fragment,null,i)}return(0,l.createElement)(a,{key:r})},q=(e,t)=>e.map((e,n)=>K(e,n,t)),J=(e,t)=>{let n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:K(e[r],r,t)})}),n},Y=(e,t,n,r)=>e?Array.isArray(e)?q(e,t):k(e)?J(e,t):(D(n,`TRANS_INVALID_COMPONENTS`,`<Trans /> "components" prop expects an object or array`,{i18nKey:r}),null):null,X=e=>!k(e)||Array.isArray(e)?!1:Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0);function Z({children:e,count:t,parent:r,i18nKey:i,context:a,tOptions:o={},values:s,defaults:c,components:u,ns:d,i18n:f,t:p,shouldUnescape:m,...h}){let g=f||L();if(!g)return D(g,`NO_I18NEXT_INSTANCE`,`Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`,{i18nKey:i}),e;let _=p||g.t.bind(g)||(e=>e),v={...F(),...g.options?.react},y=d||(_.ns?void 0:g.options?.defaultNS||`translation`);O(y)&&(y=[y]);let{transDefaultProps:b}=v,x=b?.tOptions?{...b.tOptions,...o}:o,S=m??b?.shouldUnescape,C=b?.values?{...b.values,...s}:s,w=b?.components?{...b.components,...u}:u,T=W(e,v,g,i),E=c||x?.defaultValue||T||v.transEmptyNodeValue||(typeof i==`function`?n(i):i),{hashTransKey:k}=v,A=i||(k?k(T||E):T||E);s=g.options?.interpolation?.defaultVariables?{...g.options.interpolation.defaultVariables,...C}:C;let j=U(e);j&&typeof j.count==`number`&&t===void 0&&(t=j.count);let M=s||t!==void 0&&!g.options?.interpolation?.alwaysFormat||!e?x.interpolation:{interpolation:{...x.interpolation,prefix:`#$?`,suffix:`?$#`}},N={...x,context:a||x.context,count:t,...s,...M,defaultValue:E,ns:y},P=A?_(A,N):E;P===A&&E&&(P=E);let I=Y(w,P,g,i),R=I||e,z=null;X(I)&&(z=I,R=e);let B=G(R,z,P,g,v,N,S),V=r??v.defaultTransParent;return V?(0,l.createElement)(V,h,B):B}function Q({children:e,count:t,parent:n,i18nKey:r,context:a,tOptions:o={},values:s,defaults:c,components:u,ns:d,i18n:f,t:p,shouldUnescape:m,...h}){let{i18n:g,defaultNS:_}=(0,l.useContext)(i)||{},v=f||g||L(),y=p||v?.t.bind(v);return Z({children:e,count:t,parent:n,i18nKey:r,context:a,tOptions:o,values:s,defaults:c,components:u,ns:d||(y?.ns?void 0:_||v?.options?.defaultNS),i18n:v,t:p,shouldUnescape:m,...h})}export{c as n,o as r,Q as t};
1
+ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{Nn as t,hn as n}from"./default-Dnep8Yat.js";import{Ga as r}from"./search-DwsPEC4E.js";import{c as i}from"./item-BD1Poxfs.js";var a={name:`archive`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8`,key:`1s80jp`}],[`path`,{d:`M10 12h4`,key:`a56b0p`}]]};a.node;var o=r(a),s={name:`bell`,size:24,node:[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]};s.node;var c=r(s),l=e(t()),u={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,"!doctype":!0,"!DOCTYPE":!0},d=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?("[^"]*"|'[^']*')/g;function f(e){let t={type:`tag`,name:``,voidElement:!1,attrs:{},children:[]},n=e.match(/<\/?([^\s]+?)[/\s>]/);if(n&&(t.name=n[1],(u[n[1]]||e.charAt(e.length-2)===`/`)&&(t.voidElement=!0),t.name.startsWith(`!--`))){let t=e.indexOf(`-->`);return{type:`comment`,comment:t===-1?``:e.slice(4,t)}}let r=new RegExp(d),i=null;for(;i=r.exec(e),i!==null;)if(i[0].trim()){if(i[1]){let e=i[1].trim(),n=[e,null],a=e.indexOf(`=`);a>-1&&(n=[e.slice(0,a),e.slice(a+1)]),t.attrs[n[0]]=n[1],r.lastIndex--}else i[2]&&(t.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1))}return t}var p=/<!--[\s\S]*?-->|<[a-zA-Z0-9\-!/](?:"[^"]*"|'[^']*'|[^'">])*>/g,m=/<\/?([^\s]+?)[/\s>]/,h=/^\s*$/,g=/^(script|style)$/i,_=`\0`,v=Object.create(null);function y(e){e.forEach(function(e){if(e.type===`text`)e.content=e.content.split(_).join(`<`);else if(e.type===`comment`)e.comment=e.comment.split(_).join(`<`);else{for(let t in e.attrs){let n=e.attrs[t];typeof n==`string`&&n.indexOf(_)>-1&&(e.attrs[t]=n.split(_).join(`<`))}e.children.length&&y(e.children)}})}function b(e,t){let n=t&&t.components||v,r=t&&t.allowedTags,i=!1;if(r){let t=typeof r==`function`?r:function(e){return r.indexOf(e)>-1},n=``,a=0;p.lastIndex=0;let o;for(;o=p.exec(e);){let r=o[0];n+=e.slice(a,o.index);let s=r.match(m);r.startsWith(`<!--`)||s&&t(s[1])?(n+=r,a=o.index+r.length):(i=!0,n+=_,a=o.index+1,p.lastIndex=a)}e=n+e.slice(a)}let a=[],o=[],s,c=-1,l=!1,u=0,d;if(e.indexOf(`<`)!==0){let t=e.indexOf(`<`);a.push({type:`text`,content:t===-1?e:e.substring(0,t)})}let b=[],x;for(;x=p.exec(e);)b.push(x);return b.forEach(function(e,t){let n=e[0];if(!n||n.startsWith(`<!--`))return;let r=0,i=0,a=-1,o=null;for(let e=0;e<n.length;e++){let t=n.charAt(e);o?t===o&&(o=null):t===`"`||t===`'`?o=t:t===`<`?(r++,r===2&&(a=e)):t===`>`&&i++}let s=a>-1&&/[a-zA-Z0-9\-!/]/.test(n.charAt(a+1));if(r>i&&s){let e=n.substring(0,a),r=n.substring(e.length);b[t][0]=r,b[t].index+=e.length}}),b.forEach(function(t,r){let i=t[0];if(!i)return;let p=t.index;if(p<u)return;if(l){if(i!==`</`+s.name+`>`)return;l=!1}let m=i.charAt(1)!==`/`,_=i.startsWith(`<!--`),v=p+i.length,y=e.charAt(v),x=b[r+1],S;if(y===`<`&&x){let t=e.substring(v,x.index);S=t.split(`<`).length>t.split(`>`).length}let C;if(_){let t=f(i);if(c<0)return a.push(t),a;C=o[c],C.children.push(t);let n=e.slice(v,x?x.index:void 0);return n.length>0&&C.children.push({type:`text`,content:n}),a}if(m){c++,s=f(i),s.type===`tag`&&n[s.name]&&(s.type=`component`,l=!0);let t=!1;if(!l&&!s.voidElement&&g.test(s.name)){t=!0,d||=e.toLowerCase();let n=d.indexOf(`</`+s.name.toLowerCase()+`>`,v),r=n===-1?e.length:n,i=e.slice(v,r);i&&s.children.push({type:`text`,content:i}),u=r}!s.voidElement&&!l&&!t&&y&&y!==`<`&&s.children.push({type:`text`,content:e.slice(v,x?x.index:void 0)}),c===0&&a.push(s),C=o[c-1],C&&C.children.push(s),o[c]=s}if((!m||s.voidElement)&&(c>-1&&(s.voidElement||s.name===i.slice(2,-1))&&(c--,s=c===-1?a:o[c]),!l&&(y!==`<`||S)&&y)){C=c===-1?a:o[c].children;let t=x?x.index:-1,n=e.slice(v,t===-1?void 0:t);h.test(n)&&(n=` `),(t>-1&&c+C.length>=0||n!==` `)&&C.push({type:`text`,content:n})}}),i&&y(a),a}function x(e){let t=[];for(let n in e)e[n]===null?t.push(n):t.push(n+`="`+String(e[n]).replace(/"/g,`&quot;`)+`"`);return t.length?` `+t.join(` `):``}function S(e,t){switch(t.type){case`text`:return e+t.content;case`tag`:{let n=t.voidElement&&t.name.toLowerCase()!==`!doctype`?`/>`:`>`;return e+=`<`+t.name+(t.attrs?x(t.attrs):``)+n,t.voidElement?e:e+t.children.reduce(S,``)+`</`+t.name+`>`}case`comment`:return e+=`<!--`+t.comment+`-->`,e}}function C(e){return e.reduce(function(e,t){return e+S(``,t)},``)}var w={parse:b,stringify:C},T=(e,t,n,r)=>{let i=[n,{code:t,...r||{}}];if(e?.services?.logger?.forward)return e.services.logger.forward(i,`warn`,`react-i18next::`,!0);O(i[0])&&(i[0]=`react-i18next:: ${i[0]}`),e?.services?.logger?.warn?e.services.logger.warn(...i):console?.warn&&console.warn(...i)},E={},D=(e,t,n,r)=>{O(n)&&E[n]||(O(n)&&(E[n]=new Date),T(e,t,n,r))},O=e=>typeof e==`string`,k=e=>typeof e==`object`&&!!e,A=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,j={"&amp;":`&`,"&#38;":`&`,"&lt;":`<`,"&#60;":`<`,"&gt;":`>`,"&#62;":`>`,"&apos;":`'`,"&#39;":`'`,"&quot;":`"`,"&#34;":`"`,"&nbsp;":`\xA0`,"&#160;":`\xA0`,"&copy;":`©`,"&#169;":`©`,"&reg;":`®`,"&#174;":`®`,"&hellip;":`…`,"&#8230;":`…`,"&#x2F;":`/`,"&#47;":`/`},M=e=>j[e],N=e=>e.replace(A,M),P={bindI18n:`languageChanged`,bindI18nStore:``,transEmptyNodeValue:``,transSupportBasicHtmlNodes:!0,transWrapTextNodes:``,transKeepBasicHtmlNodesFor:[`br`,`strong`,`i`,`p`],useSuspense:!0,unescape:N,transDefaultProps:void 0},F=()=>P,I,L=()=>I,R=(e,t)=>{if(!e)return!1;let n=e.props?.children??e.children;return t?n.length>0:!!n},z=e=>{if(!e)return[];let t=e.props?.children??e.children;return e.props?.i18nIsDynamicList?V(t):t},B=e=>V(e).every(l.isValidElement),V=e=>Array.isArray(e)?e:[e],H=(e,t)=>{let n={...t};return n.props={...t.props,...e.props},n},U=e=>{let t={};if(!e)return t;let n=e=>{V(e).forEach(e=>{O(e)||(R(e)?n(z(e)):k(e)&&!(0,l.isValidElement)(e)&&Object.assign(t,e))})};return n(e),t},W=(e,t,n,r)=>{if(!e)return``;let i=``,a=V(e),o=t?.transSupportBasicHtmlNodes?t.transKeepBasicHtmlNodesFor??[]:[];return a.forEach((e,a)=>{if(O(e))i+=`${e}`;else if((0,l.isValidElement)(e)){let{props:s,type:c}=e,l=Object.keys(s).length,u=o.indexOf(c)>-1,d=s.children;if(!d&&u&&!l){i+=`<${c}/>`;return}if(!d&&(!u||l)||s.i18nIsDynamicList){i+=`<${a}></${a}>`;return}if(u&&l<=1){let e=O(d)?d:W(d,t,n,r);i+=`<${c}>${e}</${c}>`;return}let f=W(d,t,n,r);i+=`<${a}>${f}</${a}>`}else if(e===null)T(n,`TRANS_NULL_VALUE`,`Passed in a null value as child`,{i18nKey:r});else if(k(e)){let{format:t,...a}=e,o=Object.keys(a);if(o.length===1){let e=t?`${o[0]}, ${t}`:o[0];i+=`{{${e}}}`;return}T(n,`TRANS_INVALID_OBJ`,`Invalid child - Object should only have keys {{ value, format }} (format is optional).`,{i18nKey:r,child:e})}else T(n,`TRANS_INVALID_VAR`,`Passed in a variable like {number} - pass variables for interpolation as full objects like {{number}}.`,{i18nKey:r,child:e})}),i},G=(e,t,n,r,i,a,o)=>{if(n===``)return[];let s=i.transKeepBasicHtmlNodesFor||[],c=n&&new RegExp(s.map(e=>`<${e}`).join(`|`)).test(n);if(!e&&!t&&!c&&!o)return[n];let u=t??{},d=e=>{V(e).forEach(e=>{O(e)||(R(e)?d(z(e)):k(e)&&!(0,l.isValidElement)(e)&&Object.assign(u,e))})};d(e);let f=Object.keys(u),p=w.parse(`<0>${n}</0>`,{allowedTags:e=>/^\d+$/.test(e)||s.indexOf(e)>-1||f.indexOf(e)>-1}),m={...u,...a},h=(e,t,n)=>{let r=z(e),i=_(r,t.children,n);return B(r)&&i.length===0||e.props?.i18nIsDynamicList?r:i},g=(e,t,n,r,i)=>{e.dummy?(e.children=t,n.push((0,l.cloneElement)(e,{key:r},i?void 0:t))):n.push(...l.Children.map([e],e=>{if(e.type===l.Fragment||e.props?.i18nIsDynamicList!==void 0){let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`children`&&t!==`i18nIsDynamicList`&&(n[t]=e.props[t])}),(0,l.createElement)(e.type,n,i?null:t)}let n={key:r};return e&&e.props&&Object.keys(e.props).forEach(t=>{t!==`ref`&&t!==`children`&&(n[t]=e.props[t])}),(0,l.cloneElement)(e,n,i?null:t)}))},_=(e,n,a)=>{let u=V(e),d=V(n),f={};return d.reduce((e,n,d)=>{let p=n.children?.[0]?.content&&r.services.interpolator.interpolate(n.children[0].content,m,r.language);if(n.type===`tag`){let v=u[parseInt(n.name,10)];!v&&t&&(v=t[n.name]),a.length===1&&!v&&(v=a[0][n.name]),v||={};let y={...n.attrs};o&&Object.keys(y).forEach(e=>{let t=y[e];O(t)&&(y[e]=N(t))});let b=Object.keys(y).length===0?v:H({props:y},v),x=(0,l.isValidElement)(b),S=x&&R(n,!0)&&!n.voidElement,C=c&&k(b)&&b.dummy&&!x,w=k(t)&&Object.hasOwnProperty.call(t,n.name);if(O(b)){let t=r.services.interpolator.interpolate(b,m,r.language);e.push(t)}else if(R(b)||S){let t=h(b,n,a);g(b,t,e,d)}else if(C){let t=_(u,n.children,a);g(b,t,e,d)}else if(Number.isNaN(parseFloat(n.name))){if(w){let t=h(b,n,a);g(b,t,e,d,n.voidElement)}else if(i.transSupportBasicHtmlNodes&&s.indexOf(n.name)>-1){if(n.voidElement)e.push((0,l.createElement)(n.name,{key:`${n.name}-${d}`}));else{let t=f[n.name]||0;f[n.name]=t+1;let r,i=0;for(let e=0;e<u.length;e+=1){let a=u[e];if((0,l.isValidElement)(a)&&a.type===n.name){if(i===t){r=a;break}i+=1}}let o=r?V(z(r)):u,s=_(o,n.children,a);e.push((0,l.createElement)(n.name,{key:`${n.name}-${d}`},s))}}else if(n.voidElement)e.push(`<${n.name} />`);else{let t=_(u,n.children,a);e.push(`<${n.name}>${t}</${n.name}>`)}}else if(k(b)&&!x){let t=n.children[0]?p:null;t&&e.push(t)}else g(b,p,e,d,n.children.length!==1||!p)}else if(n.type===`text`){let t=i.transWrapTextNodes,a=typeof i.unescape==`function`?i.unescape:F().unescape,s=o?a(r.services.interpolator.interpolate(n.content,m,r.language)):r.services.interpolator.interpolate(n.content,m,r.language);t?e.push((0,l.createElement)(t,{key:`${n.name}-${d}`},s)):e.push(s)}return e},[])};return z(_([{dummy:!0,children:e||[]}],p,V(e||[]))[0])},K=(e,t,n)=>{let r=e.key||t,i=(0,l.cloneElement)(e,{key:r});if(!i.props||!i.props.children||n.indexOf(`${t}/>`)<0&&n.indexOf(`${t} />`)<0)return i;function a(){return(0,l.createElement)(l.Fragment,null,i)}return(0,l.createElement)(a,{key:r})},q=(e,t)=>e.map((e,n)=>K(e,n,t)),J=(e,t)=>{let n={};return Object.keys(e).forEach(r=>{Object.assign(n,{[r]:K(e[r],r,t)})}),n},Y=(e,t,n,r)=>e?Array.isArray(e)?q(e,t):k(e)?J(e,t):(D(n,`TRANS_INVALID_COMPONENTS`,`<Trans /> "components" prop expects an object or array`,{i18nKey:r}),null):null,X=e=>!k(e)||Array.isArray(e)?!1:Object.keys(e).reduce((e,t)=>e&&Number.isNaN(Number.parseFloat(t)),!0);function Z({children:e,count:t,parent:r,i18nKey:i,context:a,tOptions:o={},values:s,defaults:c,components:u,ns:d,i18n:f,t:p,shouldUnescape:m,...h}){let g=f||L();if(!g)return D(g,`NO_I18NEXT_INSTANCE`,`Trans: You need to pass in an i18next instance using initReactI18next or by passing it via props or context. In monorepo setups, make sure there is only one instance of react-i18next.`,{i18nKey:i}),e;let _=p||g.t.bind(g)||(e=>e),v={...F(),...g.options?.react},y=d||(_.ns?void 0:g.options?.defaultNS||`translation`);O(y)&&(y=[y]);let{transDefaultProps:b}=v,x=b?.tOptions?{...b.tOptions,...o}:o,S=m??b?.shouldUnescape,C=b?.values?{...b.values,...s}:s,w=b?.components?{...b.components,...u}:u,T=W(e,v,g,i),E=c||x?.defaultValue||T||v.transEmptyNodeValue||(typeof i==`function`?n(i):i),{hashTransKey:k}=v,A=i||(k?k(T||E):T||E);s=g.options?.interpolation?.defaultVariables?{...g.options.interpolation.defaultVariables,...C}:C;let j=U(e);j&&typeof j.count==`number`&&t===void 0&&(t=j.count);let M=s||t!==void 0&&!g.options?.interpolation?.alwaysFormat||!e?x.interpolation:{interpolation:{...x.interpolation,prefix:`#$?`,suffix:`?$#`}},N={...x,context:a||x.context,count:t,...s,...M,defaultValue:E,ns:y},P=A?_(A,N):E;P===A&&E&&(P=E);let I=Y(w,P,g,i),R=I||e,z=null;X(I)&&(z=I,R=e);let B=G(R,z,P,g,v,N,S),V=r??v.defaultTransParent;return V?(0,l.createElement)(V,h,B):B}function Q({children:e,count:t,parent:n,i18nKey:r,context:a,tOptions:o={},values:s,defaults:c,components:u,ns:d,i18n:f,t:p,shouldUnescape:m,...h}){let{i18n:g,defaultNS:_}=(0,l.useContext)(i)||{},v=f||g||L(),y=p||v?.t.bind(v);return Z({children:e,count:t,parent:n,i18nKey:r,context:a,tOptions:o,values:s,defaults:c,components:u,ns:d||(y?.ns?void 0:_||v?.options?.defaultNS),i18n:v,t:p,shouldUnescape:m,...h})}export{c as n,o as r,Q as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-COiEfhsA.js";import{An as t,Cn as n,Dn as r,G as i,Mn as a,Nn as o,On as s,Rt as c,Sn as l,W as u,_n as d,an as f,bn as p,bt as m,gn as h,it as g,mn as _,mt as v,r as y,wn as b,xn as x,yn as ee,zt as S}from"./default-Dnep8Yat.js";import{B as te,Co as C,G as w,Ga as T,Hi as E,J as D,Ji as O,K as k,Oa as A,Pt as j,Q as M,U as N,Ui as P,V as F,X as I,Y as L,Yi as ne,Zi as re,aa as ie,at as R,cr as z,di as B,ia as ae,it as V,nt as oe,ot as se,po as ce,q as H,qa as U,ra as le,rt as ue,tt as de,vt as W}from"./search-DwsPEC4E.js";import{g as fe}from"./item-BD1Poxfs.js";import{l as pe,r as me}from"./project-lifecycle-BBHcRi6p.js";import{r as he}from"./CompositeItem-Tueq2VKR.js";import{t as ge}from"./ellipsis-lJJU8zB7.js";import{t as _e}from"./invitations-C5WbdDUQ.js";import{t as G}from"./forms--87R7VQW.js";import{A as ve,D as ye,E as be,Ht as K,M as xe,O as Se,T as Ce,an as we,fn as Te,hn as Ee,i as q,k as De,n as J,r as Oe}from"./index-Ds3IHeIi.js";import{t as ke}from"./switch-B_rsZYBf.js";import{a as Ae,i as Y,n as je,o as X,r as Z,t as Me}from"./table-2AEfwytk.js";import{t as Ne}from"./member-directory-BjUy1KuK.js";var Pe={name:`user-plus`,size:24,node:[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}],[`line`,{x1:`19`,x2:`19`,y1:`8`,y2:`14`,key:`1bvyxn`}],[`line`,{x1:`22`,x2:`16`,y1:`11`,y2:`11`,key:`1shjgl`}]]};Pe.node;var Fe=T(Pe),Q=e(o(),1),$=y(),Ie={get local(){return _(`admin.instance.provider.local`)},get s3(){return _(`admin.instance.provider.s3`)},get postgres(){return _(`admin.instance.provider.postgres`)},get elasticsearch(){return _(`admin.instance.provider.elasticsearch`)},rabbitmq:`RabbitMQ`};function Le({data:e,section:t,onConfigure:n}){if(t===`general`)return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(V,{title:_(`admin.instance.heading`),action:(0,$.jsx)(D,{label:_(`admin.instance.edit`),onClick:n,children:(0,$.jsx)(he,{})})}),(0,$.jsx)(J,{title:_(`admin.instance.name`),description:e.name}),(0,$.jsx)(J,{title:_(`admin.instance.description`),description:e.description||_(`admin.instance.noDescription`)}),(0,$.jsx)(J,{title:_(`admin.instance.version`),children:(0,$.jsx)(`code`,{children:e.deployment.version})}),(0,$.jsx)(J,{title:_(`admin.instance.publicUrl`),children:(0,$.jsx)(N,{label:_(`admin.instance.publicUrl`),value:e.deployment.url,inline:!0})})]});let r=t===`storage`?e.storage:t===`search`?e.search:e.broker,i=_(t===`storage`?`admin.instance.section.storage`:t===`search`?`admin.instance.section.search`:`admin.instance.section.events`),a=r.source===`deployment`;return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(V,{title:i,action:(0,$.jsx)(D,{label:_(a?`admin.instance.viewConfiguration`:`admin.instance.configure.${t}`),onClick:n,children:(0,$.jsx)(we,{})})}),(0,$.jsx)(J,{title:_(`admin.instance.providerTitle`),description:Ie[r.provider],children:(0,$.jsx)(W,{variant:`secondary`,children:_(a?`admin.instance.deploymentManaged`:`admin.instance.instanceManaged`)})}),(0,$.jsx)(J,{title:_(t===`storage`?`admin.instance.transfers`:t===`search`?`admin.instance.indexStatus`:`admin.instance.connection`),description:t===`storage`?e.storage.provider===`s3`?_(`admin.instance.transfersS3`):_(`admin.instance.transfersLocal`):t===`search`?r.status===`builtin`?_(`admin.instance.searchBuiltIn`):_(`admin.instance.searchIndexed`):_(`admin.instance.eventsConnection`),children:(0,$.jsx)(W,{variant:r.status===`unavailable`?`destructive`:`outline`,children:r.status===`builtin`?_(`admin.instance.builtIn`):r.status===`ready`?_(t===`events`?`admin.instance.connected`:`admin.instance.upToDate`):_(`admin.instance.status.${r.status}`)})}),t===`storage`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{title:_(`admin.instance.pendingTransfers`),description:e.storage.pending?_(`admin.instance.pendingRemain`):_(`admin.instance.noPending`),children:e.storage.pending}),e.storage.settings&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{title:_(`admin.instance.bucket`),description:e.storage.settings.bucket}),(0,$.jsx)(N,{label:_(`admin.instance.storageEndpoint`),value:e.storage.settings.endpoint||`Amazon S3`})]}),(0,$.jsx)(J,{title:_(`admin.instance.backup`),description:e.locations.length?_(`admin.instance.backupBuckets`):_(`admin.instance.backupDatabase`)})]}),t===`search`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{title:_(`admin.instance.fallback`),description:_(`admin.instance.fallbackDescription`)}),e.search.settings&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(N,{label:_(`admin.instance.searchEndpoint`),value:e.search.settings.url}),(0,$.jsx)(J,{title:_(`admin.instance.index`),description:e.search.settings.index})]})]}),t===`events`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(J,{title:_(`admin.instance.delivery`),description:_(`admin.instance.deliveryDescription`)}),e.broker.settings&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(N,{label:_(`admin.instance.brokerEndpoint`),value:e.broker.settings.endpoint}),(0,$.jsx)(J,{title:_(`admin.instance.exchange`),description:e.broker.settings.exchange})]})]}),(0,$.jsx)(k,{error:r.error?Error(r.error):void 0})]})}var Re=g.pick({name:!0,email:!0,image:!0}).extend({id:t(),role:t().nullable(),banned:b(),createdAt:x()}),ze=s({q:t().trim().max(200).default(``),role:l([`all`,`user`,`admin`]).default(`all`),status:l([`all`,`active`,`disabled`]).default(`all`),limit:p().int().min(1).max(100).default(25),offset:p().int().min(0).default(0)}),Be=s({users:n(Re),total:r().int().nonnegative()}),Ve=Re.extend({workspaces:n(s({id:a(),name:t(),role:l(S)})),projects:n(s({id:a(),name:t(),role:l(S)})),providers:n(t()),sessionCount:r().int().nonnegative()});s({password:t().min(12).max(128)}).strict(),ze.pick({q:!0,limit:!0,offset:!0});var He=s({workspaces:n(s({id:a(),name:t(),slug:t(),ownerId:t().nullable().default(null),createdAt:x(),memberCount:r().int().nonnegative(),projectCount:r().int().nonnegative(),administrators:n(Re.pick({id:!0,name:!0,email:!0,image:!0}))})),total:r().int().nonnegative()});function Ue({children:e,badge:t}){return(0,$.jsxs)(`div`,{className:`flex items-center justify-between gap-4 border-b py-3`,children:[e,(0,$.jsx)(W,{variant:`outline`,children:t})]})}function We({userId:e,onClose:t,onChanged:n}){let{shown:r,settled:i}=Ce(e,e=>e),[a,o]=(0,Q.useState)(!1);return(0,$.jsx)(be,{open:!!e,onOpenChange:e=>{!e&&!a&&t()},onOpenChangeComplete:i,children:(0,$.jsx)(ye,{className:`w-full! sm:max-w-lg!`,children:r&&(0,$.jsx)(Ge,{userId:r,pending:a,setPending:o,onClose:t,onChanged:n},r)})})}function Ge({userId:e,pending:t,setPending:n,onClose:r,onChanged:a}){let o=O(),[s,l]=(0,Q.useState)(null),[d,f]=(0,Q.useState)(),p=le(),m=re(`set_workspace_member`),h=U({queryKey:[`kanvil`,`user`,e],queryFn:()=>E.request(`/api/v1/admin/users/${encodeURIComponent(e)}`,Ve)}),g=h.data;async function y(e,t){n(!0),f(void 0);try{let n=await e();if(n&&typeof n==`object`&&`error`in n&&n.error){let e=n.error;throw Error(typeof e==`object`&&`message`in e?String(e.message):_(`admin.account.updateFailed`))}await a(),l(null),A.success(t)}catch(e){throw f(e),e}finally{n(!1)}}return(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(De,{className:`shrink-0 border-b pr-14`,children:[(0,$.jsx)(ve,{className:`mb-0`,children:g?.name??_(`admin.account.details`)}),(0,$.jsx)(Se,{className:`break-all`,children:g?.email})]}),(0,$.jsxs)(`div`,{className:`@container min-h-0 overflow-y-auto px-6 pb-8`,children:[(0,$.jsx)(k,{error:h.error??(s?void 0:d)}),h.isPending?(0,$.jsx)(I,{}):g&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`div`,{className:`mb-7 flex flex-wrap items-center gap-4`,children:[(0,$.jsx)(ae,{name:g.name,image:g.image,className:`size-16 text-xl`}),(0,$.jsxs)(`div`,{className:`min-w-40 flex-1`,children:[(0,$.jsx)(W,{variant:g.banned?`destructive`:`secondary`,children:g.banned?_(`admin.users.disabled`):_(`admin.users.active`)}),(0,$.jsx)(`p`,{className:`mt-2 mb-0 text-xs text-muted-foreground`,children:_(`admin.account.joined`,{date:u(g.createdAt)})})]}),(0,$.jsxs)(B,{className:`ml-auto`,onClick:()=>{f(void 0),l(`profile`)},children:[(0,$.jsx)(he,{}),_(`admin.account.edit`)]})]}),(0,$.jsx)(J,{title:_(`admin.account.instanceRole`),description:i(g.role)?_(`admin.account.adminDescription`):_(`admin.account.userDescription`),children:(0,$.jsx)(B,{onClick:()=>{f(void 0),l(`role`)},children:_(`admin.account.changeRole`)})}),(0,$.jsx)(J,{title:_(`admin.account.signInMethods`),description:pe(g.providers),children:(0,$.jsxs)(B,{onClick:()=>{f(void 0),l(`password`)},children:[(0,$.jsx)(Te,{}),_(`admin.account.setPassword`)]})}),(0,$.jsx)(J,{title:_(`admin.account.activeSessions`),description:_(`admin.account.sessions`,{count:g.sessionCount}),children:(0,$.jsx)(F,{label:_(`admin.account.revokeSessions`),description:_(`admin.account.revokeConfirm`,{name:g.name}),onConfirm:()=>y(()=>P.admin.revokeUserSessions({userId:g.id}),_(`admin.account.sessionsRevoked`))})}),g.id!==o.id&&(0,$.jsx)(J,{title:_(`admin.account.access`),description:g.banned?_(`admin.account.accessDisabled`):_(`admin.account.accessPreserved`),children:(0,$.jsx)(F,{label:g.banned?_(`admin.account.enable`):_(`admin.account.disable`),danger:!g.banned,description:g.banned?_(`admin.account.enableConfirm`,{name:g.name}):_(`admin.account.disableConfirm`,{name:g.name}),onConfirm:()=>y(()=>g.banned?P.admin.unbanUser({userId:g.id}):P.admin.banUser({userId:g.id,banReason:`Disabled by an instance administrator`}),g.banned?_(`admin.account.enabled`):_(`admin.account.disabledToast`))})}),g.id!==o.id&&(0,$.jsx)(me,{account:g,onDeleted:async()=>{r(),await a()}}),(0,$.jsxs)(`section`,{className:`pt-7`,children:[(0,$.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,$.jsx)(`h3`,{className:`mb-0`,children:_(`admin.account.workspaces`)}),(0,$.jsxs)(B,{size:`sm`,onClick:()=>{f(void 0),l(`workspace`)},children:[(0,$.jsx)(fe,{}),_(`admin.account.addToWorkspace`)]})]}),g.workspaces.length?g.workspaces.map(e=>(0,$.jsx)(Ue,{badge:c[e.role],children:(0,$.jsx)(K,{to:`/workspaces/$workspaceId/settings`,params:{workspaceId:e.id},search:{section:`members`},onClick:r,className:`text-primary`,dir:`auto`,children:e.name})},e.id)):(0,$.jsx)(w,{title:_(`admin.account.noWorkspaces`),className:`py-5`})]}),!!g.projects.length&&(0,$.jsxs)(`section`,{className:`pt-7`,children:[(0,$.jsx)(`h3`,{children:_(`admin.account.projectAccess`)}),g.projects.map(e=>(0,$.jsx)(Ue,{badge:c[e.role],children:(0,$.jsx)(K,{to:`/projects/$projectId/settings`,params:{projectId:e.id},search:{section:`members`},onClick:r,className:`text-primary`,dir:`auto`,children:e.name})},e.id))]})]})]}),g&&(0,$.jsx)(M,{title:_(s===`profile`?`admin.account.edit`:s===`role`?`admin.account.changeRoleTitle`:s===`workspace`?`admin.account.addToWorkspace`:`admin.account.setPassword`),open:!!s,onOpenChange:e=>{e||l(null)},busy:t,children:(0,$.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=new FormData(e.currentTarget),n,r;if(s===`profile`)n=()=>P.admin.updateUser({userId:g.id,data:{name:G(t,`name`),email:G(t,`email`)}}),r=_(`admin.account.updated`);else if(s===`role`)n=()=>P.admin.setRole({userId:g.id,role:t.get(`role`)===`admin`?`admin`:`user`}),r=_(`admin.account.roleUpdated`);else if(s===`workspace`)n=()=>m.mutateAsync({workspaceId:G(t,`workspace`),email:g.email,role:G(t,`role`)===`reader`?`reader`:G(t,`role`)===`admin`?`admin`:`writer`}),r=_(`admin.account.workspaceAdded`);else{let e=G(t,`password`);if(e!==G(t,`confirm`)){f(Error(_(`admin.account.passwordMismatch`)));return}n=()=>E.request(`/api/v1/admin/users/${encodeURIComponent(g.id)}/password`,v,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({password:e})}),r=_(`admin.account.passwordSet`)}y(n,r).catch(()=>{})},children:[s===`profile`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(L,{label:_(`admin.account.name`),name:`name`,defaultValue:g.name,required:!0,maxLength:120,autoFocus:!0}),(0,$.jsx)(L,{label:_(`admin.account.email`),name:`email`,type:`email`,defaultValue:g.email,required:!0})]}):s===`role`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(R,{label:_(`admin.account.instanceRole`),name:`role`,defaultValue:i(g.role)?`admin`:`user`,children:[(0,$.jsx)(j,{value:`user`,children:_(`admin.account.user`)}),(0,$.jsx)(j,{value:`admin`,children:_(`admin.account.administrator`)})]}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:_(`admin.account.adminsNote`)})]}):s===`workspace`?(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(R,{label:_(`admin.account.workspace`),name:`workspace`,required:!0,children:p.data?.filter(e=>!g.workspaces.some(t=>t.id===e.id)).map(e=>(0,$.jsx)(j,{value:e.id,children:e.name},e.id))}),(0,$.jsxs)(R,{label:_(`admin.account.workspaceRole`),name:`role`,defaultValue:`writer`,children:[(0,$.jsx)(j,{value:`reader`,children:c.reader}),(0,$.jsx)(j,{value:`writer`,children:c.writer}),(0,$.jsx)(j,{value:`admin`,children:c.admin})]})]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(L,{label:_(`admin.account.newPassword`),name:`password`,type:`password`,autoComplete:`new-password`,required:!0,minLength:12,maxLength:128}),(0,$.jsx)(L,{label:_(`admin.account.confirmPassword`),name:`confirm`,type:`password`,autoComplete:`new-password`,required:!0,minLength:12,maxLength:128}),(0,$.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:_(`admin.account.passwordNote`)})]}),(0,$.jsx)(H,{error:d,pending:t,submitLabel:_(`admin.account.save`),pendingLabel:_(`common.state.saving`),onCancel:()=>l(null)})]},s)})]})}function Ke({onCreated:e,onCancel:t,pending:n,setPending:r}){let i=C(),[a,o]=(0,Q.useState)();async function s(t){t.preventDefault();let n=t.currentTarget,a=new FormData(n);r(!0),o(void 0);try{let t=await P.admin.createUser({name:G(a,`name`),email:G(a,`email`),password:G(a,`password`),role:a.get(`role`)===`admin`?`admin`:`user`});if(t.error)throw Error(t.error.message);await i.invalidateQueries({queryKey:[`kanvil`,`users`]}),e(t.data.user.id,t.data.user.email)}catch(e){o(e)}finally{r(!1)}}return(0,$.jsx)(`section`,{children:(0,$.jsxs)(`form`,{onSubmit:e=>{s(e)},children:[(0,$.jsx)(L,{label:_(`admin.users.name`),name:`name`,required:!0,maxLength:120,autoFocus:!0}),(0,$.jsx)(L,{label:_(`admin.users.email`),name:`email`,type:`email`,required:!0,autoComplete:`off`}),(0,$.jsx)(L,{label:_(`admin.users.initialPassword`),name:`password`,type:`password`,autoComplete:`new-password`,minLength:12,maxLength:128,required:!0}),(0,$.jsxs)(R,{label:_(`admin.users.instanceRole`),name:`role`,children:[(0,$.jsx)(j,{value:`user`,children:_(`admin.users.user`)}),(0,$.jsx)(j,{value:`admin`,children:_(`admin.users.administrator`)})]}),(0,$.jsx)(H,{error:a,pending:n,submitLabel:_(`admin.users.create`),pendingLabel:_(`admin.users.creating`),onCancel:t})]})})}function qe(){let e=C(),t=P.useSession(),[n,r]=(0,Q.useState)(!1),[a,o]=(0,Q.useState)(!1),[s,c]=(0,Q.useState)(``),[l,u]=(0,Q.useState)(`all`),[d,f]=(0,Q.useState)(`all`),[p,m]=(0,Q.useState)(0),[h,g]=(0,Q.useState)(null),v=U({queryKey:[`kanvil`,`users`,s,l,d,p],queryFn:()=>E.request(`/api/v1/admin/users?${new URLSearchParams({q:s,role:l,status:d,offset:String(p),limit:`25`})}`,Be),placeholderData:ce});async function y(){await Promise.all([e.invalidateQueries({queryKey:[`kanvil`]}),t.refetch()])}return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(V,{title:_(`admin.users.title`),action:(0,$.jsxs)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-2`,children:[(0,$.jsx)(ue,{label:_(`admin.users.search`),placeholder:_(`admin.users.searchPlaceholder`),value:s,onChange:e=>{c(e),m(0)}}),(0,$.jsx)(D,{label:_(`admin.users.new`),variant:`default`,onClick:()=>r(!0),children:(0,$.jsx)(Fe,{})})]})}),(0,$.jsxs)(`div`,{className:`mb-5 flex flex-wrap items-center gap-2`,children:[(0,$.jsxs)(R,{label:_(`admin.users.roleFilter`),labelHidden:!0,className:`mb-0 w-40`,value:l,onValueChange:e=>{e&&u(e),m(0)},children:[(0,$.jsx)(j,{value:`all`,children:_(`admin.users.allRoles`)}),(0,$.jsx)(j,{value:`admin`,children:_(`admin.users.administrators`)}),(0,$.jsx)(j,{value:`user`,children:_(`admin.users.users`)})]}),(0,$.jsxs)(R,{label:_(`admin.users.statusFilter`),labelHidden:!0,className:`mb-0 w-40`,value:d,onValueChange:e=>{e&&f(e),m(0)},children:[(0,$.jsx)(j,{value:`all`,children:_(`admin.users.allAccounts`)}),(0,$.jsx)(j,{value:`active`,children:_(`admin.users.active`)}),(0,$.jsx)(j,{value:`disabled`,children:_(`admin.users.disabled`)})]})]}),(0,$.jsx)(k,{error:v.error}),v.isPending?(0,$.jsx)(I,{}):v.data?.users.length?(0,$.jsx)(`div`,{"aria-busy":v.isFetching,children:(0,$.jsxs)(Me,{mobileLayout:`rows`,"aria-label":_(`admin.users.title`),children:[(0,$.jsx)(Ae,{children:(0,$.jsxs)(X,{children:[(0,$.jsx)(Y,{children:_(`admin.users.user`)}),(0,$.jsx)(Y,{children:_(`admin.users.role`)}),(0,$.jsx)(Y,{children:_(`admin.users.status`)}),(0,$.jsx)(Y,{children:_(`admin.users.joined`)}),(0,$.jsx)(Y,{children:(0,$.jsx)(`span`,{className:`sr-only`,children:_(`admin.users.actions`)})})]})}),(0,$.jsx)(je,{children:v.data.users.map(e=>(0,$.jsx)(xe,{name:e.name,email:e.email,onOpen:()=>g(e.id),children:(0,$.jsxs)(X,{children:[(0,$.jsx)(Z,{className:`whitespace-normal`,children:(0,$.jsx)(B,{variant:`ghost`,className:`h-auto max-w-full justify-start p-0 text-left hover:bg-transparent`,onClick:()=>g(e.id),children:(0,$.jsx)(ie,{name:e.name,email:e.email,image:e.image})})}),(0,$.jsx)(Z,{"data-label":_(`admin.users.role`),children:(0,$.jsx)(W,{variant:`secondary`,children:i(e.role)?_(`admin.users.administrator`):_(`admin.users.user`)})}),(0,$.jsx)(Z,{"data-label":_(`admin.users.status`),children:(0,$.jsx)(W,{variant:e.banned?`destructive`:`outline`,children:e.banned?_(`admin.users.disabled`):_(`admin.users.active`)})}),(0,$.jsx)(Z,{"data-label":_(`admin.users.joined`),className:`text-xs text-muted-foreground`,children:(0,$.jsx)(oe,{value:e.createdAt})}),(0,$.jsx)(Z,{children:(0,$.jsx)(B,{variant:`ghost`,size:`icon`,"aria-label":_(`admin.users.manage`,{name:e.name}),onClick:()=>g(e.id),children:(0,$.jsx)(ge,{})})})]})},e.id))})]})}):(0,$.jsx)(w,{title:_(s||l!==`all`||d!==`all`?`admin.users.noMatches`:`admin.users.empty`),className:`py-12`}),(0,$.jsx)(de,{noun:_(`admin.users.pagerNoun`),offset:p,total:v.data?.total??0,size:25,onChange:m}),(0,$.jsx)(M,{title:_(`admin.users.create`),open:n,onOpenChange:r,busy:a,children:(0,$.jsx)(Ke,{pending:a,setPending:o,onCancel:()=>r(!1),onCreated:(e,t)=>{r(!1),c(``),u(`all`),f(`all`),m(0),g(e),A.success(_(`admin.users.created`,{email:t}))}})}),(0,$.jsx)(We,{userId:h,onClose:()=>g(null),onChanged:y})]})}var Je=25;function Ye(){let[e,t]=(0,Q.useState)(``),[n,r]=(0,Q.useState)(0),[i,a]=(0,Q.useState)(null),o=U({queryKey:[`kanvil`,`admin-workspaces`,e,n],queryFn:()=>E.request(`/api/v1/admin/workspaces?${new URLSearchParams({q:e,offset:String(n),limit:String(Je)})}`,He),placeholderData:ce});return(0,$.jsxs)(`section`,{children:[(0,$.jsx)(V,{title:_(`settings.workspaces.title`),action:(0,$.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center justify-end gap-2`,children:(0,$.jsx)(ue,{label:_(`settings.workspaces.search`),placeholder:_(`settings.workspaces.searchPlaceholder`),value:e,onChange:e=>{t(e),r(0)}})})}),(0,$.jsx)(k,{error:o.error}),o.isPending?(0,$.jsx)(I,{}):o.data?.workspaces.length?(0,$.jsx)(`div`,{"aria-busy":o.isFetching,children:(0,$.jsxs)(Me,{mobileLayout:`rows`,"aria-label":_(`settings.workspaces.title`),children:[(0,$.jsx)(Ae,{children:(0,$.jsxs)(X,{children:[(0,$.jsx)(Y,{children:_(`settings.workspaces.workspace`)}),(0,$.jsx)(Y,{children:_(`settings.workspaces.administrators`)}),(0,$.jsx)(Y,{children:_(`settings.workspaces.members`)}),(0,$.jsx)(Y,{children:_(`settings.workspaces.projects`)}),(0,$.jsx)(Y,{children:_(`settings.workspaces.created`)}),(0,$.jsx)(Y,{children:(0,$.jsx)(`span`,{className:`sr-only`,children:_(`settings.workspaces.actions`)})})]})}),(0,$.jsx)(je,{children:o.data.workspaces.map(e=>(0,$.jsxs)(X,{children:[(0,$.jsx)(Z,{className:`whitespace-normal`,children:(0,$.jsxs)(B,{variant:`ghost`,className:`h-auto max-w-full flex-col items-start gap-0.5 p-0 text-left hover:bg-transparent`,onClick:()=>a(e),children:[(0,$.jsx)(`span`,{dir:`auto`,className:`font-medium wrap-anywhere whitespace-normal`,children:e.name}),(0,$.jsx)(`span`,{className:`font-mono text-xs font-normal text-muted-foreground`,children:e.slug})]})}),(0,$.jsx)(Z,{"data-label":_(`settings.workspaces.administrators`),className:`text-xs wrap-anywhere whitespace-normal`,children:e.administrators.length?f(e.administrators.map(e=>e.name)):(0,$.jsx)(W,{variant:`destructive`,children:_(`settings.workspaces.noAdministrator`)})}),(0,$.jsx)(Z,{"data-label":_(`settings.workspaces.members`),className:`tabular-nums`,children:e.memberCount}),(0,$.jsx)(Z,{"data-label":_(`settings.workspaces.projects`),className:`tabular-nums`,children:e.projectCount}),(0,$.jsx)(Z,{"data-label":_(`settings.workspaces.created`),className:`text-xs text-muted-foreground`,children:(0,$.jsx)(oe,{value:e.createdAt})}),(0,$.jsx)(Z,{children:(0,$.jsx)(B,{variant:`ghost`,size:`icon`,"aria-label":_(`settings.workspaces.manage`,{name:e.name}),onClick:()=>a(e),children:(0,$.jsx)(ge,{})})})]},e.id))})]})}):(0,$.jsx)(w,{title:_(e?`settings.workspaces.noMatches`:`settings.workspaces.empty`),className:`py-12`}),(0,$.jsx)(de,{noun:_(`settings.workspaces.pagerNoun`),offset:n,total:o.data?.total??0,size:Je,onChange:r}),(0,$.jsx)(Xe,{workspace:i,onClose:()=>a(null)})]})}function Xe({workspace:e,onClose:t}){let{shown:n,settled:r}=Ce(e,e=>e.id),i=n?.id??``,a=U({...E.query(`list_workspace_members`,{workspaceId:i}),enabled:!!n}),o=U({...E.query(`list_projects`,{workspaceId:i,archived:`include`}),enabled:!!n}),s=U({...E.query(`list_workspace_roles`,{workspaceId:i}),enabled:!!n}),c=re(`set_workspace_member`);return(0,$.jsx)(be,{open:!!e,onOpenChange:e=>{!e&&!c.isPending&&t()},onOpenChangeComplete:r,children:(0,$.jsxs)(ye,{className:`w-full! sm:max-w-lg!`,children:[(0,$.jsxs)(De,{className:`shrink-0 border-b pr-14`,children:[(0,$.jsx)(ve,{className:`mb-0`,children:n?.name??_(`settings.workspaces.workspace`)}),(0,$.jsx)(Se,{className:`font-mono`,children:n?.slug})]}),(0,$.jsxs)(`div`,{className:`@container min-h-0 overflow-y-auto px-6 pb-8`,children:[(0,$.jsx)(Ne,{people:a.data??[],pending:c.isPending,loading:a.isPending,error:a.error,canAdmin:!0,ownerId:n?.ownerId,scope:`workspace`,roles:s.data,authority:{admin:!0,capabilities:m},onChange:(e,t)=>c.mutateAsync({workspaceId:i,email:e,role:t})}),n&&(0,$.jsx)(_e,{workspaceId:n.id}),(0,$.jsxs)(`section`,{className:`pt-7`,children:[(0,$.jsx)(`h3`,{children:_(`settings.workspaces.projects`)}),(0,$.jsx)(k,{error:o.error}),o.isPending?(0,$.jsx)(I,{}):o.data?.length?o.data.map(e=>(0,$.jsx)(Ue,{badge:e.visibility===`private`?_(`settings.workspaces.private`):_(`settings.members.workspaceAccess`),children:(0,$.jsx)(K,{to:`/projects/$projectId/settings`,params:{projectId:e.id},search:{section:`members`},onClick:t,className:`text-primary`,children:e.name})},e.id)):(0,$.jsx)(w,{title:_(`settings.workspaces.noProjects`),className:`py-5`})]})]},n?.id)]})})}var Ze={queryKey:[`kanvil`,`instance`],queryFn:()=>E.request(`/api/v1/admin/instance`,h)};function Qe({section:e}){let t=U({...Ze,refetchOnMount:`always`,refetchInterval:[`search`,`storage`,`events`].includes(e)?5e3:!1});return t.data&&t.isFetchedAfterMount?(0,$.jsx)(et,{data:t.data,section:e},e):t.isPending||t.isFetching?(0,$.jsx)(I,{}):(0,$.jsx)(k,{error:t.error})}function $e(e){return{expectedVersion:e.version,authentication:e.authentication,name:e.name,description:e.description,storageProvider:e.storage.provider,s3:{endpoint:``,region:`us-east-1`,bucket:``,prefix:`kanvil/`,forcePathStyle:!0,accessKeyId:``,...e.storage.settings,secretAccessKey:``},brokerProvider:e.broker.provider,rabbit:{url:``,exchange:e.broker.settings?.exchange??`kanvil.events`},searchProvider:e.search.provider,elastic:{url:``,index:`kanvil-${e.id}`,username:``,...e.search.settings,auth:e.search.settings?.auth??`none`,apiKey:``,password:``}}}function et({data:e,section:t}){let n=C(),i=ne(),[a,o]=(0,Q.useState)(()=>$e(e)),[c,l]=(0,Q.useState)(!1),[u,p]=(0,Q.useState)(),[m,h]=(0,Q.useState)(``),[g,y]=(0,Q.useState)(!1),b=e.storage.source===`deployment`,x=e.search.source===`deployment`,S=e.broker.source===`deployment`,w=t===`storage`?b:t===`search`?x:t===`events`&&S,T=e=>o(t=>({...t,s3:{...t.s3,...e}})),D=e=>o(t=>({...t,elastic:{...t.elastic,...e}}));async function O(e,t,n=!1){p(void 0),h(``),l(!0);try{await e(),n?A.success(t,{id:`instance-settings`}):h(t)}catch(e){p(e)}finally{l(!1)}}async function P(){let e=d.parse({expectedVersion:a.expectedVersion,...t===`authentication`?{authentication:a.authentication}:{},name:a.name,description:a.description,storage:a.storageProvider===`s3`?{provider:`s3`,...a.s3}:{provider:`local`},broker:a.brokerProvider===`rabbitmq`?{provider:`rabbitmq`,...a.rabbit,url:a.rabbit.url||void 0}:{provider:`postgres`},search:a.searchProvider===`elasticsearch`?{provider:`elasticsearch`,...a.elastic}:{provider:`postgres`}});await E.request(`/api/v1/admin/instance`,v,{method:`PATCH`,headers:{"Content-Type":`application/json`},body:JSON.stringify(e)}),o(e=>({...e,expectedVersion:e.expectedVersion+1,s3:{...e.s3,secretAccessKey:``},elastic:{...e.elastic,apiKey:``,password:``},rabbit:{...e.rabbit,url:``}})),await n.invalidateQueries({queryKey:[`kanvil`,`instance`]}),await n.invalidateQueries({queryKey:[`info`]}),y(!1)}return(0,$.jsxs)(Oe,{title:_(`admin.instance.title`),section:t,children:[[`general`,`storage`,`search`,`events`].map(t=>(0,$.jsx)(q,{value:t,children:(0,$.jsx)(Le,{data:e,section:t,onConfigure:()=>{o($e(e)),p(void 0),h(``),y(!0)}})},t)),!g&&t!==`authentication`&&(0,$.jsx)(k,{error:u}),(0,$.jsx)(M,{title:_(t===`general`?`admin.instance.edit`:t===`storage`?`admin.configure.storageTitle`:t===`search`?`admin.configure.searchTitle`:`admin.configure.eventsTitle`),open:g,onOpenChange:y,busy:c,children:(0,$.jsxs)(`form`,{className:`[&_section]:py-0 [&>[data-slot=field-set]>section:first-child]:pt-0`,onSubmit:e=>{e.preventDefault(),w||O(P,_(`admin.configure.saved`),!0)},children:[(0,$.jsxs)(z,{disabled:c,className:`gap-0`,children:[t===`general`&&(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{children:_(`admin.instance.heading`)}),(0,$.jsx)(L,{label:_(`admin.configure.instanceName`),required:!0,maxLength:100,value:a.name,onChange:e=>o({...a,name:e.target.value})}),(0,$.jsx)(se,{label:_(`admin.configure.instanceDescription`),maxLength:500,value:a.description,onChange:e=>o({...a,description:e.target.value})}),(0,$.jsx)(N,{label:_(`admin.instance.publicUrl`),value:e.deployment.url}),(0,$.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:_(`admin.configure.publicUrlSource`)})]})}),t===`storage`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,$.jsx)(`h2`,{className:`mb-0`,children:_(`admin.instance.section.storage`)}),(0,$.jsx)(W,{variant:`secondary`,children:_(b?`admin.instance.deploymentManaged`:`admin.instance.instanceManaged`)})]}),(0,$.jsx)(`p`,{children:_(`admin.configure.storageIntro`)}),(0,$.jsxs)(R,{label:_(`admin.configure.storageProvider`),disabled:b,value:a.storageProvider,onValueChange:e=>o({...a,storageProvider:e===`s3`?`s3`:`local`}),children:[(0,$.jsx)(j,{value:`local`,children:_(`admin.instance.provider.local`)}),(0,$.jsx)(j,{value:`s3`,children:_(`admin.instance.provider.s3`)})]}),a.storageProvider===`local`?(0,$.jsx)(`p`,{children:_(`admin.configure.localDescription`)}):(0,$.jsxs)(z,{disabled:b,className:`gap-0`,children:[(0,$.jsx)(L,{label:_(`admin.configure.s3Endpoint`),type:`url`,placeholder:`https://s3.example.com`,value:a.s3.endpoint,onChange:e=>T({endpoint:e.target.value})}),(0,$.jsx)(`p`,{className:`-mt-2 text-xs`,children:_(`admin.configure.s3EndpointHint`)}),(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-x-5 sm:grid-cols-2`,children:[(0,$.jsx)(L,{label:_(`admin.instance.bucket`),value:a.s3.bucket,required:!0,onChange:e=>T({bucket:e.target.value})}),(0,$.jsx)(L,{label:_(`admin.configure.region`),value:a.s3.region,required:!0,onChange:e=>T({region:e.target.value})})]}),(0,$.jsx)(L,{label:_(`admin.configure.prefix`),value:a.s3.prefix,onChange:e=>T({prefix:e.target.value})}),(0,$.jsx)(L,{label:_(`admin.configure.accessKeyId`),autoComplete:`off`,value:a.s3.accessKeyId,onChange:e=>T({accessKeyId:e.target.value})}),(0,$.jsx)(L,{label:_(`admin.configure.secretAccessKey`),type:`password`,autoComplete:`new-password`,value:a.s3.secretAccessKey,placeholder:e.storage.secretConfigured?_(`admin.configure.savedSecret`):_(`admin.configure.deploymentCredentials`),onChange:e=>T({secretAccessKey:e.target.value})}),(0,$.jsx)(te,{label:_(`admin.configure.pathStyle`),checked:a.s3.forcePathStyle,onCheckedChange:e=>T({forcePathStyle:e})})]}),a.storageProvider===`s3`&&(0,$.jsx)(B,{disabled:c,onClick:()=>{O(()=>E.request(`/api/v1/admin/storage/test`,v,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(a.s3)}),_(`admin.configure.storageVerified`))},children:_(`admin.configure.testStorage`)}),(0,$.jsx)(`p`,{className:`mt-4 text-xs`,role:`status`,children:e.storage.pending?_(`admin.configure.filesWaiting`,{count:e.storage.pending}):_(`admin.configure.transfersComplete`)}),e.storage.error&&(0,$.jsx)(k,{error:Error(e.storage.error)}),b&&(0,$.jsx)(`p`,{className:`mt-4 text-xs`,children:_(`admin.configure.storageDeployment`)})]}),e.locations.length>0&&(0,$.jsxs)(`section`,{children:[(0,$.jsx)(`h2`,{children:_(`admin.configure.locations`)}),e.locations.map(e=>(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-3 border-b py-2.5 text-xs wrap-anywhere [&>:first-child]:min-w-24 [&>:first-child]:flex-1`,children:[(0,$.jsxs)(`span`,{className:`grid gap-1`,children:[(0,$.jsx)(`strong`,{children:e.bucket}),(0,$.jsxs)(`span`,{className:`text-muted-foreground`,children:[e.endpoint||`Amazon S3`,` / `,e.prefix]})]}),(0,$.jsx)(`span`,{children:_(`admin.configure.locationFiles`,{count:e.objects})})]},e.id)),(0,$.jsx)(`div`,{className:`mt-4`,children:(0,$.jsx)(F,{label:_(`admin.configure.cleanUp`),description:_(`admin.configure.cleanUpConfirm`),onConfirm:async()=>{await E.request(`/api/v1/admin/storage/cleanup`,s({removed:r()}),{method:`POST`}),await n.invalidateQueries({queryKey:[`kanvil`,`instance`]})}})}),(0,$.jsx)(`p`,{className:`mt-3 text-xs`,children:_(`admin.configure.cleanUpNote`)})]})]}),t===`search`&&(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,$.jsx)(`h2`,{className:`mb-0`,children:_(`admin.instance.section.search`)}),(0,$.jsx)(W,{variant:`secondary`,children:e.search.status===`builtin`?`PostgreSQL`:_(`admin.instance.status.${e.search.status}`)})]}),(0,$.jsxs)(R,{label:_(`admin.configure.searchProvider`),disabled:x,value:a.searchProvider,onValueChange:e=>o({...a,searchProvider:e===`elasticsearch`?`elasticsearch`:`postgres`}),children:[(0,$.jsx)(j,{value:`postgres`,children:_(`admin.configure.searchBuiltIn`)}),(0,$.jsx)(j,{value:`elasticsearch`,children:_(`admin.instance.provider.elasticsearch`)})]}),a.searchProvider===`elasticsearch`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(z,{disabled:x,className:`gap-0`,children:[(0,$.jsx)(L,{label:_(`admin.instance.searchEndpoint`),type:`url`,required:!0,value:a.elastic.url,onChange:e=>D({url:e.target.value})}),(0,$.jsx)(L,{label:_(`admin.configure.indexName`),required:!0,value:a.elastic.index,onChange:e=>D({index:e.target.value})}),(0,$.jsxs)(R,{label:_(`admin.configure.searchAuthentication`),value:a.elastic.auth,onValueChange:e=>D({auth:ee.parse(e)}),children:[(0,$.jsx)(j,{value:`none`,children:_(`admin.configure.noAuthentication`)}),(0,$.jsx)(j,{value:`apiKey`,children:_(`admin.configure.apiKey`)}),(0,$.jsx)(j,{value:`basic`,children:_(`admin.configure.basic`)})]}),a.elastic.auth===`apiKey`&&(0,$.jsx)(L,{label:_(`admin.configure.searchApiKey`),type:`password`,autoComplete:`new-password`,placeholder:e.search.secretConfigured?_(`admin.configure.savedSecret`):_(`admin.configure.optional`),value:a.elastic.apiKey,onChange:e=>D({apiKey:e.target.value})}),a.elastic.auth===`basic`&&(0,$.jsxs)(`div`,{className:`grid grid-cols-1 gap-x-5 sm:grid-cols-2`,children:[(0,$.jsx)(L,{label:_(`admin.configure.searchUsername`),autoComplete:`off`,value:a.elastic.username,onChange:e=>D({username:e.target.value})}),(0,$.jsx)(L,{label:_(`admin.configure.searchPassword`),type:`password`,autoComplete:`new-password`,value:a.elastic.password,onChange:e=>D({password:e.target.value})})]})]}),(0,$.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,$.jsx)(B,{onClick:()=>{O(()=>E.request(`/api/v1/admin/search/test`,v,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(a.elastic)}),_(`admin.configure.searchVerified`))},children:_(`admin.configure.testSearch`)}),e.search.provider===`elasticsearch`&&(0,$.jsx)(B,{onClick:()=>{O(()=>E.request(`/api/v1/admin/search/reindex`,v,{method:`POST`}),_(`admin.configure.rebuildQueued`))},children:_(`admin.configure.rebuild`)})]})]}),(0,$.jsx)(`p`,{className:`mt-5`,children:_(`admin.configure.searchNote`)}),e.search.error&&(0,$.jsx)(k,{error:Error(e.search.error)})]})}),t===`events`&&(0,$.jsx)($.Fragment,{children:(0,$.jsxs)(`section`,{children:[(0,$.jsxs)(`div`,{className:`mb-5 flex items-center gap-3`,children:[(0,$.jsx)(`h2`,{className:`mb-0`,children:_(`admin.instance.section.events`)}),(0,$.jsx)(W,{variant:`secondary`,children:e.broker.status===`builtin`?`PostgreSQL`:_(`admin.instance.status.${e.broker.status}`)})]}),(0,$.jsxs)(R,{label:_(`admin.configure.brokerProvider`),disabled:S,value:a.brokerProvider,onValueChange:e=>o({...a,brokerProvider:e===`rabbitmq`?`rabbitmq`:`postgres`}),children:[(0,$.jsx)(j,{value:`postgres`,children:_(`admin.configure.brokerBuiltIn`)}),(0,$.jsx)(j,{value:`rabbitmq`,children:`RabbitMQ`})]}),a.brokerProvider===`rabbitmq`&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsxs)(z,{disabled:S,className:`gap-0`,children:[(0,$.jsx)(L,{label:_(`admin.configure.rabbitUrl`),type:`password`,autoComplete:`new-password`,value:a.rabbit.url,placeholder:e.broker.secretConfigured?_(`admin.configure.savedSecret`):`amqps://user:password@host/vhost`,onChange:e=>o({...a,rabbit:{...a.rabbit,url:e.target.value}})}),e.broker.settings&&(0,$.jsx)(N,{label:_(`admin.configure.savedBrokerEndpoint`),value:e.broker.settings.endpoint}),(0,$.jsx)(L,{label:_(`admin.configure.rabbitExchange`),required:!0,value:a.rabbit.exchange,onChange:e=>o({...a,rabbit:{...a.rabbit,exchange:e.target.value}})})]}),(0,$.jsx)(B,{onClick:()=>{O(()=>E.request(`/api/v1/admin/broker/test`,v,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({...a.rabbit,url:a.rabbit.url||void 0})}),_(`admin.configure.brokerVerified`))},children:_(`admin.configure.testBroker`)})]}),(0,$.jsx)(`p`,{className:`mt-5`,children:_(`admin.configure.brokerNote`)}),S&&(0,$.jsx)(`p`,{className:`mt-4 text-xs`,children:_(`admin.configure.brokerDeployment`)}),e.broker.error&&(0,$.jsx)(k,{error:Error(e.broker.error)})]})})]}),[`general`,`storage`,`search`,`events`].includes(t)&&(0,$.jsxs)(`div`,{className:`sticky bottom-0 mt-6 flex flex-wrap items-center gap-3 border-t bg-background/95 py-4 backdrop-blur`,children:[(0,$.jsx)(B,{disabled:c,onClick:()=>y(!1),children:_(w?`common.action.done`:`common.action.cancel`)}),!w&&(0,$.jsx)(B,{variant:`default`,type:`submit`,disabled:c,children:_(c?`common.state.saving`:`admin.configure.save`)}),m&&(0,$.jsx)(`span`,{role:`status`,className:`text-sm text-muted-foreground`,children:m}),(0,$.jsx)(k,{error:u})]})]})}),(0,$.jsx)(q,{value:`users`,children:(0,$.jsx)(qe,{})}),(0,$.jsx)(q,{value:`workspaces`,children:(0,$.jsx)(Ye,{})}),(0,$.jsx)(q,{value:`authentication`,children:(0,$.jsxs)(`section`,{children:[(0,$.jsx)(V,{title:_(`admin.authentication.title`)}),(0,$.jsxs)(`form`,{className:`mb-6`,onSubmit:e=>{e.preventDefault(),O(P,_(`admin.authentication.saved`),!0)},children:[(0,$.jsx)(J,{title:_(`admin.authentication.emailPassword`),description:_(`admin.authentication.emailPasswordDescription`),children:(0,$.jsx)(ke,{"aria-label":_(`admin.authentication.emailPassword`),checked:a.authentication.emailPasswordEnabled,disabled:c,onCheckedChange:e=>o(t=>({...t,authentication:{...t.authentication,emailPasswordEnabled:e}}))})}),(0,$.jsx)(J,{title:_(`admin.authentication.ssoProvision`),description:_(`admin.authentication.ssoProvisionDescription`),children:(0,$.jsx)(ke,{"aria-label":_(`admin.authentication.ssoProvision`),checked:a.authentication.ssoAutoProvision,disabled:c,onCheckedChange:e=>o(t=>({...t,authentication:{...t.authentication,ssoAutoProvision:e}}))})}),(0,$.jsx)(J,{title:_(`admin.authentication.registration`),children:_(`admin.authentication.registrationClosed`)}),(0,$.jsx)(J,{title:_(`admin.authentication.identityProvider`),children:e.deployment.oidc?.name??_(`admin.authentication.notConfigured`)}),(0,$.jsx)(J,{title:_(`admin.authentication.linkedProviders`),description:_(`admin.authentication.linkedProvidersDescription`),children:f(i.data?.providers.filter(e=>e.id!==`oidc`).map(e=>e.name)??[])||_(`admin.authentication.notConfigured`)}),(0,$.jsx)(H,{layout:`inline`,error:u,pending:c,submitLabel:_(`admin.authentication.save`),pendingLabel:_(`common.state.saving`),submitDisabled:a.authentication.emailPasswordEnabled===e.authentication.emailPasswordEnabled&&a.authentication.ssoAutoProvision===e.authentication.ssoAutoProvision})]}),e.deployment.oidc&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(N,{label:_(`admin.authentication.discoveryUrl`),value:e.deployment.oidc.discoveryUrl}),(0,$.jsx)(N,{label:_(`admin.authentication.clientId`),value:e.deployment.oidc.clientId})]}),(0,$.jsx)(`p`,{children:_(`admin.authentication.oidcSetup`)}),(0,$.jsx)(`h3`,{children:_(`admin.authentication.consumers`)}),(0,$.jsx)(N,{label:`HTTP API`,value:`${e.deployment.url}/api/v1`}),(0,$.jsx)(N,{label:_(`admin.authentication.mcpEndpoint`),value:`${e.deployment.url}/mcp`}),(0,$.jsx)(N,{label:_(`admin.authentication.eventFeed`),value:`${e.deployment.url}/api/v1/events`}),(0,$.jsxs)(`a`,{className:`inline-flex items-center gap-2 text-primary`,href:`/api/openapi.json`,target:`_blank`,rel:`noreferrer`,children:[_(`admin.authentication.openApi`),(0,$.jsx)(Ee,{className:`size-4`})]})]})})]})}export{Qe as AdminSettings};
@@ -1 +1 @@
1
- import{Ga as e}from"./search-Ble6WSEU.js";var t={name:`archive-restore`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]};t.node;var n=e(t);export{n as t};
1
+ import{Ga as e}from"./search-DwsPEC4E.js";var t={name:`archive-restore`,size:24,node:[[`rect`,{width:`20`,height:`5`,x:`2`,y:`3`,rx:`1`,key:`1wp1u1`}],[`path`,{d:`M4 8v11a2 2 0 0 0 2 2h2`,key:`tvwodi`}],[`path`,{d:`M20 8v11a2 2 0 0 1-2 2h-2`,key:`1gkqxj`}],[`path`,{d:`m9 15 3-3 3 3`,key:`1pd0qc`}],[`path`,{d:`M12 12v9`,key:`192myk`}]]};t.node;var n=e(t);export{n as t};
@@ -1 +1 @@
1
- import{c as e,l as t,o as n,s as r}from"./en-US-DKYSujv3.js";import{Dt as i}from"./index-CYVrs22O.js";var a={lessThanXSeconds:{one:`bir saniyədən az`,other:`{{count}} bir saniyədən az`},xSeconds:{one:`1 saniyə`,other:`{{count}} saniyə`},halfAMinute:`yarım dəqiqə`,lessThanXMinutes:{one:`bir dəqiqədən az`,other:`{{count}} bir dəqiqədən az`},xMinutes:{one:`bir dəqiqə`,other:`{{count}} dəqiqə`},aboutXHours:{one:`təxminən 1 saat`,other:`təxminən {{count}} saat`},xHours:{one:`1 saat`,other:`{{count}} saat`},xDays:{one:`1 gün`,other:`{{count}} gün`},aboutXWeeks:{one:`təxminən 1 həftə`,other:`təxminən {{count}} həftə`},xWeeks:{one:`1 həftə`,other:`{{count}} həftə`},aboutXMonths:{one:`təxminən 1 ay`,other:`təxminən {{count}} ay`},xMonths:{one:`1 ay`,other:`{{count}} ay`},aboutXYears:{one:`təxminən 1 il`,other:`təxminən {{count}} il`},xYears:{one:`1 il`,other:`{{count}} il`},overXYears:{one:`1 ildən çox`,other:`{{count}} ildən çox`},almostXYears:{one:`demək olar ki 1 il`,other:`demək olar ki {{count}} il`}},o=(e,t,n)=>{let r,i=a[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+` sonra`:r+` əvvəl`:r},s={date:t({formats:{full:`EEEE, do MMMM y 'il'`,long:`do MMMM y 'il'`,medium:`d MMM y 'il'`,short:`dd.MM.yyyy`},defaultWidth:`full`}),time:t({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} {{time}} - 'də'`,long:`{{date}} {{time}} - 'də'`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},c={lastWeek:`'sonuncu' eeee p -'də'`,yesterday:`'dünən' p -'də'`,today:`'bugün' p -'də'`,tomorrow:`'sabah' p -'də'`,nextWeek:`eeee p -'də'`,other:`P`},l=(e,t,n,r)=>c[e],u={narrow:[`e.ə`,`b.e`],abbreviated:[`e.ə`,`b.e`],wide:[`eramızdan əvvəl`,`bizim era`]},d={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`K1`,`K2`,`K3`,`K4`],wide:[`1ci kvartal`,`2ci kvartal`,`3cü kvartal`,`4cü kvartal`]},f={narrow:[`Y`,`F`,`M`,`A`,`M`,`İ`,`İ`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Yan`,`Fev`,`Mar`,`Apr`,`May`,`İyun`,`İyul`,`Avq`,`Sen`,`Okt`,`Noy`,`Dek`],wide:[`Yanvar`,`Fevral`,`Mart`,`Aprel`,`May`,`İyun`,`İyul`,`Avqust`,`Sentyabr`,`Oktyabr`,`Noyabr`,`Dekabr`]},p={narrow:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],short:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],abbreviated:[`Baz`,`Baz.e`,`Çər.a`,`Çər`,`Cüm.a`,`Cüm`,`Şə`],wide:[`Bazar`,`Bazar ertəsi`,`Çərşənbə axşamı`,`Çərşənbə`,`Cümə axşamı`,`Cümə`,`Şənbə`]},m={narrow:{am:`am`,pm:`pm`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},h={narrow:{am:`a`,pm:`p`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},g={1:`-inci`,5:`-inci`,8:`-inci`,70:`-inci`,80:`-inci`,2:`-nci`,7:`-nci`,20:`-nci`,50:`-nci`,3:`-üncü`,4:`-üncü`,100:`-üncü`,6:`-ncı`,9:`-uncu`,10:`-uncu`,30:`-uncu`,60:`-ıncı`,90:`-ıncı`},_=e=>{if(e===0)return e+`-ıncı`;let t=e%10,n=e%100-t,r=e>=100?100:null;return g[t]?g[t]:g[n]?g[n]:r===null?``:g[r]},v={code:`az`,formatDistance:o,formatLong:s,formatRelative:l,localize:{ordinalNumber:(e,t)=>{let n=Number(e);return n+_(n)},era:e({values:u,defaultWidth:`wide`}),quarter:e({values:d,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:e({values:f,defaultWidth:`wide`}),day:e({values:p,defaultWidth:`wide`}),dayPeriod:e({values:m,defaultWidth:`wide`,formattingValues:h,defaultFormattingWidth:`wide`})},match:{ordinalNumber:n({matchPattern:/^(\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:r({matchPatterns:{narrow:/^(b|a)$/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)$/i,wide:/^(bizim eradan əvvəl|bizim era)$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b$/i,/^(a|c)$/i]},defaultParseWidth:`any`}),quarter:r({matchPatterns:{narrow:/^[1234]$/i,abbreviated:/^K[1234]$/i,wide:/^[1234](ci)? kvartal$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:r({matchPatterns:{narrow:/^[(?-i)yfmaisond]$/i,abbreviated:/^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i,wide:/^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^[(?-i)y]$/i,/^[(?-i)f]$/i,/^[(?-i)m]$/i,/^[(?-i)a]$/i,/^[(?-i)m]$/i,/^[(?-i)i]$/i,/^[(?-i)i]$/i,/^[(?-i)a]$/i,/^[(?-i)s]$/i,/^[(?-i)o]$/i,/^[(?-i)n]$/i,/^[(?-i)d]$/i],abbreviated:[/^Yan$/i,/^Fev$/i,/^Mar$/i,/^Apr$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avg$/i,/^Sen$/i,/^Okt$/i,/^Noy$/i,/^Dek$/i],wide:[/^Yanvar$/i,/^Fevral$/i,/^Mart$/i,/^Aprel$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avgust$/i,/^Sentyabr$/i,/^Oktyabr$/i,/^Noyabr$/i,/^Dekabr$/i]},defaultParseWidth:`narrow`}),day:r({matchPatterns:{narrow:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,short:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,abbreviated:/^(Baz\.e|Çər|Çər\.a|Cüm|Cüm\.a|Şə)$/i,wide:/^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i],abbreviated:[/^Baz$/i,/^Baz\.e$/i,/^Çər\.a$/i,/^Çər$/i,/^Cüm\.a$/i,/^Cüm$/i,/^Şə$/i],wide:[/^Bazar$/i,/^Bazar ertəsi$/i,/^Çərşənbə axşamı$/i,/^Çərşənbə$/i,/^Cümə axşamı$/i,/^Cümə$/i,/^Şənbə$/i],any:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i]},defaultParseWidth:`any`}),dayPeriod:r({matchPatterns:{narrow:/^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i,any:/^(am|pm|a\.m\.|p\.m\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a$/i,pm:/^p$/i,midnight:/^gecəyarı$/i,noon:/^gün$/i,morning:/səhər$/i,afternoon:/gündüz$/i,evening:/axşam$/i,night:/gecə$/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1},labels:{labelDayButton:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t.today&&(a=`Bu gün, ${a}`),t.selected&&(a=`${a}, seçilmiş`),a},labelMonthDropdown:`Ayı seçin`,labelNext:`Növbəti aya keç`,labelPrevious:`Əvvəlki aya keç`,labelWeekNumber:e=>`Həftə ${e}`,labelYearDropdown:`İli seçin`,labelGrid:(e,t,n)=>(n??new i(t)).formatMonthYear(e),labelGridcell:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t?.today&&(a=`Bu gün, ${a}`),a},labelNav:`Naviqasiya paneli`,labelWeekNumberHeader:`Həftə nömrəsi`,labelWeekday:(e,t,n)=>(n??new i(t)).format(e,`cccc`)}};export{v as az};
1
+ import{c as e,l as t,o as n,s as r}from"./en-US-DKYSujv3.js";import{Dt as i}from"./index-Ds3IHeIi.js";var a={lessThanXSeconds:{one:`bir saniyədən az`,other:`{{count}} bir saniyədən az`},xSeconds:{one:`1 saniyə`,other:`{{count}} saniyə`},halfAMinute:`yarım dəqiqə`,lessThanXMinutes:{one:`bir dəqiqədən az`,other:`{{count}} bir dəqiqədən az`},xMinutes:{one:`bir dəqiqə`,other:`{{count}} dəqiqə`},aboutXHours:{one:`təxminən 1 saat`,other:`təxminən {{count}} saat`},xHours:{one:`1 saat`,other:`{{count}} saat`},xDays:{one:`1 gün`,other:`{{count}} gün`},aboutXWeeks:{one:`təxminən 1 həftə`,other:`təxminən {{count}} həftə`},xWeeks:{one:`1 həftə`,other:`{{count}} həftə`},aboutXMonths:{one:`təxminən 1 ay`,other:`təxminən {{count}} ay`},xMonths:{one:`1 ay`,other:`{{count}} ay`},aboutXYears:{one:`təxminən 1 il`,other:`təxminən {{count}} il`},xYears:{one:`1 il`,other:`{{count}} il`},overXYears:{one:`1 ildən çox`,other:`{{count}} ildən çox`},almostXYears:{one:`demək olar ki 1 il`,other:`demək olar ki {{count}} il`}},o=(e,t,n)=>{let r,i=a[e];return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?r+` sonra`:r+` əvvəl`:r},s={date:t({formats:{full:`EEEE, do MMMM y 'il'`,long:`do MMMM y 'il'`,medium:`d MMM y 'il'`,short:`dd.MM.yyyy`},defaultWidth:`full`}),time:t({formats:{full:`H:mm:ss zzzz`,long:`H:mm:ss z`,medium:`H:mm:ss`,short:`H:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} {{time}} - 'də'`,long:`{{date}} {{time}} - 'də'`,medium:`{{date}}, {{time}}`,short:`{{date}}, {{time}}`},defaultWidth:`full`})},c={lastWeek:`'sonuncu' eeee p -'də'`,yesterday:`'dünən' p -'də'`,today:`'bugün' p -'də'`,tomorrow:`'sabah' p -'də'`,nextWeek:`eeee p -'də'`,other:`P`},l=(e,t,n,r)=>c[e],u={narrow:[`e.ə`,`b.e`],abbreviated:[`e.ə`,`b.e`],wide:[`eramızdan əvvəl`,`bizim era`]},d={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`K1`,`K2`,`K3`,`K4`],wide:[`1ci kvartal`,`2ci kvartal`,`3cü kvartal`,`4cü kvartal`]},f={narrow:[`Y`,`F`,`M`,`A`,`M`,`İ`,`İ`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Yan`,`Fev`,`Mar`,`Apr`,`May`,`İyun`,`İyul`,`Avq`,`Sen`,`Okt`,`Noy`,`Dek`],wide:[`Yanvar`,`Fevral`,`Mart`,`Aprel`,`May`,`İyun`,`İyul`,`Avqust`,`Sentyabr`,`Oktyabr`,`Noyabr`,`Dekabr`]},p={narrow:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],short:[`B.`,`B.e`,`Ç.a`,`Ç.`,`C.a`,`C.`,`Ş.`],abbreviated:[`Baz`,`Baz.e`,`Çər.a`,`Çər`,`Cüm.a`,`Cüm`,`Şə`],wide:[`Bazar`,`Bazar ertəsi`,`Çərşənbə axşamı`,`Çərşənbə`,`Cümə axşamı`,`Cümə`,`Şənbə`]},m={narrow:{am:`am`,pm:`pm`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},h={narrow:{am:`a`,pm:`p`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},abbreviated:{am:`AM`,pm:`PM`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`},wide:{am:`a.m.`,pm:`p.m.`,midnight:`gecəyarı`,noon:`gün`,morning:`səhər`,afternoon:`gündüz`,evening:`axşam`,night:`gecə`}},g={1:`-inci`,5:`-inci`,8:`-inci`,70:`-inci`,80:`-inci`,2:`-nci`,7:`-nci`,20:`-nci`,50:`-nci`,3:`-üncü`,4:`-üncü`,100:`-üncü`,6:`-ncı`,9:`-uncu`,10:`-uncu`,30:`-uncu`,60:`-ıncı`,90:`-ıncı`},_=e=>{if(e===0)return e+`-ıncı`;let t=e%10,n=e%100-t,r=e>=100?100:null;return g[t]?g[t]:g[n]?g[n]:r===null?``:g[r]},v={code:`az`,formatDistance:o,formatLong:s,formatRelative:l,localize:{ordinalNumber:(e,t)=>{let n=Number(e);return n+_(n)},era:e({values:u,defaultWidth:`wide`}),quarter:e({values:d,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:e({values:f,defaultWidth:`wide`}),day:e({values:p,defaultWidth:`wide`}),dayPeriod:e({values:m,defaultWidth:`wide`,formattingValues:h,defaultFormattingWidth:`wide`})},match:{ordinalNumber:n({matchPattern:/^(\d+)(-?(ci|inci|nci|uncu|üncü|ncı))?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)}),era:r({matchPatterns:{narrow:/^(b|a)$/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)$/i,wide:/^(bizim eradan əvvəl|bizim era)$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^b$/i,/^(a|c)$/i]},defaultParseWidth:`any`}),quarter:r({matchPatterns:{narrow:/^[1234]$/i,abbreviated:/^K[1234]$/i,wide:/^[1234](ci)? kvartal$/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:r({matchPatterns:{narrow:/^[(?-i)yfmaisond]$/i,abbreviated:/^(Yan|Fev|Mar|Apr|May|İyun|İyul|Avq|Sen|Okt|Noy|Dek)$/i,wide:/^(Yanvar|Fevral|Mart|Aprel|May|İyun|İyul|Avgust|Sentyabr|Oktyabr|Noyabr|Dekabr)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^[(?-i)y]$/i,/^[(?-i)f]$/i,/^[(?-i)m]$/i,/^[(?-i)a]$/i,/^[(?-i)m]$/i,/^[(?-i)i]$/i,/^[(?-i)i]$/i,/^[(?-i)a]$/i,/^[(?-i)s]$/i,/^[(?-i)o]$/i,/^[(?-i)n]$/i,/^[(?-i)d]$/i],abbreviated:[/^Yan$/i,/^Fev$/i,/^Mar$/i,/^Apr$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avg$/i,/^Sen$/i,/^Okt$/i,/^Noy$/i,/^Dek$/i],wide:[/^Yanvar$/i,/^Fevral$/i,/^Mart$/i,/^Aprel$/i,/^May$/i,/^İyun$/i,/^İyul$/i,/^Avgust$/i,/^Sentyabr$/i,/^Oktyabr$/i,/^Noyabr$/i,/^Dekabr$/i]},defaultParseWidth:`narrow`}),day:r({matchPatterns:{narrow:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,short:/^(B\.|B\.e|Ç\.a|Ç\.|C\.a|C\.|Ş\.)$/i,abbreviated:/^(Baz\.e|Çər|Çər\.a|Cüm|Cüm\.a|Şə)$/i,wide:/^(Bazar|Bazar ertəsi|Çərşənbə axşamı|Çərşənbə|Cümə axşamı|Cümə|Şənbə)$/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i],abbreviated:[/^Baz$/i,/^Baz\.e$/i,/^Çər\.a$/i,/^Çər$/i,/^Cüm\.a$/i,/^Cüm$/i,/^Şə$/i],wide:[/^Bazar$/i,/^Bazar ertəsi$/i,/^Çərşənbə axşamı$/i,/^Çərşənbə$/i,/^Cümə axşamı$/i,/^Cümə$/i,/^Şənbə$/i],any:[/^B\.$/i,/^B\.e$/i,/^Ç\.a$/i,/^Ç\.$/i,/^C\.a$/i,/^C\.$/i,/^Ş\.$/i]},defaultParseWidth:`any`}),dayPeriod:r({matchPatterns:{narrow:/^(a|p|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i,any:/^(am|pm|a\.m\.|p\.m\.|AM|PM|gecəyarı|gün|səhər|gündüz|axşam|gecə)$/i},defaultMatchWidth:`any`,parsePatterns:{any:{am:/^a$/i,pm:/^p$/i,midnight:/^gecəyarı$/i,noon:/^gün$/i,morning:/səhər$/i,afternoon:/gündüz$/i,evening:/axşam$/i,night:/gecə$/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:1},labels:{labelDayButton:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t.today&&(a=`Bu gün, ${a}`),t.selected&&(a=`${a}, seçilmiş`),a},labelMonthDropdown:`Ayı seçin`,labelNext:`Növbəti aya keç`,labelPrevious:`Əvvəlki aya keç`,labelWeekNumber:e=>`Həftə ${e}`,labelYearDropdown:`İli seçin`,labelGrid:(e,t,n)=>(n??new i(t)).formatMonthYear(e),labelGridcell:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t?.today&&(a=`Bu gün, ${a}`),a},labelNav:`Naviqasiya paneli`,labelWeekNumberHeader:`Həftə nömrəsi`,labelWeekday:(e,t,n)=>(n??new i(t)).format(e,`cccc`)}};export{v as az};
@@ -1 +1 @@
1
- import{Ga as e}from"./search-Ble6WSEU.js";var t={name:`corner-left-up`,size:24,node:[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]};t.node;var n=e(t);export{n as t};
1
+ import{Ga as e}from"./search-DwsPEC4E.js";var t={name:`corner-left-up`,size:24,node:[[`path`,{d:`M14 9 9 4 4 9`,key:`1af5af`}],[`path`,{d:`M20 20h-7a4 4 0 0 1-4-4V4`,key:`1blwi3`}]]};t.node;var n=e(t);export{n as t};
@@ -1 +1 @@
1
- import{c as e,l as t,o as n,s as r}from"./en-US-DKYSujv3.js";import{Dt as i}from"./index-CYVrs22O.js";var a={lessThanXSeconds:{standalone:{one:`weniger als 1 Sekunde`,other:`weniger als {{count}} Sekunden`},withPreposition:{one:`weniger als 1 Sekunde`,other:`weniger als {{count}} Sekunden`}},xSeconds:{standalone:{one:`1 Sekunde`,other:`{{count}} Sekunden`},withPreposition:{one:`1 Sekunde`,other:`{{count}} Sekunden`}},halfAMinute:{standalone:`eine halbe Minute`,withPreposition:`einer halben Minute`},lessThanXMinutes:{standalone:{one:`weniger als 1 Minute`,other:`weniger als {{count}} Minuten`},withPreposition:{one:`weniger als 1 Minute`,other:`weniger als {{count}} Minuten`}},xMinutes:{standalone:{one:`1 Minute`,other:`{{count}} Minuten`},withPreposition:{one:`1 Minute`,other:`{{count}} Minuten`}},aboutXHours:{standalone:{one:`etwa 1 Stunde`,other:`etwa {{count}} Stunden`},withPreposition:{one:`etwa 1 Stunde`,other:`etwa {{count}} Stunden`}},xHours:{standalone:{one:`1 Stunde`,other:`{{count}} Stunden`},withPreposition:{one:`1 Stunde`,other:`{{count}} Stunden`}},xDays:{standalone:{one:`1 Tag`,other:`{{count}} Tage`},withPreposition:{one:`1 Tag`,other:`{{count}} Tagen`}},aboutXWeeks:{standalone:{one:`etwa 1 Woche`,other:`etwa {{count}} Wochen`},withPreposition:{one:`etwa 1 Woche`,other:`etwa {{count}} Wochen`}},xWeeks:{standalone:{one:`1 Woche`,other:`{{count}} Wochen`},withPreposition:{one:`1 Woche`,other:`{{count}} Wochen`}},aboutXMonths:{standalone:{one:`etwa 1 Monat`,other:`etwa {{count}} Monate`},withPreposition:{one:`etwa 1 Monat`,other:`etwa {{count}} Monaten`}},xMonths:{standalone:{one:`1 Monat`,other:`{{count}} Monate`},withPreposition:{one:`1 Monat`,other:`{{count}} Monaten`}},aboutXYears:{standalone:{one:`etwa 1 Jahr`,other:`etwa {{count}} Jahre`},withPreposition:{one:`etwa 1 Jahr`,other:`etwa {{count}} Jahren`}},xYears:{standalone:{one:`1 Jahr`,other:`{{count}} Jahre`},withPreposition:{one:`1 Jahr`,other:`{{count}} Jahren`}},overXYears:{standalone:{one:`mehr als 1 Jahr`,other:`mehr als {{count}} Jahre`},withPreposition:{one:`mehr als 1 Jahr`,other:`mehr als {{count}} Jahren`}},almostXYears:{standalone:{one:`fast 1 Jahr`,other:`fast {{count}} Jahre`},withPreposition:{one:`fast 1 Jahr`,other:`fast {{count}} Jahren`}}},o=(e,t,n)=>{let r,i=n?.addSuffix?a[e].withPreposition:a[e].standalone;return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:`vor `+r:r},s={date:t({formats:{full:`EEEE, do MMMM y`,long:`do MMMM y`,medium:`do MMM y`,short:`dd.MM.y`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'um' {{time}}`,long:`{{date}} 'um' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},c={lastWeek:`'letzten' eeee 'um' p`,yesterday:`'gestern um' p`,today:`'heute um' p`,tomorrow:`'morgen um' p`,nextWeek:`eeee 'um' p`,other:`P`},l=(e,t,n,r)=>c[e],u={narrow:[`v.Chr.`,`n.Chr.`],abbreviated:[`v.Chr.`,`n.Chr.`],wide:[`vor Christus`,`nach Christus`]},d={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1. Quartal`,`2. Quartal`,`3. Quartal`,`4. Quartal`]},f={narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mär`,`Apr`,`Mai`,`Jun`,`Jul`,`Aug`,`Sep`,`Okt`,`Nov`,`Dez`],wide:[`Januar`,`Februar`,`März`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Dezember`]},p={narrow:f.narrow,abbreviated:[`Jan.`,`Feb.`,`März`,`Apr.`,`Mai`,`Juni`,`Juli`,`Aug.`,`Sep.`,`Okt.`,`Nov.`,`Dez.`],wide:f.wide},m={code:`de`,formatDistance:o,formatLong:s,formatRelative:l,localize:{ordinalNumber:e=>Number(e)+`.`,era:e({values:u,defaultWidth:`wide`}),quarter:e({values:d,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:e({values:f,formattingValues:p,defaultWidth:`wide`}),day:e({values:{narrow:[`S`,`M`,`D`,`M`,`D`,`F`,`S`],short:[`So`,`Mo`,`Di`,`Mi`,`Do`,`Fr`,`Sa`],abbreviated:[`So.`,`Mo.`,`Di.`,`Mi.`,`Do.`,`Fr.`,`Sa.`],wide:[`Sonntag`,`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`]},defaultWidth:`wide`}),dayPeriod:e({values:{narrow:{am:`vm.`,pm:`nm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachm.`,evening:`Abend`,night:`Nacht`},abbreviated:{am:`vorm.`,pm:`nachm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachmittag`,evening:`Abend`,night:`Nacht`},wide:{am:`vormittags`,pm:`nachmittags`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachmittag`,evening:`Abend`,night:`Nacht`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`vm.`,pm:`nm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachm.`,evening:`abends`,night:`nachts`},abbreviated:{am:`vorm.`,pm:`nachm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachmittags`,evening:`abends`,night:`nachts`},wide:{am:`vormittags`,pm:`nachmittags`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachmittags`,evening:`abends`,night:`nachts`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:n({matchPattern:/^(\d+)(\.)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e)}),era:r({matchPatterns:{narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^v/i,/^n/i]},defaultParseWidth:`any`}),quarter:r({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:r({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(jänner|januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:r({matchPatterns:{narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:r({matchPatterns:{narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},defaultMatchWidth:`wide`,parsePatterns:{any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4},labels:{labelDayButton:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t.today&&(a=`Heute, ${a}`),t.selected&&(a=`${a}, ausgewählt`),a},labelMonthDropdown:`Monat auswählen`,labelNext:`Zum nächsten Monat`,labelPrevious:`Zum vorherigen Monat`,labelWeekNumber:e=>`Woche ${e}`,labelYearDropdown:`Jahr auswählen`,labelGrid:(e,t,n)=>(n??new i(t)).formatMonthYear(e),labelGridcell:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t?.today&&(a=`Heute, ${a}`),a},labelNav:`Navigationsleiste`,labelWeekNumberHeader:`Wochennummer`,labelWeekday:(e,t,n)=>(n??new i(t)).format(e,`cccc`)}};export{m as de};
1
+ import{c as e,l as t,o as n,s as r}from"./en-US-DKYSujv3.js";import{Dt as i}from"./index-Ds3IHeIi.js";var a={lessThanXSeconds:{standalone:{one:`weniger als 1 Sekunde`,other:`weniger als {{count}} Sekunden`},withPreposition:{one:`weniger als 1 Sekunde`,other:`weniger als {{count}} Sekunden`}},xSeconds:{standalone:{one:`1 Sekunde`,other:`{{count}} Sekunden`},withPreposition:{one:`1 Sekunde`,other:`{{count}} Sekunden`}},halfAMinute:{standalone:`eine halbe Minute`,withPreposition:`einer halben Minute`},lessThanXMinutes:{standalone:{one:`weniger als 1 Minute`,other:`weniger als {{count}} Minuten`},withPreposition:{one:`weniger als 1 Minute`,other:`weniger als {{count}} Minuten`}},xMinutes:{standalone:{one:`1 Minute`,other:`{{count}} Minuten`},withPreposition:{one:`1 Minute`,other:`{{count}} Minuten`}},aboutXHours:{standalone:{one:`etwa 1 Stunde`,other:`etwa {{count}} Stunden`},withPreposition:{one:`etwa 1 Stunde`,other:`etwa {{count}} Stunden`}},xHours:{standalone:{one:`1 Stunde`,other:`{{count}} Stunden`},withPreposition:{one:`1 Stunde`,other:`{{count}} Stunden`}},xDays:{standalone:{one:`1 Tag`,other:`{{count}} Tage`},withPreposition:{one:`1 Tag`,other:`{{count}} Tagen`}},aboutXWeeks:{standalone:{one:`etwa 1 Woche`,other:`etwa {{count}} Wochen`},withPreposition:{one:`etwa 1 Woche`,other:`etwa {{count}} Wochen`}},xWeeks:{standalone:{one:`1 Woche`,other:`{{count}} Wochen`},withPreposition:{one:`1 Woche`,other:`{{count}} Wochen`}},aboutXMonths:{standalone:{one:`etwa 1 Monat`,other:`etwa {{count}} Monate`},withPreposition:{one:`etwa 1 Monat`,other:`etwa {{count}} Monaten`}},xMonths:{standalone:{one:`1 Monat`,other:`{{count}} Monate`},withPreposition:{one:`1 Monat`,other:`{{count}} Monaten`}},aboutXYears:{standalone:{one:`etwa 1 Jahr`,other:`etwa {{count}} Jahre`},withPreposition:{one:`etwa 1 Jahr`,other:`etwa {{count}} Jahren`}},xYears:{standalone:{one:`1 Jahr`,other:`{{count}} Jahre`},withPreposition:{one:`1 Jahr`,other:`{{count}} Jahren`}},overXYears:{standalone:{one:`mehr als 1 Jahr`,other:`mehr als {{count}} Jahre`},withPreposition:{one:`mehr als 1 Jahr`,other:`mehr als {{count}} Jahren`}},almostXYears:{standalone:{one:`fast 1 Jahr`,other:`fast {{count}} Jahre`},withPreposition:{one:`fast 1 Jahr`,other:`fast {{count}} Jahren`}}},o=(e,t,n)=>{let r,i=n?.addSuffix?a[e].withPreposition:a[e].standalone;return r=typeof i==`string`?i:t===1?i.one:i.other.replace(`{{count}}`,String(t)),n?.addSuffix?n.comparison&&n.comparison>0?`in `+r:`vor `+r:r},s={date:t({formats:{full:`EEEE, do MMMM y`,long:`do MMMM y`,medium:`do MMM y`,short:`dd.MM.y`},defaultWidth:`full`}),time:t({formats:{full:`HH:mm:ss zzzz`,long:`HH:mm:ss z`,medium:`HH:mm:ss`,short:`HH:mm`},defaultWidth:`full`}),dateTime:t({formats:{full:`{{date}} 'um' {{time}}`,long:`{{date}} 'um' {{time}}`,medium:`{{date}} {{time}}`,short:`{{date}} {{time}}`},defaultWidth:`full`})},c={lastWeek:`'letzten' eeee 'um' p`,yesterday:`'gestern um' p`,today:`'heute um' p`,tomorrow:`'morgen um' p`,nextWeek:`eeee 'um' p`,other:`P`},l=(e,t,n,r)=>c[e],u={narrow:[`v.Chr.`,`n.Chr.`],abbreviated:[`v.Chr.`,`n.Chr.`],wide:[`vor Christus`,`nach Christus`]},d={narrow:[`1`,`2`,`3`,`4`],abbreviated:[`Q1`,`Q2`,`Q3`,`Q4`],wide:[`1. Quartal`,`2. Quartal`,`3. Quartal`,`4. Quartal`]},f={narrow:[`J`,`F`,`M`,`A`,`M`,`J`,`J`,`A`,`S`,`O`,`N`,`D`],abbreviated:[`Jan`,`Feb`,`Mär`,`Apr`,`Mai`,`Jun`,`Jul`,`Aug`,`Sep`,`Okt`,`Nov`,`Dez`],wide:[`Januar`,`Februar`,`März`,`April`,`Mai`,`Juni`,`Juli`,`August`,`September`,`Oktober`,`November`,`Dezember`]},p={narrow:f.narrow,abbreviated:[`Jan.`,`Feb.`,`März`,`Apr.`,`Mai`,`Juni`,`Juli`,`Aug.`,`Sep.`,`Okt.`,`Nov.`,`Dez.`],wide:f.wide},m={code:`de`,formatDistance:o,formatLong:s,formatRelative:l,localize:{ordinalNumber:e=>Number(e)+`.`,era:e({values:u,defaultWidth:`wide`}),quarter:e({values:d,defaultWidth:`wide`,argumentCallback:e=>e-1}),month:e({values:f,formattingValues:p,defaultWidth:`wide`}),day:e({values:{narrow:[`S`,`M`,`D`,`M`,`D`,`F`,`S`],short:[`So`,`Mo`,`Di`,`Mi`,`Do`,`Fr`,`Sa`],abbreviated:[`So.`,`Mo.`,`Di.`,`Mi.`,`Do.`,`Fr.`,`Sa.`],wide:[`Sonntag`,`Montag`,`Dienstag`,`Mittwoch`,`Donnerstag`,`Freitag`,`Samstag`]},defaultWidth:`wide`}),dayPeriod:e({values:{narrow:{am:`vm.`,pm:`nm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachm.`,evening:`Abend`,night:`Nacht`},abbreviated:{am:`vorm.`,pm:`nachm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachmittag`,evening:`Abend`,night:`Nacht`},wide:{am:`vormittags`,pm:`nachmittags`,midnight:`Mitternacht`,noon:`Mittag`,morning:`Morgen`,afternoon:`Nachmittag`,evening:`Abend`,night:`Nacht`}},defaultWidth:`wide`,formattingValues:{narrow:{am:`vm.`,pm:`nm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachm.`,evening:`abends`,night:`nachts`},abbreviated:{am:`vorm.`,pm:`nachm.`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachmittags`,evening:`abends`,night:`nachts`},wide:{am:`vormittags`,pm:`nachmittags`,midnight:`Mitternacht`,noon:`Mittag`,morning:`morgens`,afternoon:`nachmittags`,evening:`abends`,night:`nachts`}},defaultFormattingWidth:`wide`})},match:{ordinalNumber:n({matchPattern:/^(\d+)(\.)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e)}),era:r({matchPatterns:{narrow:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,abbreviated:/^(v\.? ?Chr\.?|n\.? ?Chr\.?)/i,wide:/^(vor Christus|vor unserer Zeitrechnung|nach Christus|unserer Zeitrechnung)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^v/i,/^n/i]},defaultParseWidth:`any`}),quarter:r({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](\.)? Quartal/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:`any`,valueCallback:e=>e+1}),month:r({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(j[aä]n|feb|mär[z]?|apr|mai|jun[i]?|jul[i]?|aug|sep|okt|nov|dez)\.?/i,wide:/^(jänner|januar|februar|märz|april|mai|juni|juli|august|september|oktober|november|dezember)/i},defaultMatchWidth:`wide`,parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^j[aä]/i,/^f/i,/^mär/i,/^ap/i,/^mai/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:`any`}),day:r({matchPatterns:{narrow:/^[smdmf]/i,short:/^(so|mo|di|mi|do|fr|sa)/i,abbreviated:/^(son?|mon?|die?|mit?|don?|fre?|sam?)\.?/i,wide:/^(sonntag|montag|dienstag|mittwoch|donnerstag|freitag|samstag)/i},defaultMatchWidth:`wide`,parsePatterns:{any:[/^so/i,/^mo/i,/^di/i,/^mi/i,/^do/i,/^f/i,/^sa/i]},defaultParseWidth:`any`}),dayPeriod:r({matchPatterns:{narrow:/^(vm\.?|nm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,abbreviated:/^(vorm\.?|nachm\.?|Mitternacht|Mittag|morgens|nachm\.?|abends|nachts)/i,wide:/^(vormittags|nachmittags|Mitternacht|Mittag|morgens|nachmittags|abends|nachts)/i},defaultMatchWidth:`wide`,parsePatterns:{any:{am:/^v/i,pm:/^n/i,midnight:/^Mitte/i,noon:/^Mitta/i,morning:/morgens/i,afternoon:/nachmittags/i,evening:/abends/i,night:/nachts/i}},defaultParseWidth:`any`})},options:{weekStartsOn:1,firstWeekContainsDate:4},labels:{labelDayButton:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t.today&&(a=`Heute, ${a}`),t.selected&&(a=`${a}, ausgewählt`),a},labelMonthDropdown:`Monat auswählen`,labelNext:`Zum nächsten Monat`,labelPrevious:`Zum vorherigen Monat`,labelWeekNumber:e=>`Woche ${e}`,labelYearDropdown:`Jahr auswählen`,labelGrid:(e,t,n)=>(n??new i(t)).formatMonthYear(e),labelGridcell:(e,t,n,r)=>{let a=(r??new i(n)).format(e,`PPPP`);return t?.today&&(a=`Heute, ${a}`),a},labelNav:`Navigationsleiste`,labelWeekNumberHeader:`Wochennummer`,labelWeekday:(e,t,n)=>(n??new i(t)).format(e,`cccc`)}};export{m as de};