@easy-cms/core 1.30.0 → 1.31.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.
@@ -3135,6 +3135,29 @@ interface CollectionAdmin extends ContainerAdmin {
3135
3135
  readonly typeTitle?: boolean;
3136
3136
  readonly impact?: string;
3137
3137
  };
3138
+ /**
3139
+ * Views everyone gets as tabs above the list (#87), before the ones users save: a name and the
3140
+ * list's filters, search, sort, columns, page size and row height. Editors can't change them.
3141
+ */
3142
+ readonly views?: readonly CollectionView[];
3143
+ /** `false`: no Export CSV in the list, and `GET <api>/:collection/export.csv` refuses (#89). */
3144
+ readonly export?: boolean;
3145
+ }
3146
+ /** A view of a collection's list in the admin (`admin.views`). */
3147
+ interface CollectionView {
3148
+ /** Lowercase letters, digits, `-` or `_`: in links, `?view=config:<id>`. */
3149
+ readonly id: string;
3150
+ readonly label: Label;
3151
+ /** Conditions of the list's filter panel: fields with their operators, joined with AND. */
3152
+ readonly where?: Where;
3153
+ /** The search box's text. */
3154
+ readonly search?: string;
3155
+ /** Field path, `-` prefix for descending. */
3156
+ readonly sort?: string;
3157
+ /** The columns shown beside the title, in order. */
3158
+ readonly columns?: readonly string[];
3159
+ readonly pageSize?: 10 | 25 | 50 | 100;
3160
+ readonly density?: 'comfortable' | 'compact';
3138
3161
  }
3139
3162
  /**
3140
3163
  * Where a document sits in the list's Calendar mode: top-level date fields, and optionally a field
@@ -3900,5 +3923,5 @@ interface ResolvedConfig extends Omit<Config, 'cors' | 'localization' | 'routes'
3900
3923
  */
3901
3924
  declare function defineConfig<const TConfig extends Config>(config: TConfig): TConfig;
3902
3925
 
