@questpie/admin 3.2.7 → 3.4.0

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 (135) hide show
  1. package/README.md +4 -6
  2. package/dist/client/blocks/block-renderer.d.mts +2 -2
  3. package/dist/client/builder/admin-types.d.mts +3 -3
  4. package/dist/client/builder/types/action-types.d.mts +1 -1
  5. package/dist/client/builder/types/collection-types.d.mts +59 -2
  6. package/dist/client/components/blocks/block-editor-provider.mjs +13 -0
  7. package/dist/client/components/fields/array-field.mjs +105 -122
  8. package/dist/client/components/fields/asset-preview-field.mjs +1 -1
  9. package/dist/client/components/fields/blocks-field/blocks-field.mjs +1 -1
  10. package/dist/client/components/fields/boolean-field.mjs +1 -1
  11. package/dist/client/components/fields/date-field.mjs +1 -1
  12. package/dist/client/components/fields/datetime-field.mjs +1 -1
  13. package/dist/client/components/fields/email-field.mjs +1 -1
  14. package/dist/client/components/fields/field-wrapper.mjs +44 -15
  15. package/dist/client/components/fields/number-field.mjs +1 -1
  16. package/dist/client/components/fields/object-array-field.mjs +179 -149
  17. package/dist/client/components/fields/object-field.mjs +96 -87
  18. package/dist/client/components/fields/relation-picker.mjs +1 -1
  19. package/dist/client/components/fields/relation-select.mjs +1 -1
  20. package/dist/client/components/fields/rich-text-editor/index.mjs +1 -1
  21. package/dist/client/components/fields/select-field.mjs +1 -1
  22. package/dist/client/components/fields/text-field.mjs +1 -1
  23. package/dist/client/components/fields/textarea-field.mjs +1 -1
  24. package/dist/client/components/fields/time-field.mjs +1 -1
  25. package/dist/client/components/fields/upload-field.mjs +1 -1
  26. package/dist/client/components/history-sidebar.mjs +10 -4
  27. package/dist/client/components/structured-diff.mjs +367 -0
  28. package/dist/client/components/ui/sidebar.mjs +1 -1
  29. package/dist/client/hooks/use-field-options.mjs +34 -15
  30. package/dist/client/hooks/use-transition-stage.mjs +2 -2
  31. package/dist/client/modules/admin.d.mts +3 -0
  32. package/dist/client/modules/admin.mjs +3 -0
  33. package/dist/client/preview/block-scope-context.d.mts +2 -2
  34. package/dist/client/preview/preview-banner.d.mts +2 -2
  35. package/dist/client/preview/preview-field.d.mts +4 -4
  36. package/dist/client/utils/auto-expand-fields.mjs +1 -1
  37. package/dist/client/views/collection/auto-form-fields.mjs +23 -19
  38. package/dist/client/views/collection/cells/complex-cells.mjs +1 -1
  39. package/dist/client/views/collection/columns/build-columns.mjs +1 -1
  40. package/dist/client/views/collection/columns/column-defaults.mjs +17 -4
  41. package/dist/client/views/collection/field-renderer.mjs +19 -7
  42. package/dist/client/views/collection/form-view.mjs +10 -6
  43. package/dist/client/views/collection/list-view.mjs +830 -0
  44. package/dist/client/views/collection/outline.mjs +363 -0
  45. package/dist/client/views/collection/table-view.mjs +25 -16
  46. package/dist/client/views/globals/global-form-view.mjs +47 -27
  47. package/dist/client/views/layout/admin-layout.d.mts +15 -1
  48. package/dist/client/views/layout/admin-layout.mjs +95 -31
  49. package/dist/client/views/layout/admin-sidebar.mjs +2 -2
  50. package/dist/client.d.mts +6 -6
  51. package/dist/client.mjs +1 -1
  52. package/dist/components/rich-text/rich-text-renderer.d.mts +2 -2
  53. package/dist/factories.d.mts +19 -0
  54. package/dist/factories.mjs +11 -0
  55. package/dist/fields.d.mts +4 -0
  56. package/dist/fields.mjs +5 -0
  57. package/dist/index.d.mts +6 -6
  58. package/dist/index.mjs +1 -1
  59. package/dist/modules/admin.d.mts +10 -0
  60. package/dist/modules/admin.mjs +9 -0
  61. package/dist/modules/audit.d.mts +5 -0
  62. package/dist/modules/audit.mjs +5 -0
  63. package/dist/server/augmentation/form-layout.d.mts +57 -2
  64. package/dist/server/augmentation/index.d.mts +3 -1
  65. package/dist/server/augmentation/shell.d.mts +48 -0
  66. package/dist/server/augmentation.d.mts +2 -1
  67. package/dist/server/codegen/admin-client-template.mjs +11 -4
  68. package/dist/server/fields/blocks.d.mts +9 -2
  69. package/dist/server/fields/blocks.mjs +1 -1
  70. package/dist/server/fields/index.d.mts +2 -2
  71. package/dist/server/fields/index.mjs +2 -2
  72. package/dist/server/fields/rich-text.d.mts +9 -2
  73. package/dist/server/fields/rich-text.mjs +1 -1
  74. package/dist/server/i18n/messages/cs.mjs +8 -0
  75. package/dist/server/i18n/messages/de.mjs +8 -0
  76. package/dist/server/i18n/messages/en.mjs +8 -0
  77. package/dist/server/i18n/messages/es.mjs +8 -0
  78. package/dist/server/i18n/messages/fr.mjs +8 -0
  79. package/dist/server/i18n/messages/pl.mjs +8 -0
  80. package/dist/server/i18n/messages/pt.mjs +8 -0
  81. package/dist/server/i18n/messages/sk.mjs +8 -0
  82. package/dist/server/modules/admin/.generated/module.d.mts +24 -19
  83. package/dist/server/modules/admin/.generated/module.mjs +5 -1
  84. package/dist/server/modules/admin/.generated/registries.d.mts +6 -4
  85. package/dist/server/modules/admin/client/.generated/module.d.mts +70 -70
  86. package/dist/server/modules/admin/client/.generated/module.mjs +3 -1
  87. package/dist/server/modules/admin/client/views/collection-form.d.mts +6 -0
  88. package/dist/server/modules/admin/client/views/collection-table.d.mts +6 -0
  89. package/dist/server/modules/admin/client/views/global-form.d.mts +6 -0
  90. package/dist/server/modules/admin/client/views/list-view.d.mts +6 -0
  91. package/dist/server/modules/admin/client/views/list-view.mjs +10 -0
  92. package/dist/server/modules/admin/collections/account.d.mts +50 -50
  93. package/dist/server/modules/admin/collections/admin-locks.d.mts +54 -54
  94. package/dist/server/modules/admin/collections/admin-preferences.d.mts +39 -39
  95. package/dist/server/modules/admin/collections/admin-saved-views.d.mts +47 -47
  96. package/dist/server/modules/admin/collections/apikey.d.mts +39 -39
  97. package/dist/server/modules/admin/collections/assets.d.mts +39 -39
  98. package/dist/server/modules/admin/collections/session.d.mts +42 -42
  99. package/dist/server/modules/admin/collections/user.d.mts +63 -63
  100. package/dist/server/modules/admin/collections/verification.d.mts +36 -36
  101. package/dist/server/modules/admin/dto/admin-config.dto.mjs +17 -0
  102. package/dist/server/modules/admin/index.d.mts +30 -31
  103. package/dist/server/modules/admin/routes/admin-config.d.mts +2 -17
  104. package/dist/server/modules/admin/routes/admin-config.mjs +21 -5
  105. package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
  106. package/dist/server/modules/admin/routes/execute-action.mjs +18 -12
  107. package/dist/server/modules/admin/routes/i18n-helpers.d.mts +4 -0
  108. package/dist/server/modules/admin/routes/locales.d.mts +2 -2
  109. package/dist/server/modules/admin/routes/preview.d.mts +24 -19
  110. package/dist/server/modules/admin/routes/preview.mjs +83 -62
  111. package/dist/server/modules/admin/routes/reactive.d.mts +9 -9
  112. package/dist/server/modules/admin/routes/route-helpers.mjs +36 -1
  113. package/dist/server/modules/admin/routes/setup.d.mts +7 -14
  114. package/dist/server/modules/admin/routes/setup.mjs +16 -3
  115. package/dist/server/modules/admin/routes/translations.d.mts +4 -4
  116. package/dist/server/modules/admin/routes/widget-data.d.mts +5 -5
  117. package/dist/server/modules/admin/views/list-view.d.mts +8 -0
  118. package/dist/server/modules/admin/views/list-view.mjs +7 -0
  119. package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +41 -41
  120. package/dist/server/modules/audit/.generated/module.d.mts +6 -6
  121. package/dist/server/modules/audit/collections/audit-log.d.mts +87 -80
  122. package/dist/server/modules/audit/collections/audit-log.mjs +7 -2
  123. package/dist/server/modules/audit/config/localize-title.mjs +67 -0
  124. package/dist/server/modules/audit/index.d.mts +3 -2
  125. package/dist/server/modules/audit/jobs/audit-cleanup.d.mts +2 -2
  126. package/dist/server/modules/audit/log-audit-entry.d.mts +85 -0
  127. package/dist/server/modules/audit/log-audit-entry.mjs +125 -0
  128. package/dist/server/plugin.d.mts +1 -1
  129. package/dist/server/plugin.mjs +31 -31
  130. package/dist/server.d.mts +6 -4
  131. package/dist/server.mjs +9 -8
  132. package/dist/shared/preview-utils.d.mts +4 -4
  133. package/dist/shared/preview-utils.mjs +5 -7
  134. package/package.json +13 -3
  135. package/dist/client/hooks/use-audit-history.mjs +0 -38
@@ -17,7 +17,14 @@ function generateAdminClientTemplate(ctx) {
17
17
  lines.push(" * Pass this directly to <AdminLayoutProvider admin={admin} />");
18
18
  lines.push(" */");
19
19
  lines.push("");
20
- if (modulesFile) lines.push(generateImportLine(modulesFile));
20
+ if (modulesFile) {
21
+ lines.push(generateImportLine(modulesFile));
22
+ lines.push(`const _mergedModules = Array.isArray(${modulesFile.varName})`);
23
+ lines.push(`\t? ${modulesFile.varName}.reduce((acc: any, m: any) => {`);
24
+ lines.push(" for (const [k, v] of Object.entries(m)) acc[k] = typeof v === \"object\" && v !== null && !Array.isArray(v) ? { ...acc[k], ...v } : v;");
25
+ lines.push(" return acc;");
26
+ lines.push(`\t}, {} as any) : ${modulesFile.varName};`);
27
+ }
21
28
  const categoryFiles = /* @__PURE__ */ new Map();
22
29
  for (const [cat, fileMap] of ctx.discovered.categories) if (fileMap.size > 0) {
23
30
  const sorted = [...fileMap.values()].sort((a, b) => a.key.localeCompare(b.key));
@@ -38,7 +45,7 @@ function generateAdminClientTemplate(ctx) {
38
45
  for (const cat of ctx.discovered.categories.keys()) allCategories.add(cat);
39
46
  if (ctx.target.categories) for (const cat of Object.keys(ctx.target.categories)) allCategories.add(cat);
40
47
  if (!hasAnyUserFiles && !hasExtraCode && !modulesFile) lines.push("const admin = {};");
41
- else if (!hasAnyUserFiles && !hasExtraCode && modulesFile) lines.push(`const admin = ${modulesFile.varName};`);
48
+ else if (!hasAnyUserFiles && !hasExtraCode && modulesFile) lines.push("const admin = _mergedModules;");
42
49
  else {
43
50
  lines.push("const admin = {");
44
51
  for (const cat of allCategories) {
@@ -46,8 +53,8 @@ function generateAdminClientTemplate(ctx) {
46
53
  const catDecl = ctx.target.categories?.[cat];
47
54
  if (modulesFile && files && files.length > 0) {
48
55
  const entries = generateCategoryEntries(files, catDecl);
49
- lines.push(`\t${cat}: { ...${modulesFile.varName}.${cat}, ${entries} },`);
50
- } else if (modulesFile && (!files || files.length === 0)) lines.push(`\t${cat}: { ...${modulesFile.varName}.${cat} },`);
56
+ lines.push(`\t${cat}: { ..._mergedModules.${cat}, ${entries} },`);
57
+ } else if (modulesFile && (!files || files.length === 0)) lines.push(`\t${cat}: { ..._mergedModules.${cat} },`);
51
58
  else if (files && files.length > 0) {
52
59
  const entries = generateCategoryEntries(files, catDecl);
53
60
  lines.push(`\t${cat}: { ${entries} },`);
@@ -1,4 +1,4 @@
1
- import { DefaultFieldState, Field } from "questpie";
1
+ import { DefaultFieldState, Field, FieldTypeDefinition } from "questpie";
2
2
  import { PgJsonbBuilder } from "questpie/drizzle-pg-core";
3
3
 
4
4
  //#region src/server/fields/blocks.d.ts
@@ -67,5 +67,12 @@ type BlocksFieldState = DefaultFieldState & {
67
67
  column: PgJsonbBuilder;
68
68
  };
69
69
  declare function blocks(): Field<BlocksFieldState>;
70
+ /**
71
+ * Blocks field type definition (v3 API).
72
+ *
73
+ * Use this with the `fieldType()` discovery system instead of the
74
+ * legacy `blocks()` factory function.
75
+ */
76
+ declare const blocksFieldType: FieldTypeDefinition<"blocks", []>;
70
77
  //#endregion
71
- export { BlockNode, BlockValues, BlocksDocument, BlocksFieldMeta, BlocksFieldState, blocks };
78
+ export { BlockNode, BlockValues, BlocksDocument, BlocksFieldMeta, BlocksFieldState, blocks, blocksFieldType };
@@ -160,4 +160,4 @@ function blocks() {
160
160
  const blocksFieldType = fieldType("blocks", { create: createBlocksState });
161
161
 
162
162
  //#endregion
163
- export { blocks };
163
+ export { blocks, blocksFieldType };
@@ -1,5 +1,5 @@
1
- import { BlockNode, BlockValues, BlocksDocument, BlocksFieldMeta, BlocksFieldState, blocks } from "./blocks.mjs";
2
- import { RichTextFeature, RichTextFieldMeta, RichTextFieldState, TipTapDocument, TipTapNode, richText } from "./rich-text.mjs";
1
+ import { BlockNode, BlockValues, BlocksDocument, BlocksFieldMeta, BlocksFieldState, blocks, blocksFieldType } from "./blocks.mjs";
2
+ import { RichTextFeature, RichTextFieldMeta, RichTextFieldState, TipTapDocument, TipTapNode, richText, richTextFieldType } from "./rich-text.mjs";
3
3
 
4
4
  //#region src/server/fields/index.d.ts
5
5
 
@@ -1,5 +1,5 @@
1
- import { blocks } from "./blocks.mjs";
2
- import { richText } from "./rich-text.mjs";
1
+ import { blocks, blocksFieldType } from "./blocks.mjs";
2
+ import { richText, richTextFieldType } from "./rich-text.mjs";
3
3
 
4
4
  //#region src/server/fields/index.ts
5
5
  /**
@@ -1,4 +1,4 @@
1
- import { DefaultFieldState, Field } from "questpie";
1
+ import { DefaultFieldState, Field, FieldTypeDefinition } from "questpie";
2
2
  import { PgJsonbBuilder } from "questpie/drizzle-pg-core";
3
3
 
4
4
  //#region src/server/fields/rich-text.d.ts
@@ -64,5 +64,12 @@ type RichTextFieldState = DefaultFieldState & {
64
64
  column: PgJsonbBuilder;
65
65
  };
66
66
  declare function richText(): Field<RichTextFieldState>;
67
+ /**
68
+ * Rich text field type definition (v3 API).
69
+ *
70
+ * Use this with the `fieldType()` discovery system instead of the
71
+ * legacy `richText()` factory function.
72
+ */
73
+ declare const richTextFieldType: FieldTypeDefinition<"richText", []>;
67
74
  //#endregion
68
- export { RichTextFeature, RichTextFieldMeta, RichTextFieldState, TipTapDocument, TipTapNode, richText };
75
+ export { RichTextFeature, RichTextFieldMeta, RichTextFieldState, TipTapDocument, TipTapNode, richText, richTextFieldType };
@@ -152,4 +152,4 @@ function richText() {
152
152
  const richTextFieldType = fieldType("richText", { create: createRichTextState });
153
153
 
154
154
  //#endregion
155
- export { richText };
155
+ export { richText, richTextFieldType };
@@ -749,6 +749,14 @@ var cs_default = {
749
749
  "audit.sections.changes": "Změny",
750
750
  "audit.widget.recentActivity.title": "Nedávná aktivita",
751
751
  "audit.widget.recentActivity.empty": "Nebyla zaznamenána žádná nedávná aktivita.",
752
+ "audit.action.create": "vytvořil(a)",
753
+ "audit.action.update": "upravil(a)",
754
+ "audit.action.delete": "smazal(a)",
755
+ "audit.action.transition": "změnil(a) stav",
756
+ "audit.resourceType.collection": "kolekci",
757
+ "audit.resourceType.global": "globální nastavení",
758
+ "audit.unnamed": "(bez názvu)",
759
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
752
760
  "history.title": "Historie",
753
761
  "history.description": "Změny a aktivita pro tento záznam",
754
762
  "history.versionDescription": "Procházejte snímky verzí a kontrolujte rozdíly na úrovni polí.",
@@ -747,6 +747,14 @@ var de_default = {
747
747
  "audit.sections.changes": "Änderungen",
748
748
  "audit.widget.recentActivity.title": "Letzte Aktivität",
749
749
  "audit.widget.recentActivity.empty": "Keine aktuelle Aktivität aufgezeichnet.",
750
+ "audit.action.create": "erstellte",
751
+ "audit.action.update": "aktualisierte",
752
+ "audit.action.delete": "löschte",
753
+ "audit.action.transition": "änderte den Status von",
754
+ "audit.resourceType.collection": "Sammlung",
755
+ "audit.resourceType.global": "globale Einstellung",
756
+ "audit.unnamed": "(unbenannt)",
757
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
750
758
  "history.title": "Verlauf",
751
759
  "history.description": "Änderungen und Aktivität für diesen Datensatz",
752
760
  "history.versionDescription": "Versions-Snapshots durchsuchen und Unterschiede auf Feldebene prüfen.",
@@ -774,6 +774,14 @@ var en_default = {
774
774
  "audit.sections.changes": "Changes",
775
775
  "audit.widget.recentActivity.title": "Recent Activity",
776
776
  "audit.widget.recentActivity.empty": "No recent activity recorded.",
777
+ "audit.action.create": "created",
778
+ "audit.action.update": "updated",
779
+ "audit.action.delete": "deleted",
780
+ "audit.action.transition": "changed status of",
781
+ "audit.resourceType.collection": "collection",
782
+ "audit.resourceType.global": "global",
783
+ "audit.unnamed": "(unnamed)",
784
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
777
785
  "history.title": "History",
778
786
  "history.description": "Changes and activity for this record",
779
787
  "history.versionDescription": "Browse version snapshots and inspect field-level diffs.",
@@ -539,6 +539,14 @@ var es_default = {
539
539
  "audit.sections.user": "Usuario",
540
540
  "audit.widget.recentActivity.empty": "No hay actividad reciente registrada.",
541
541
  "audit.widget.recentActivity.title": "Actividad reciente",
542
+ "audit.action.create": "creó",
543
+ "audit.action.update": "actualizó",
544
+ "audit.action.delete": "eliminó",
545
+ "audit.action.transition": "cambió el estado de",
546
+ "audit.resourceType.collection": "colección",
547
+ "audit.resourceType.global": "global",
548
+ "audit.unnamed": "(sin nombre)",
549
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
542
550
  "auth.backToLogin": "Volver al inicio de sesión",
543
551
  "auth.checkYourEmail": "Revise su correo",
544
552
  "auth.completeRegistration": "Completar registro",
@@ -539,6 +539,14 @@ var fr_default = {
539
539
  "audit.sections.user": "Utilisateur",
540
540
  "audit.widget.recentActivity.empty": "Aucune activité récente enregistrée.",
541
541
  "audit.widget.recentActivity.title": "Activité récente",
542
+ "audit.action.create": "a créé",
543
+ "audit.action.update": "a mis à jour",
544
+ "audit.action.delete": "a supprimé",
545
+ "audit.action.transition": "a changé le statut de",
546
+ "audit.resourceType.collection": "collection",
547
+ "audit.resourceType.global": "global",
548
+ "audit.unnamed": "(sans nom)",
549
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
542
550
  "auth.backToLogin": "Retour à la connexion",
543
551
  "auth.checkYourEmail": "Consultez votre e-mail",
544
552
  "auth.completeRegistration": "Terminer l'inscription",
@@ -543,6 +543,14 @@ var pl_default = {
543
543
  "audit.sections.user": "Użytkownik",
544
544
  "audit.widget.recentActivity.empty": "Nie zarejestrowano ostatniej aktywności.",
545
545
  "audit.widget.recentActivity.title": "Ostatnia aktywność",
546
+ "audit.action.create": "utworzył(a)",
547
+ "audit.action.update": "zaktualizował(a)",
548
+ "audit.action.delete": "usunął/usunęła",
549
+ "audit.action.transition": "zmienił(a) status",
550
+ "audit.resourceType.collection": "kolekcję",
551
+ "audit.resourceType.global": "globalne ustawienie",
552
+ "audit.unnamed": "(bez nazwy)",
553
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
546
554
  "auth.backToLogin": "Wróć do logowania",
547
555
  "auth.checkYourEmail": "Sprawdź e-mail",
548
556
  "auth.completeRegistration": "Dokończ rejestrację",
@@ -542,6 +542,14 @@ var pt_default = {
542
542
  "audit.sections.user": "Usuário",
543
543
  "audit.widget.recentActivity.empty": "Nenhuma atividade recente registrada.",
544
544
  "audit.widget.recentActivity.title": "Atividade recente",
545
+ "audit.action.create": "criou",
546
+ "audit.action.update": "atualizou",
547
+ "audit.action.delete": "excluiu",
548
+ "audit.action.transition": "alterou o status de",
549
+ "audit.resourceType.collection": "coleção",
550
+ "audit.resourceType.global": "global",
551
+ "audit.unnamed": "(sem nome)",
552
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
545
553
  "auth.backToLogin": "Voltar ao login",
546
554
  "auth.checkYourEmail": "Verifique seu e-mail",
547
555
  "auth.completeRegistration": "Concluir cadastro",
@@ -722,6 +722,14 @@ var sk_default = {
722
722
  "audit.sections.changes": "Zmeny",
723
723
  "audit.widget.recentActivity.title": "Posledná aktivita",
724
724
  "audit.widget.recentActivity.empty": "Žiadna nedávna aktivita nebola zaznamenaná.",
725
+ "audit.action.create": "vytvoril(a)",
726
+ "audit.action.update": "upravil(a)",
727
+ "audit.action.delete": "zmazal(a)",
728
+ "audit.action.transition": "zmenil(a) stav",
729
+ "audit.resourceType.collection": "kolekciu",
730
+ "audit.resourceType.global": "globálne nastavenie",
731
+ "audit.unnamed": "(bez názvu)",
732
+ "audit.title.template": "{{userName}} {{action}} {{resourceType}} {{resourceLabel}}",
725
733
  "history.title": "História",
726
734
  "history.description": "Zmeny a aktivita pre tento záznam",
727
735
  "history.versionDescription": "Prehliadajte snapshoty verzií a diffy na úrovni polí.",
@@ -1,21 +1,23 @@
1
1
  import { _default } from "../views/form.mjs";
2
2
  import { _default as _default$1 } from "../views/table.mjs";
3
3
  import { _default as _default$2 } from "../views/global-form.mjs";
4
- import { _default as _default$3 } from "../components/badge.mjs";
5
- import { _default as _default$4 } from "../components/icon.mjs";
4
+ import { _default as _default$3 } from "../views/list-view.mjs";
5
+ import { _default as _default$4 } from "../components/badge.mjs";
6
+ import { _default as _default$5 } from "../components/icon.mjs";
6
7
  import "./registries.mjs";
7
- import { _default as _default$5 } from "../collections/account.mjs";
8
- import { _default as _default$6 } from "../collections/admin-locks.mjs";
9
- import { _default as _default$7 } from "../collections/admin-preferences.mjs";
10
- import { _default as _default$8 } from "../collections/admin-saved-views.mjs";
11
- import { _default as _default$9 } from "../collections/apikey.mjs";
8
+ import { _default as _default$6 } from "../collections/account.mjs";
9
+ import { _default as _default$7 } from "../collections/admin-locks.mjs";
10
+ import { _default as _default$8 } from "../collections/admin-preferences.mjs";
11
+ import { _default as _default$9 } from "../collections/admin-saved-views.mjs";
12
+ import { _default as _default$10 } from "../collections/apikey.mjs";
12
13
  import { adminAssetsCollection } from "../collections/assets.mjs";
13
- import { _default as _default$10 } from "../collections/session.mjs";
14
+ import { _default as _default$11 } from "../collections/session.mjs";
14
15
  import { adminUserCollection } from "../collections/user.mjs";
15
- import { _default as _default$11 } from "../collections/verification.mjs";
16
+ import { _default as _default$12 } from "../collections/verification.mjs";
16
17
  import { adminConfigFunctions } from "../routes/admin-config.mjs";
17
18
  import { getApp } from "../routes/route-helpers.mjs";
18
19
  import { actionFunctions } from "../routes/execute-action.mjs";
20
+ import { translateAdminMessage } from "../routes/i18n-helpers.mjs";
19
21
  import { localeFunctions } from "../routes/locales.mjs";
20
22
  import { previewFunctions } from "../routes/preview.mjs";
21
23
  import { reactiveFunctions } from "../routes/reactive.mjs";
@@ -23,30 +25,33 @@ import { setupFunctions } from "../routes/setup.mjs";
23
25
  import { translationFunctions } from "../routes/translations.mjs";
24
26
  import { widgetDataFunctions } from "../routes/widget-data.mjs";
25
27
  import "zod";
28
+ import { RouteParamsFromKey, RouteWithParams } from "questpie";
26
29
 
27
30
  //#region src/server/modules/admin/.generated/module.d.ts
28
31
  interface AdminCollections {
29
- account: typeof _default$5;
30
- admin_locks: typeof _default$6;
31
- admin_preferences: typeof _default$7;
32
- admin_saved_views: typeof _default$8;
33
- apikey: typeof _default$9;
32
+ account: typeof _default$6;
33
+ admin_locks: typeof _default$7;
34
+ admin_preferences: typeof _default$8;
35
+ admin_saved_views: typeof _default$9;
36
+ apikey: typeof _default$10;
34
37
  assets: typeof adminAssetsCollection;
35
- session: typeof _default$10;
38
+ session: typeof _default$11;
36
39
  user: typeof adminUserCollection;
37
- verification: typeof _default$11;
40
+ verification: typeof _default$12;
38
41
  }
39
42
  type AdminRoutes = {
40
- routeHelpers: typeof getApp;
43
+ i18nHelpers: RouteWithParams<typeof translateAdminMessage, RouteParamsFromKey<"i18nHelpers">>;
44
+ routeHelpers: RouteWithParams<typeof getApp, RouteParamsFromKey<"routeHelpers">>;
41
45
  } & typeof adminConfigFunctions & typeof actionFunctions & typeof localeFunctions & typeof previewFunctions & typeof reactiveFunctions & typeof setupFunctions & typeof translationFunctions & typeof widgetDataFunctions;
42
46
  interface AdminViews {
43
47
  collectionForm: typeof _default;
44
48
  collectionTable: typeof _default$1;
45
49
  globalForm: typeof _default$2;
50
+ listView: typeof _default$3;
46
51
  }
47
52
  interface AdminComponents {
48
- badge: typeof _default$3;
49
- icon: typeof _default$4;
53
+ badge: typeof _default$4;
54
+ icon: typeof _default$5;
50
55
  }
51
56
  //#endregion
52
57
  export { AdminCollections, AdminComponents, AdminRoutes, AdminViews };
@@ -10,6 +10,7 @@ import user_default from "../collections/user.mjs";
10
10
  import verification_default from "../collections/verification.mjs";
11
11
  import { getApp } from "../routes/route-helpers.mjs";
12
12
  import { adminConfigFunctions } from "../routes/admin-config.mjs";
13
+ import { translateAdminMessage } from "../routes/i18n-helpers.mjs";
13
14
  import { actionFunctions } from "../routes/execute-action.mjs";
14
15
  import { localeFunctions } from "../routes/locales.mjs";
15
16
  import { previewFunctions } from "../routes/preview.mjs";
@@ -20,6 +21,7 @@ import { widgetDataFunctions } from "../routes/widget-data.mjs";
20
21
  import form_default from "../views/form.mjs";
21
22
  import table_default from "../views/table.mjs";
22
23
  import global_form_default from "../views/global-form.mjs";
24
+ import list_view_default from "../views/list-view.mjs";
23
25
  import badge_default from "../components/badge.mjs";
24
26
  import icon_default from "../components/icon.mjs";
25
27
  import admin_default from "../config/admin.mjs";
@@ -43,6 +45,7 @@ const _module = {
43
45
  routes: {
44
46
  ...adminConfigFunctions,
45
47
  ...actionFunctions,
48
+ i18nHelpers: translateAdminMessage,
46
49
  ...localeFunctions,
47
50
  ...previewFunctions,
48
51
  ...reactiveFunctions,
@@ -54,7 +57,8 @@ const _module = {
54
57
  views: {
55
58
  collectionForm: form_default,
56
59
  collectionTable: table_default,
57
- globalForm: global_form_default
60
+ globalForm: global_form_default,
61
+ listView: list_view_default
58
62
  },
59
63
  components: {
60
64
  badge: badge_default,
@@ -1,18 +1,20 @@
1
1
  import { _default } from "../views/form.mjs";
2
2
  import { _default as _default$1 } from "../views/table.mjs";
3
3
  import { _default as _default$2 } from "../views/global-form.mjs";
4
- import { _default as _default$3 } from "../components/badge.mjs";
5
- import { _default as _default$4 } from "../components/icon.mjs";
4
+ import { _default as _default$3 } from "../views/list-view.mjs";
5
+ import { _default as _default$4 } from "../components/badge.mjs";
6
+ import { _default as _default$5 } from "../components/icon.mjs";
6
7
 
7
8
  //#region src/server/modules/admin/.generated/registries.d.ts
8
9
  interface _RegViews {
9
10
  collectionForm: typeof _default;
10
11
  collectionTable: typeof _default$1;
11
12
  globalForm: typeof _default$2;
13
+ listView: typeof _default$3;
12
14
  }
13
15
  interface _RegComponents {
14
- badge: typeof _default$3;
15
- icon: typeof _default$4;
16
+ badge: typeof _default$4;
17
+ icon: typeof _default$5;
16
18
  }
17
19
  declare global {
18
20
  namespace Questpie {
@@ -1,94 +1,94 @@
1
- import { ViewDefinition } from "../../../../../client/builder/view/view.mjs";
1
+ import { _default } from "../views/collection-form.mjs";
2
+ import { _default as _default$1 } from "../views/collection-table.mjs";
3
+ import { _default as _default$2 } from "../views/global-form.mjs";
4
+ import { _default as _default$3 } from "../views/list-view.mjs";
2
5
  import { Badge, IconifyIcon } from "../../../../../client/components/component-renderer.mjs";
3
- import "../../../../../index.mjs";
4
6
  import "../components/badge.mjs";
5
7
  import "../components/icon.mjs";
6
- import { _default } from "../fields/array.mjs";
7
- import { _default as _default$1 } from "../fields/assetPreview.mjs";
8
- import { _default as _default$2 } from "../fields/blocks.mjs";
9
- import { _default as _default$3 } from "../fields/boolean.mjs";
10
- import { _default as _default$4 } from "../fields/date.mjs";
11
- import { _default as _default$5 } from "../fields/datetime.mjs";
12
- import { _default as _default$6 } from "../fields/email.mjs";
13
- import { _default as _default$7 } from "../fields/json.mjs";
14
- import { _default as _default$8 } from "../fields/number.mjs";
15
- import { _default as _default$9 } from "../fields/object.mjs";
16
- import { _default as _default$10 } from "../fields/relation.mjs";
17
- import { _default as _default$11 } from "../fields/richText.mjs";
18
- import { _default as _default$12 } from "../fields/select.mjs";
19
- import { _default as _default$13 } from "../fields/text.mjs";
20
- import { _default as _default$14 } from "../fields/textarea.mjs";
21
- import { _default as _default$15 } from "../fields/time.mjs";
22
- import { _default as _default$16 } from "../fields/upload.mjs";
23
- import { _default as _default$17 } from "../fields/url.mjs";
24
- import { _default as _default$18 } from "../pages/dashboard.mjs";
25
- import { _default as _default$19 } from "../pages/forgotPassword.mjs";
26
- import { _default as _default$20 } from "../pages/login.mjs";
27
- import { _default as _default$21 } from "../pages/resetPassword.mjs";
28
- import { _default as _default$22 } from "../pages/setup.mjs";
29
- import { _default as _default$23 } from "../widgets/chart.mjs";
30
- import { _default as _default$24 } from "../widgets/progress.mjs";
31
- import { _default as _default$25 } from "../widgets/quickActions.mjs";
32
- import { _default as _default$26 } from "../widgets/recentItems.mjs";
33
- import { _default as _default$27 } from "../widgets/stats.mjs";
34
- import { _default as _default$28 } from "../widgets/table.mjs";
35
- import { _default as _default$29 } from "../widgets/timeline.mjs";
36
- import { _default as _default$30 } from "../widgets/value.mjs";
8
+ import { _default as _default$4 } from "../fields/array.mjs";
9
+ import { _default as _default$5 } from "../fields/assetPreview.mjs";
10
+ import { _default as _default$6 } from "../fields/blocks.mjs";
11
+ import { _default as _default$7 } from "../fields/boolean.mjs";
12
+ import { _default as _default$8 } from "../fields/date.mjs";
13
+ import { _default as _default$9 } from "../fields/datetime.mjs";
14
+ import { _default as _default$10 } from "../fields/email.mjs";
15
+ import { _default as _default$11 } from "../fields/json.mjs";
16
+ import { _default as _default$12 } from "../fields/number.mjs";
17
+ import { _default as _default$13 } from "../fields/object.mjs";
18
+ import { _default as _default$14 } from "../fields/relation.mjs";
19
+ import { _default as _default$15 } from "../fields/richText.mjs";
20
+ import { _default as _default$16 } from "../fields/select.mjs";
21
+ import { _default as _default$17 } from "../fields/text.mjs";
22
+ import { _default as _default$18 } from "../fields/textarea.mjs";
23
+ import { _default as _default$19 } from "../fields/time.mjs";
24
+ import { _default as _default$20 } from "../fields/upload.mjs";
25
+ import { _default as _default$21 } from "../fields/url.mjs";
26
+ import { _default as _default$22 } from "../pages/dashboard.mjs";
27
+ import { _default as _default$23 } from "../pages/forgotPassword.mjs";
28
+ import { _default as _default$24 } from "../pages/login.mjs";
29
+ import { _default as _default$25 } from "../pages/resetPassword.mjs";
30
+ import { _default as _default$26 } from "../pages/setup.mjs";
31
+ import { _default as _default$27 } from "../widgets/chart.mjs";
32
+ import { _default as _default$28 } from "../widgets/progress.mjs";
33
+ import { _default as _default$29 } from "../widgets/quickActions.mjs";
34
+ import { _default as _default$30 } from "../widgets/recentItems.mjs";
35
+ import { _default as _default$31 } from "../widgets/stats.mjs";
36
+ import { _default as _default$32 } from "../widgets/table.mjs";
37
+ import { _default as _default$33 } from "../widgets/timeline.mjs";
38
+ import { _default as _default$34 } from "../widgets/value.mjs";
37
39
 
38
40
  //#region src/server/modules/admin/client/.generated/module.d.ts
41
+ type AdminViews = { [K in typeof _default.name]: typeof _default } & { [K in typeof _default$1.name]: typeof _default$1 } & { [K in typeof _default$2.name]: typeof _default$2 } & { [K in typeof _default$3.name]: typeof _default$3 };
39
42
  interface AdminComponents {
40
43
  badge: typeof Badge;
41
44
  icon: typeof IconifyIcon;
42
45
  }
43
46
  interface AdminFields {
44
- array: typeof _default;
45
- assetPreview: typeof _default$1;
46
- blocks: typeof _default$2;
47
- boolean: typeof _default$3;
48
- date: typeof _default$4;
49
- datetime: typeof _default$5;
50
- email: typeof _default$6;
51
- json: typeof _default$7;
52
- number: typeof _default$8;
53
- object: typeof _default$9;
54
- relation: typeof _default$10;
55
- richText: typeof _default$11;
56
- select: typeof _default$12;
57
- text: typeof _default$13;
58
- textarea: typeof _default$14;
59
- time: typeof _default$15;
60
- upload: typeof _default$16;
61
- url: typeof _default$17;
47
+ array: typeof _default$4;
48
+ assetPreview: typeof _default$5;
49
+ blocks: typeof _default$6;
50
+ boolean: typeof _default$7;
51
+ date: typeof _default$8;
52
+ datetime: typeof _default$9;
53
+ email: typeof _default$10;
54
+ json: typeof _default$11;
55
+ number: typeof _default$12;
56
+ object: typeof _default$13;
57
+ relation: typeof _default$14;
58
+ richText: typeof _default$15;
59
+ select: typeof _default$16;
60
+ text: typeof _default$17;
61
+ textarea: typeof _default$18;
62
+ time: typeof _default$19;
63
+ upload: typeof _default$20;
64
+ url: typeof _default$21;
62
65
  }
63
66
  interface AdminPages {
64
- dashboard: typeof _default$18;
65
- forgotPassword: typeof _default$19;
66
- login: typeof _default$20;
67
- resetPassword: typeof _default$21;
68
- setup: typeof _default$22;
67
+ dashboard: typeof _default$22;
68
+ forgotPassword: typeof _default$23;
69
+ login: typeof _default$24;
70
+ resetPassword: typeof _default$25;
71
+ setup: typeof _default$26;
69
72
  }
70
73
  interface AdminWidgets {
71
- chart: typeof _default$23;
72
- progress: typeof _default$24;
73
- quickActions: typeof _default$25;
74
- recentItems: typeof _default$26;
75
- stats: typeof _default$27;
76
- table: typeof _default$28;
77
- timeline: typeof _default$29;
78
- value: typeof _default$30;
74
+ chart: typeof _default$27;
75
+ progress: typeof _default$28;
76
+ quickActions: typeof _default$29;
77
+ recentItems: typeof _default$30;
78
+ stats: typeof _default$31;
79
+ table: typeof _default$32;
80
+ timeline: typeof _default$33;
81
+ value: typeof _default$34;
79
82
  }
80
83
  declare const _module: {
81
84
  name: "questpie-admin";
82
- views: {
83
- "collection-form": ViewDefinition<"collection-form", "form">;
84
- "collection-table": ViewDefinition<"collection-table", "list">;
85
- "global-form": ViewDefinition<"global-form", "form">;
86
- };
85
+ views: AdminViews;
87
86
  components: AdminComponents;
88
87
  fields: AdminFields;
89
88
  pages: AdminPages;
90
89
  widgets: AdminWidgets;
91
90
  blocks: {};
92
91
  };
92
+ type AdminModule = typeof _module;
93
93
  //#endregion
94
- export { _module };
94
+ export { AdminModule, _module };
@@ -1,6 +1,7 @@
1
1
  import collection_form_default from "../views/collection-form.mjs";
2
2
  import collection_table_default from "../views/collection-table.mjs";
3
3
  import global_form_default from "../views/global-form.mjs";
4
+ import list_view_default from "../views/list-view.mjs";
4
5
  import { Badge, IconifyIcon } from "../../../../../client/components/component-renderer.mjs";
5
6
  import array_default from "../fields/array.mjs";
6
7
  import assetPreview_default from "../fields/assetPreview.mjs";
@@ -40,7 +41,8 @@ const _module = {
40
41
  views: {
41
42
  [collection_form_default.name]: collection_form_default,
42
43
  [collection_table_default.name]: collection_table_default,
43
- [global_form_default.name]: global_form_default
44
+ [global_form_default.name]: global_form_default,
45
+ [list_view_default.name]: list_view_default
44
46
  },
45
47
  components: {
46
48
  badge: Badge,
@@ -0,0 +1,6 @@
1
+ import { ViewDefinition } from "../../../../../client/builder/view/view.mjs";
2
+
3
+ //#region src/server/modules/admin/client/views/collection-form.d.ts
4
+ declare const _default: ViewDefinition<"collection-form", "form">;
5
+ //#endregion
6
+ export { _default };
@@ -0,0 +1,6 @@
1
+ import { ViewDefinition } from "../../../../../client/builder/view/view.mjs";
2
+
3
+ //#region src/server/modules/admin/client/views/collection-table.d.ts
4
+ declare const _default: ViewDefinition<"collection-table", "list">;
5
+ //#endregion
6
+ export { _default };
@@ -0,0 +1,6 @@
1
+ import { ViewDefinition } from "../../../../../client/builder/view/view.mjs";
2
+
3
+ //#region src/server/modules/admin/client/views/global-form.d.ts
4
+ declare const _default: ViewDefinition<"global-form", "form">;
5
+ //#endregion
6
+ export { _default };
@@ -0,0 +1,6 @@
1
+ import { ViewDefinition } from "../../../../../client/builder/view/view.mjs";
2
+
3
+ //#region src/server/modules/admin/client/views/list-view.d.ts
4
+ declare const _default: ViewDefinition<"list-view", "list">;
5
+ //#endregion
6
+ export { _default };
@@ -0,0 +1,10 @@
1
+ import { view } from "../../../../../client/builder/view/view.mjs";
2
+
3
+ //#region src/server/modules/admin/client/views/list-view.ts
4
+ var list_view_default = view("list-view", {
5
+ kind: "list",
6
+ component: () => import("../../../../../client/views/collection/list-view.mjs")
7
+ });
8
+
9
+ //#endregion
10
+ export { list_view_default as default };