3903
- export { ADAPTER_API_VERSION as A, EasyCMS as E, AuditLog as _, Auth as a1, EasyCMSError as aJ, FIELD_TYPES as aQ, ConfigError as as, ForbiddenError as b8, PLUGIN_API_VERSION as bF, PayloadTooLargeError as bK, QueryError as bQ, ROLE_OPERATIONS as bR, NotFoundError as bz, jsonLogger as c$, Roles as c1, SchemaError as c4, ValidationError as cE, WEBHOOK_EVENTS as cI, anyone as cM, consoleEmail as cN, consoleLogger as cO, createEasyCMS as cP, defineConfig as cQ, defineFieldType as cR, definePlugin as cS, diskStorage as cT, hasRows as cU, isAdmin as cV, isHasMany as cW, isPolymorphic as cX, isSignedIn as cY, isStaff as cZ, isSystemAdmin as c_, SingleSignOn as cj, TRIGRAM_LIKE_MIN as cq, TooManyRequestsError as cu, UnauthorizedError as cx, memorySearch as d0, mimeAllowedBy as d1, polymorphicValue as d2, relationTargets as d3, rowFields as d4, silentLogger as d5, uniqueWithinOf as d6, API_KEYS as d7, API_KEY_GLOBAL_OPERATIONS as d8, API_KEY_OPERATIONS as d9, DEFAULT_MAX_VERSIONS as da, DEFAULT_PASSWORD_EMAILS as db, FIELD_TYPE_BASES as dc, FOLDER_LEVELS as dd, MediaFolders as de, SSO_COOKIE as df, codeOfStatus as dh, isJsonLogger as di, keyAllows as dj, logFormat as dk, secretsOf as dl, ADMIN_ICONS as j };
3904
- export type { AuditPage as $, AdminRoles as B, Config as C, AdminSso as D, Field as F, GlobalSlug as G, AdminSwitcher as H, ID as I, AdminViewAccess as J, AfterChangeHook as K, LocalizationConfig as L, AfterDeleteHook as M, AfterReadHook as N, ApiKeyContext as O, PaginatedDocs as P, ApiKeyGlobalOperation as Q, ResolvedConfig as R, ApiKeyOperation as S, ApiKeyPermissions as T, UncountedDocs as U, ArrayField as V, Where as W, AuditChange as X, AuditConfig as Y, AuditEntry as Z, CollectionSlug as a, FieldValue as a$, AuditVerification as a0, AuthConfig as a2, AuthProvider as a3, AuthProviderProfile as a4, AuthProviderRequest as a5, AuthUser as a6, BackupsConfig as a7, BeforeChangeHook as a8, BeforeDeleteHook as a9, Database as aA, DatabaseAdapter as aB, DatabaseInitArgs as aC, DatabaseTransfer as aD, DateField as aE, DepthOptions as aF, DirectUpload as aG, DiskStorageOptions as aH, DocumentOf as aI, EmailAdapter as aK, EmailField as aL, EmailMessage as aM, Endpoint as aN, EndpointRequest as aO, ErrorCode as aP, FieldAccess as aR, FieldAccessFn as aS, FieldAdmin as aT, FieldRule as aU, FieldType as aV, FieldTypeBase as aW, FieldTypeDefinition as aX, FieldTypeValidateContext as aY, FieldValidate as aZ, FieldValidateContext as a_, BeforeValidateHook as aa, Block as ab, BlockSummaryArgs as ac, BlocksField as ad, BooleanField as ae, BuiltinApiKeysCollection as af, BuiltinMediaCollection as ag, BuiltinMediaFoldersCollection as ah, BuiltinUsersCollection as ai, BundleHints as aj, CliCommand as ak, CollectionAccess as al, CollectionAdmin as am, CollectionCalendarAdmin as an, CollectionConfig as ao, CollectionHooks as ap, CollectionListAdmin as aq, CollectionSearch as ar, ConfigIssue as at, ContainerAdmin as au, CreateInput as av, CreateMigrationResult as aw, CustomField as ax, CustomFieldTypes as ay, DashboardWidget as az, CollectionDocument as b, RoleOperation as b$, FieldsInput as b0, FieldsValue as b1, FilterOptionsArgs as b2, FindAfterArgs as b3, FindArgs as b4, FindOptions as b5, FolderLevel as b6, FolderPermissions as b7, GlobalAccess as b9, NumberField as bA, OnRequest as bB, OnRequestArgs as bC, Operation as bD, OutboxRow as bE, PasswordEmail as bG, PasswordEmailArgs as bH, PasswordEmailFn as bI, PasswordLinkOptions as bJ, Plugin as bL, PluginInfo as bM, PluginTypes as bN, PreviewTarget as bO, PreviewURL as bP, RawDocument as bS, ReadOptions as bT, RelationshipField as bU, RequestContext as bV, RichTextBlock as bW, RichTextBlocks as bX, RichTextDocument as bY, RichTextField as bZ, Role as b_, GlobalConfig as ba, GlobalHooks as bb, GlobalInput as bc, GroupField as bd, ImageSize as be, IncrementOptions as bf, InferCollection as bg, InferGlobal as bh, JobConfig as bi, JsonField as bj, KeysetPage as bk, Label as bl, LayoutNode as bm, LivePreview as bn, LocaleOf as bo, LogDetails as bp, Logger as bq, LoginArgs as br, LogsConfig as bs, MediaDocument as bt, MediaSize as bu, MembersConfig as bv, MembersSignup as bw, MigrationInfo as bx, NavGroup as by, CursorDocs as c, RolePermissions as c0, RoutesConfig as c2, ScheduledPublish as c3, SchemaMode as c5, SearchAdapter as c6, SearchEntry as c7, SearchHits as c8, SearchOptions as c9, UploadConfig as cA, UploadField as cB, UploadFromURLConfig as cC, UserIdentity as cD, Version as cF, VersionSummary as cG, VersionsConfig as cH, WebhookConfig as cJ, WebhookEvent as cK, WhereOperators as cL, SearchQuery as ca, SearchResults as cb, SearchSetting as cc, SelectField as cd, SelectOption as ce, Session as cf, SidebarPanel as cg, SignupArgs as ch, SignupResult as ci, SlugField as ck, SlugOf as cl, SsoOutcome as cm, SsoProviderRef as cn, StorageAdapter as co, StoredFile as cp, TelemetryConfig as cr, TextField as cs, TextareaField as ct, TypedPlugin as cv, UiField as cw, UpdateInput as cy, UpdateOptions as cz, GlobalDocument as d, Secrets as dg, FieldError as e, FilterOptions as f, CreateEasyCMSOptions as g, EmailSetting as h, WebhookPayload as i, Access as k, AccessArgs as l, AccessOptions as m, AdminBrand as n, AdminCommand as o, AdminComponent as p, AdminConfig as q, AdminFieldArgs as r, AdminIcon as s, AdminLocale as t, AdminPage as u, AdminRole as v, AdminRoleChange as w, AdminRoleField as x, AdminRoleTarget as y, AdminRoleView as z };
3926
+ export { ADAPTER_API_VERSION as A, EasyCMS as E, AuditLog as _, Auth as a1, EasyCMSError as aK, FIELD_TYPES as aR, ConfigError as at, ForbiddenError as b9, NotFoundError as bA, PLUGIN_API_VERSION as bG, PayloadTooLargeError as bL, QueryError as bR, ROLE_OPERATIONS as bS, isSystemAdmin as c$, Roles as c2, SchemaError as c5, ValidationError as cF, WEBHOOK_EVENTS as cJ, anyone as cN, consoleEmail as cO, consoleLogger as cP, createEasyCMS as cQ, defineConfig as cR, defineFieldType as cS, definePlugin as cT, diskStorage as cU, hasRows as cV, isAdmin as cW, isHasMany as cX, isPolymorphic as cY, isSignedIn as cZ, isStaff as c_, SingleSignOn as ck, TRIGRAM_LIKE_MIN as cr, TooManyRequestsError as cv, UnauthorizedError as cy, jsonLogger as d0, memorySearch as d1, mimeAllowedBy as d2, polymorphicValue as d3, relationTargets as d4, rowFields as d5, silentLogger as d6, uniqueWithinOf as d7, API_KEYS as d8, API_KEY_GLOBAL_OPERATIONS as d9, API_KEY_OPERATIONS as da, DEFAULT_MAX_VERSIONS as db, DEFAULT_PASSWORD_EMAILS as dc, FIELD_TYPE_BASES as dd, FOLDER_LEVELS as de, MediaFolders as df, SSO_COOKIE as dg, codeOfStatus as di, isJsonLogger as dj, keyAllows as dk, logFormat as dl, secretsOf as dm, ADMIN_ICONS as j };
3927
+ export type { AuditPage as $, AdminRoles as B, Config as C, AdminSso as D, Field as F, GlobalSlug as G, AdminSwitcher as H, ID as I, AdminViewAccess as J, AfterChangeHook as K, LocalizationConfig as L, AfterDeleteHook as M, AfterReadHook as N, ApiKeyContext as O, PaginatedDocs as P, ApiKeyGlobalOperation as Q, ResolvedConfig as R, ApiKeyOperation as S, ApiKeyPermissions as T, UncountedDocs as U, ArrayField as V, Where as W, AuditChange as X, AuditConfig as Y, AuditEntry as Z, CollectionSlug as a, FieldValidateContext as a$, AuditVerification as a0, AuthConfig as a2, AuthProvider as a3, AuthProviderProfile as a4, AuthProviderRequest as a5, AuthUser as a6, BackupsConfig as a7, BeforeChangeHook as a8, BeforeDeleteHook as a9, DashboardWidget as aA, Database as aB, DatabaseAdapter as aC, DatabaseInitArgs as aD, DatabaseTransfer as aE, DateField as aF, DepthOptions as aG, DirectUpload as aH, DiskStorageOptions as aI, DocumentOf as aJ, EmailAdapter as aL, EmailField as aM, EmailMessage as aN, Endpoint as aO, EndpointRequest as aP, ErrorCode as aQ, FieldAccess as aS, FieldAccessFn as aT, FieldAdmin as aU, FieldRule as aV, FieldType as aW, FieldTypeBase as aX, FieldTypeDefinition as aY, FieldTypeValidateContext as aZ, FieldValidate as a_, BeforeValidateHook as aa, Block as ab, BlockSummaryArgs as ac, BlocksField as ad, BooleanField as ae, BuiltinApiKeysCollection as af, BuiltinMediaCollection as ag, BuiltinMediaFoldersCollection as ah, BuiltinUsersCollection as ai, BundleHints as aj, CliCommand as ak, CollectionAccess as al, CollectionAdmin as am, CollectionCalendarAdmin as an, CollectionConfig as ao, CollectionHooks as ap, CollectionListAdmin as aq, CollectionSearch as ar, CollectionView as as, ConfigIssue as au, ContainerAdmin as av, CreateInput as aw, CreateMigrationResult as ax, CustomField as ay, CustomFieldTypes as az, CollectionDocument as b, Role as b$, FieldValue as b0, FieldsInput as b1, FieldsValue as b2, FilterOptionsArgs as b3, FindAfterArgs as b4, FindArgs as b5, FindOptions as b6, FolderLevel as b7, FolderPermissions as b8, NumberField as bB, OnRequest as bC, OnRequestArgs as bD, Operation as bE, OutboxRow as bF, PasswordEmail as bH, PasswordEmailArgs as bI, PasswordEmailFn as bJ, PasswordLinkOptions as bK, Plugin as bM, PluginInfo as bN, PluginTypes as bO, PreviewTarget as bP, PreviewURL as bQ, RawDocument as bT, ReadOptions as bU, RelationshipField as bV, RequestContext as bW, RichTextBlock as bX, RichTextBlocks as bY, RichTextDocument as bZ, RichTextField as b_, GlobalAccess as ba, GlobalConfig as bb, GlobalHooks as bc, GlobalInput as bd, GroupField as be, ImageSize as bf, IncrementOptions as bg, InferCollection as bh, InferGlobal as bi, JobConfig as bj, JsonField as bk, KeysetPage as bl, Label as bm, LayoutNode as bn, LivePreview as bo, LocaleOf as bp, LogDetails as bq, Logger as br, LoginArgs as bs, LogsConfig as bt, MediaDocument as bu, MediaSize as bv, MembersConfig as bw, MembersSignup as bx, MigrationInfo as by, NavGroup as bz, CursorDocs as c, RoleOperation as c0, RolePermissions as c1, RoutesConfig as c3, ScheduledPublish as c4, SchemaMode as c6, SearchAdapter as c7, SearchEntry as c8, SearchHits as c9, UpdateOptions as cA, UploadConfig as cB, UploadField as cC, UploadFromURLConfig as cD, UserIdentity as cE, Version as cG, VersionSummary as cH, VersionsConfig as cI, WebhookConfig as cK, WebhookEvent as cL, WhereOperators as cM, SearchOptions as ca, SearchQuery as cb, SearchResults as cc, SearchSetting as cd, SelectField as ce, SelectOption as cf, Session as cg, SidebarPanel as ch, SignupArgs as ci, SignupResult as cj, SlugField as cl, SlugOf as cm, SsoOutcome as cn, SsoProviderRef as co, StorageAdapter as cp, StoredFile as cq, TelemetryConfig as cs, TextField as ct, TextareaField as cu, TypedPlugin as cw, UiField as cx, UpdateInput as cz, GlobalDocument as d, Secrets as dh, FieldError as e, FilterOptions as f, CreateEasyCMSOptions as g, EmailSetting as h, WebhookPayload as i, Access as k, AccessArgs as l, AccessOptions as m, AdminBrand as n, AdminCommand as o, AdminComponent as p, AdminConfig as q, AdminFieldArgs as r, AdminIcon as s, AdminLocale as t, AdminPage as u, AdminRole as v, AdminRoleChange as w, AdminRoleField as x, AdminRoleTarget as y, AdminRoleView as z };
@@ -1,4 +1,4 @@
1
- import { I as ID, C as Config, E as EasyCMS, L as LocalizationConfig, F as Field, e as FieldError, f as FilterOptions, g as CreateEasyCMSOptions, R as ResolvedConfig } from './config-DGATdBdP.js';
1
+ import { I as ID, C as Config, E as EasyCMS, L as LocalizationConfig, F as Field, e as FieldError, f as FilterOptions, g as CreateEasyCMSOptions, R as ResolvedConfig } from './config-BUySbadL.js';
2
2
 
3
3
  /** Decrypts a file from `encryptBackup`; throws for another key or a changed file. */
4
4
  declare function decryptBackup(data: Uint8Array, encryptionKey: string): Uint8Array;
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { P as PaginatedDocs, I as ID, h as EmailSetting, i as WebhookPayload } from './config-DGATdBdP.js';
2
- export { A as ADAPTER_API_VERSION, j as ADMIN_ICONS, k as Access, l as AccessArgs, m as AccessOptions, n as AdminBrand, o as AdminCommand, p as AdminComponent, q as AdminConfig, r as AdminFieldArgs, s as AdminIcon, t as AdminLocale, u as AdminPage, v as AdminRole, w as AdminRoleChange, x as AdminRoleField, y as AdminRoleTarget, z as AdminRoleView, B as AdminRoles, D as AdminSso, H as AdminSwitcher, J as AdminViewAccess, K as AfterChangeHook, M as AfterDeleteHook, N as AfterReadHook, O as ApiKeyContext, Q as ApiKeyGlobalOperation, S as ApiKeyOperation, T as ApiKeyPermissions, V as ArrayField, X as AuditChange, Y as AuditConfig, Z as AuditEntry, _ as AuditLog, $ as AuditPage, a0 as AuditVerification, a1 as Auth, a2 as AuthConfig, a3 as AuthProvider, a4 as AuthProviderProfile, a5 as AuthProviderRequest, a6 as AuthUser, a7 as BackupsConfig, a8 as BeforeChangeHook, a9 as BeforeDeleteHook, aa as BeforeValidateHook, ab as Block, ac as BlockSummaryArgs, ad as BlocksField, ae as BooleanField, af as BuiltinApiKeysCollection, ag as BuiltinMediaCollection, ah as BuiltinMediaFoldersCollection, ai as BuiltinUsersCollection, aj as BundleHints, ak as CliCommand, al as CollectionAccess, am as CollectionAdmin, an as CollectionCalendarAdmin, ao as CollectionConfig, b as CollectionDocument, ap as CollectionHooks, aq as CollectionListAdmin, ar as CollectionSearch, a as CollectionSlug, C as Config, as as ConfigError, at as ConfigIssue, au as ContainerAdmin, g as CreateEasyCMSOptions, av as CreateInput, aw as CreateMigrationResult, c as CursorDocs, ax as CustomField, ay as CustomFieldTypes, az as DashboardWidget, aA as Database, aB as DatabaseAdapter, aC as DatabaseInitArgs, aD as DatabaseTransfer, aE as DateField, aF as DepthOptions, aG as DirectUpload, aH as DiskStorageOptions, aI as DocumentOf, E as EasyCMS, aJ as EasyCMSError, aK as EmailAdapter, aL as EmailField, aM as EmailMessage, aN as Endpoint, aO as EndpointRequest, aP as ErrorCode, aQ as FIELD_TYPES, F as Field, aR as FieldAccess, aS as FieldAccessFn, aT as FieldAdmin, e as FieldError, aU as FieldRule, aV as FieldType, aW as FieldTypeBase, aX as FieldTypeDefinition, aY as FieldTypeValidateContext, aZ as FieldValidate, a_ as FieldValidateContext, a$ as FieldValue, b0 as FieldsInput, b1 as FieldsValue, f as FilterOptions, b2 as FilterOptionsArgs, b3 as FindAfterArgs, b4 as FindArgs, b5 as FindOptions, b6 as FolderLevel, b7 as FolderPermissions, b8 as ForbiddenError, b9 as GlobalAccess, ba as GlobalConfig, d as GlobalDocument, bb as GlobalHooks, bc as GlobalInput, G as GlobalSlug, bd as GroupField, be as ImageSize, bf as IncrementOptions, bg as InferCollection, bh as InferGlobal, bi as JobConfig, bj as JsonField, bk as KeysetPage, bl as Label, bm as LayoutNode, bn as LivePreview, bo as LocaleOf, L as LocalizationConfig, bp as LogDetails, bq as Logger, br as LoginArgs, bs as LogsConfig, bt as MediaDocument, bu as MediaSize, bv as MembersConfig, bw as MembersSignup, bx as MigrationInfo, by as NavGroup, bz as NotFoundError, bA as NumberField, bB as OnRequest, bC as OnRequestArgs, bD as Operation, bE as OutboxRow, bF as PLUGIN_API_VERSION, bG as PasswordEmail, bH as PasswordEmailArgs, bI as PasswordEmailFn, bJ as PasswordLinkOptions, bK as PayloadTooLargeError, bL as Plugin, bM as PluginInfo, bN as PluginTypes, bO as PreviewTarget, bP as PreviewURL, bQ as QueryError, bR as ROLE_OPERATIONS, bS as RawDocument, bT as ReadOptions, bU as RelationshipField, bV as RequestContext, R as ResolvedConfig, bW as RichTextBlock, bX as RichTextBlocks, bY as RichTextDocument, bZ as RichTextField, b_ as Role, b$ as RoleOperation, c0 as RolePermissions, c1 as Roles, c2 as RoutesConfig, c3 as ScheduledPublish, c4 as SchemaError, c5 as SchemaMode, c6 as SearchAdapter, c7 as SearchEntry, c8 as SearchHits, c9 as SearchOptions, ca as SearchQuery, cb as SearchResults, cc as SearchSetting, cd as SelectField, ce as SelectOption, cf as Session, cg as SidebarPanel, ch as SignupArgs, ci as SignupResult, cj as SingleSignOn, ck as SlugField, cl as SlugOf, cm as SsoOutcome, cn as SsoProviderRef, co as StorageAdapter, cp as StoredFile, cq as TRIGRAM_LIKE_MIN, cr as TelemetryConfig, cs as TextField, ct as TextareaField, cu as TooManyRequestsError, cv as TypedPlugin, cw as UiField, cx as UnauthorizedError, U as UncountedDocs, cy as UpdateInput, cz as UpdateOptions, cA as UploadConfig, cB as UploadField, cC as UploadFromURLConfig, cD as UserIdentity, cE as ValidationError, cF as Version, cG as VersionSummary, cH as VersionsConfig, cI as WEBHOOK_EVENTS, cJ as WebhookConfig, cK as WebhookEvent, W as Where, cL as WhereOperators, cM as anyone, cN as consoleEmail, cO as consoleLogger, cP as createEasyCMS, cQ as defineConfig, cR as defineFieldType, cS as definePlugin, cT as diskStorage, cU as hasRows, cV as isAdmin, cW as isHasMany, cX as isPolymorphic, cY as isSignedIn, cZ as isStaff, c_ as isSystemAdmin, c$ as jsonLogger, d0 as memorySearch, d1 as mimeAllowedBy, d2 as polymorphicValue, d3 as relationTargets, d4 as rowFields, d5 as silentLogger, d6 as uniqueWithinOf } from './config-DGATdBdP.js';
3
- export { A as ADMIN_API_VERSION, a as AdminCollection, b as AdminComponentRef, c as AdminElementProps, d as AdminField, e as AdminGlobal, f as AdminLayoutNode, g as AdminNavGroup, h as AdminNavItem, i as AdminNavNode, j as AdminPageRef, k as AdminPageRoute, l as AdminSchema, m as AdminWidgetRef, S as SetFieldDetail, w as warnDeprecated } from './plugin-B6lp3qVf.js';
4
- export { A as AdminBackup, a as AdminBackups, b as ApiHandlerOptions, B as BackupState, L as LoadConfigOptions, R as RestHandler, c as RestHandlerOptions, d as createApiHandler, e as createRestHandler, l as loadConfig, r as resolveConfig, s as sharedEasyCMS, f as slugify } from './handler-DsA868nd.js';
1
+ import { P as PaginatedDocs, I as ID, h as EmailSetting, i as WebhookPayload } from './config-BUySbadL.js';
2
+ export { A as ADAPTER_API_VERSION, j as ADMIN_ICONS, k as Access, l as AccessArgs, m as AccessOptions, n as AdminBrand, o as AdminCommand, p as AdminComponent, q as AdminConfig, r as AdminFieldArgs, s as AdminIcon, t as AdminLocale, u as AdminPage, v as AdminRole, w as AdminRoleChange, x as AdminRoleField, y as AdminRoleTarget, z as AdminRoleView, B as AdminRoles, D as AdminSso, H as AdminSwitcher, J as AdminViewAccess, K as AfterChangeHook, M as AfterDeleteHook, N as AfterReadHook, O as ApiKeyContext, Q as ApiKeyGlobalOperation, S as ApiKeyOperation, T as ApiKeyPermissions, V as ArrayField, X as AuditChange, Y as AuditConfig, Z as AuditEntry, _ as AuditLog, $ as AuditPage, a0 as AuditVerification, a1 as Auth, a2 as AuthConfig, a3 as AuthProvider, a4 as AuthProviderProfile, a5 as AuthProviderRequest, a6 as AuthUser, a7 as BackupsConfig, a8 as BeforeChangeHook, a9 as BeforeDeleteHook, aa as BeforeValidateHook, ab as Block, ac as BlockSummaryArgs, ad as BlocksField, ae as BooleanField, af as BuiltinApiKeysCollection, ag as BuiltinMediaCollection, ah as BuiltinMediaFoldersCollection, ai as BuiltinUsersCollection, aj as BundleHints, ak as CliCommand, al as CollectionAccess, am as CollectionAdmin, an as CollectionCalendarAdmin, ao as CollectionConfig, b as CollectionDocument, ap as CollectionHooks, aq as CollectionListAdmin, ar as CollectionSearch, a as CollectionSlug, as as CollectionView, C as Config, at as ConfigError, au as ConfigIssue, av as ContainerAdmin, g as CreateEasyCMSOptions, aw as CreateInput, ax as CreateMigrationResult, c as CursorDocs, ay as CustomField, az as CustomFieldTypes, aA as DashboardWidget, aB as Database, aC as DatabaseAdapter, aD as DatabaseInitArgs, aE as DatabaseTransfer, aF as DateField, aG as DepthOptions, aH as DirectUpload, aI as DiskStorageOptions, aJ as DocumentOf, E as EasyCMS, aK as EasyCMSError, aL as EmailAdapter, aM as EmailField, aN as EmailMessage, aO as Endpoint, aP as EndpointRequest, aQ as ErrorCode, aR as FIELD_TYPES, F as Field, aS as FieldAccess, aT as FieldAccessFn, aU as FieldAdmin, e as FieldError, aV as FieldRule, aW as FieldType, aX as FieldTypeBase, aY as FieldTypeDefinition, aZ as FieldTypeValidateContext, a_ as FieldValidate, a$ as FieldValidateContext, b0 as FieldValue, b1 as FieldsInput, b2 as FieldsValue, f as FilterOptions, b3 as FilterOptionsArgs, b4 as FindAfterArgs, b5 as FindArgs, b6 as FindOptions, b7 as FolderLevel, b8 as FolderPermissions, b9 as ForbiddenError, ba as GlobalAccess, bb as GlobalConfig, d as GlobalDocument, bc as GlobalHooks, bd as GlobalInput, G as GlobalSlug, be as GroupField, bf as ImageSize, bg as IncrementOptions, bh as InferCollection, bi as InferGlobal, bj as JobConfig, bk as JsonField, bl as KeysetPage, bm as Label, bn as LayoutNode, bo as LivePreview, bp as LocaleOf, L as LocalizationConfig, bq as LogDetails, br as Logger, bs as LoginArgs, bt as LogsConfig, bu as MediaDocument, bv as MediaSize, bw as MembersConfig, bx as MembersSignup, by as MigrationInfo, bz as NavGroup, bA as NotFoundError, bB as NumberField, bC as OnRequest, bD as OnRequestArgs, bE as Operation, bF as OutboxRow, bG as PLUGIN_API_VERSION, bH as PasswordEmail, bI as PasswordEmailArgs, bJ as PasswordEmailFn, bK as PasswordLinkOptions, bL as PayloadTooLargeError, bM as Plugin, bN as PluginInfo, bO as PluginTypes, bP as PreviewTarget, bQ as PreviewURL, bR as QueryError, bS as ROLE_OPERATIONS, bT as RawDocument, bU as ReadOptions, bV as RelationshipField, bW as RequestContext, R as ResolvedConfig, bX as RichTextBlock, bY as RichTextBlocks, bZ as RichTextDocument, b_ as RichTextField, b$ as Role, c0 as RoleOperation, c1 as RolePermissions, c2 as Roles, c3 as RoutesConfig, c4 as ScheduledPublish, c5 as SchemaError, c6 as SchemaMode, c7 as SearchAdapter, c8 as SearchEntry, c9 as SearchHits, ca as SearchOptions, cb as SearchQuery, cc as SearchResults, cd as SearchSetting, ce as SelectField, cf as SelectOption, cg as Session, ch as SidebarPanel, ci as SignupArgs, cj as SignupResult, ck as SingleSignOn, cl as SlugField, cm as SlugOf, cn as SsoOutcome, co as SsoProviderRef, cp as StorageAdapter, cq as StoredFile, cr as TRIGRAM_LIKE_MIN, cs as TelemetryConfig, ct as TextField, cu as TextareaField, cv as TooManyRequestsError, cw as TypedPlugin, cx as UiField, cy as UnauthorizedError, U as UncountedDocs, cz as UpdateInput, cA as UpdateOptions, cB as UploadConfig, cC as UploadField, cD as UploadFromURLConfig, cE as UserIdentity, cF as ValidationError, cG as Version, cH as VersionSummary, cI as VersionsConfig, cJ as WEBHOOK_EVENTS, cK as WebhookConfig, cL as WebhookEvent, W as Where, cM as WhereOperators, cN as anyone, cO as consoleEmail, cP as consoleLogger, cQ as createEasyCMS, cR as defineConfig, cS as defineFieldType, cT as definePlugin, cU as diskStorage, cV as hasRows, cW as isAdmin, cX as isHasMany, cY as isPolymorphic, cZ as isSignedIn, c_ as isStaff, c$ as isSystemAdmin, d0 as jsonLogger, d1 as memorySearch, d2 as mimeAllowedBy, d3 as polymorphicValue, d4 as relationTargets, d5 as rowFields, d6 as silentLogger, d7 as uniqueWithinOf } from './config-BUySbadL.js';
3
+ export { A as ADMIN_API_VERSION, a as AdminCollection, b as AdminComponentRef, c as AdminElementProps, d as AdminField, e as AdminGlobal, f as AdminLayoutNode, g as AdminNavGroup, h as AdminNavItem, i as AdminNavNode, j as AdminPageRef, k as AdminPageRoute, l as AdminSchema, m as AdminWidgetRef, S as SetFieldDetail, w as warnDeprecated } from './plugin-DmTHvlFA.js';
4
+ export { A as AdminBackup, a as AdminBackups, b as ApiHandlerOptions, B as BackupState, L as LoadConfigOptions, R as RestHandler, c as RestHandlerOptions, d as createApiHandler, e as createRestHandler, l as loadConfig, r as resolveConfig, s as sharedEasyCMS, f as slugify } from './handler-rhJ8-GMQ.js';
5
5
  export { FieldCondition, matchesCondition } from './conditions.js';
6
6
 
7
7
  type DeliveryKind = 'webhook' | 'email';
package/dist/index.js CHANGED
@@ -28,7 +28,7 @@ import {
28
28
  silentLogger,
29
29
  slugify,
30
30
  verifyWebhook
31
- } from "./chunk-JTBPGZMF.js";
31
+ } from "./chunk-ZA5KIRYX.js";
32
32
  import {
33
33
  matchesCondition
34
34
  } from "./chunk-U266LV4M.js";
@@ -1,6 +1,6 @@
1
1
  import { Config, Database, EasyCMS, NavGroup, CollectionConfig, ID, RawDocument, Field, ResolvedConfig, ConfigIssue } from './index.js';
2
- export { d7 as API_KEYS, d8 as API_KEY_GLOBAL_OPERATIONS, d9 as API_KEY_OPERATIONS, da as DEFAULT_MAX_VERSIONS, db as DEFAULT_PASSWORD_EMAILS, dc as FIELD_TYPE_BASES, dd as FOLDER_LEVELS, de as MediaFolders, df as SSO_COOKIE, dg as Secrets, cq as TRIGRAM_LIKE_MIN, dh as codeOfStatus, cU as hasRows, cW as isHasMany, di as isJsonLogger, cX as isPolymorphic, dj as keyAllows, dk as logFormat, d1 as mimeAllowedBy, d2 as polymorphicValue, d3 as relationTargets, d4 as rowFields, dl as secretsOf, d6 as uniqueWithinOf } from './config-DGATdBdP.js';
3
- export { C as CONFIG_FILE_NAMES, g as CSRF_COOKIE, h as CSRF_HEADER, D as DEFAULT_ADMIN_PATH, i as DEFAULT_API_PATH, j as DEFAULT_MAX_FILE_SIZE, k as DEFAULT_TOKEN_EXPIRATION, m as applyDefaults, n as applyPlugins, o as createRootEndpointHandler, p as decryptBackup, q as fillMissing, t as findConfigFile, u as forwardedClientIp, v as generateSlugs, w as importConfig, x as isEmail, y as mergeForUpdate, z as parseId, E as platformClientIp, F as readCookie, G as validateFields, H as writeBackupFile } from './handler-DsA868nd.js';
2
+ export { d8 as API_KEYS, d9 as API_KEY_GLOBAL_OPERATIONS, da as API_KEY_OPERATIONS, db as DEFAULT_MAX_VERSIONS, dc as DEFAULT_PASSWORD_EMAILS, dd as FIELD_TYPE_BASES, de as FOLDER_LEVELS, df as MediaFolders, dg as SSO_COOKIE, dh as Secrets, cr as TRIGRAM_LIKE_MIN, di as codeOfStatus, cV as hasRows, cX as isHasMany, dj as isJsonLogger, cY as isPolymorphic, dk as keyAllows, dl as logFormat, d2 as mimeAllowedBy, d3 as polymorphicValue, d4 as relationTargets, d5 as rowFields, dm as secretsOf, d7 as uniqueWithinOf } from './config-BUySbadL.js';
3
+ export { C as CONFIG_FILE_NAMES, g as CSRF_COOKIE, h as CSRF_HEADER, D as DEFAULT_ADMIN_PATH, i as DEFAULT_API_PATH, j as DEFAULT_MAX_FILE_SIZE, k as DEFAULT_TOKEN_EXPIRATION, m as applyDefaults, n as applyPlugins, o as createRootEndpointHandler, p as decryptBackup, q as fillMissing, t as findConfigFile, u as forwardedClientIp, v as generateSlugs, w as importConfig, x as isEmail, y as mergeForUpdate, z as parseId, E as platformClientIp, F as readCookie, G as validateFields, H as writeBackupFile } from './handler-rhJ8-GMQ.js';
4
4
  export { conditionIssues } from './conditions.js';
5
5
 
6
6
  /** The session cookie the REST API sets at login. */
package/dist/internal.js CHANGED
@@ -58,7 +58,7 @@ import {
58
58
  verifyPassword,
59
59
  verifyTurnstile,
60
60
  writeBackupFile
61
- } from "./chunk-JTBPGZMF.js";
61
+ } from "./chunk-ZA5KIRYX.js";
62
62
  import {
63
63
  conditionIssues
64
64
  } from "./chunk-U266LV4M.js";
@@ -1,4 +1,4 @@
1
- import { bl as Label, F as Field, I as ID, t as AdminLocale, H as AdminSwitcher, cn as SsoProviderRef } from './config-DGATdBdP.js';
1
+ import { bm as Label, F as Field, I as ID, as as CollectionView, t as AdminLocale, H as AdminSwitcher, co as SsoProviderRef } from './config-BUySbadL.js';
2
2
  import { FieldCondition } from './conditions.js';
3
3
 
4
4
  /** A Web Component from an admin module, with its `props` (plain JSON). */
@@ -165,6 +165,10 @@ interface AdminCollection {
165
165
  tree?: string;
166
166
  /** The list's default order (`admin.list.sort`). */
167
167
  defaultSort?: string;
168
+ /** Views from the config (`admin.views`), before the ones users save (#87). */
169
+ views?: CollectionView[];
170
+ /** No Export CSV (`admin.export: false`, #89). */
171
+ noExport?: boolean;
168
172
  /** The list's Calendar mode (`admin.calendar`): the fields placing and colouring documents. */
169
173
  calendar?: {
170
174
  start: string;
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- export { j as ADMIN_ICONS, p as AdminComponent, s as AdminIcon, a6 as AuthUser, ak as CliCommand, al as CollectionAccess, ao as CollectionConfig, C as Config, as as ConfigError, az as DashboardWidget, aJ as EasyCMSError, aN as Endpoint, aO as EndpointRequest, aP as ErrorCode, F as Field, aR as FieldAccess, e as FieldError, aW as FieldTypeBase, aX as FieldTypeDefinition, aY as FieldTypeValidateContext, b8 as ForbiddenError, ba as GlobalConfig, I as ID, bi as JobConfig, bl as Label, by as NavGroup, bz as NotFoundError, bB as OnRequest, bC as OnRequestArgs, bF as PLUGIN_API_VERSION, bK as PayloadTooLargeError, bL as Plugin, bM as PluginInfo, bN as PluginTypes, bQ as QueryError, bV as RequestContext, cu as TooManyRequestsError, cv as TypedPlugin, cx as UnauthorizedError, cE as ValidationError, W as Where, cR as defineFieldType, cS as definePlugin } from './config-DGATdBdP.js';
2
- export { A as ADMIN_API_VERSION, c as AdminElementProps, k as AdminPageRoute, S as SetFieldDetail, w as warnDeprecated } from './plugin-B6lp3qVf.js';
1
+ export { j as ADMIN_ICONS, p as AdminComponent, s as AdminIcon, a6 as AuthUser, ak as CliCommand, al as CollectionAccess, ao as CollectionConfig, C as Config, at as ConfigError, aA as DashboardWidget, aK as EasyCMSError, aO as Endpoint, aP as EndpointRequest, aQ as ErrorCode, F as Field, aS as FieldAccess, e as FieldError, aX as FieldTypeBase, aY as FieldTypeDefinition, aZ as FieldTypeValidateContext, b9 as ForbiddenError, bb as GlobalConfig, I as ID, bj as JobConfig, bm as Label, bz as NavGroup, bA as NotFoundError, bC as OnRequest, bD as OnRequestArgs, bG as PLUGIN_API_VERSION, bL as PayloadTooLargeError, bM as Plugin, bN as PluginInfo, bO as PluginTypes, bR as QueryError, bW as RequestContext, cv as TooManyRequestsError, cw as TypedPlugin, cy as UnauthorizedError, cF as ValidationError, W as Where, cS as defineFieldType, cT as definePlugin } from './config-BUySbadL.js';
2
+ export { A as ADMIN_API_VERSION, c as AdminElementProps, k as AdminPageRoute, S as SetFieldDetail, w as warnDeprecated } from './plugin-DmTHvlFA.js';
3
3
  import './conditions.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@easy-cms/core",
3
- "version": "1.30.0",
3
+ "version": "1.31.0",
4
4
  "description": "Embedded, code-first headless CMS for Nuxt and Next.js",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -70,7 +70,7 @@
70
70
  }
71
71
  },
72
72
  "devDependencies": {
73
- "@opentelemetry/api": "~1.9.1",
73
+ "@opentelemetry/api": "~1.10.0",
74
74
  "sharp": "^0.35.5"
75
75
  },
76
76
  "scripts": {