nextjs-cms 0.5.73 → 0.5.75

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.
@@ -233,14 +233,14 @@ declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
233
233
  name: string;
234
234
  title: string;
235
235
  };
236
- items: {
236
+ items: (Record<string, any> | {
237
237
  id: string | number;
238
238
  headingTitle: string;
239
239
  coverPhoto: string | null;
240
240
  createdAt: string;
241
241
  createdBy: string;
242
242
  permission: number;
243
- }[];
243
+ })[];
244
244
  totalCount: any;
245
245
  error?: undefined;
246
246
  };
@@ -270,14 +270,14 @@ export declare const getBrowsePage: (session: Session, sectionName: string, page
270
270
  name: string;
271
271
  title: string;
272
272
  };
273
- items: {
273
+ items: (Record<string, any> | {
274
274
  id: string | number;
275
275
  headingTitle: string;
276
276
  coverPhoto: string | null;
277
277
  createdAt: string;
278
278
  createdBy: string;
279
279
  permission: number;
280
- }[];
280
+ })[];
281
281
  totalCount: any;
282
282
  error?: undefined;
283
283
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"serverActions.d.ts","sourceRoot":"","sources":["../../../src/api/lib/serverActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serverActions.d.ts","sourceRoot":"","sources":["../../../src/api/lib/serverActions.ts"],"names":[],"mappings":"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"}
@@ -823,6 +823,27 @@ export const getBrowsePage = async (session, sectionName, page = 1, q) => {
823
823
  title: section.title.section,
824
824
  },
825
825
  items: rows.map((row) => {
826
+ // Custom browse page implementation: if browse.fields is configured,
827
+ // return the specified fields plus default fields (id, headingTitle, coverPhoto, createdAt, createdBy, permission).
828
+ // NOTE: This is for custom browse page implementations only.
829
+ // The default CMS browse page component uses the fallback fields below.
830
+ if (section.browse?.fields && section.browse.fields.length > 0) {
831
+ const item = {
832
+ // Always include default fields
833
+ id: row[section.db.identifier.name],
834
+ headingTitle: row[section.headingField.name],
835
+ coverPhoto: section.coverPhotoField ? row[section.coverPhotoField?.name] : null,
836
+ createdAt: row['created_at'],
837
+ createdBy: row['created_by'],
838
+ permission: row.permission,
839
+ };
840
+ // Add configured browse fields
841
+ for (const field of section.browse.fields) {
842
+ item[field.name] = row[field.name] ?? null;
843
+ }
844
+ return item;
845
+ }
846
+ // Default browse page fields (used by the standard CMS browse page)
826
847
  return {
827
848
  id: row[section.db.identifier.name],
828
849
  headingTitle: row[section.headingField.name],
@@ -224,14 +224,14 @@ export declare const appRouter: import("@trpc/server").TRPCBuiltRouter<{
224
224
  name: string;
225
225
  title: string;
226
226
  };
227
- items: {
227
+ items: (Record<string, any> | {
228
228
  id: string | number;
229
229
  headingTitle: string;
230
230
  coverPhoto: string | null;
231
231
  createdAt: string;
232
232
  createdBy: string;
233
233
  permission: number;
234
- }[];
234
+ })[];
235
235
  totalCount: any;
236
236
  error?: undefined;
237
237
  };
@@ -1002,14 +1002,14 @@ export declare const createCaller: import("@trpc/server").TRPCRouterCaller<{
1002
1002
  name: string;
1003
1003
  title: string;
1004
1004
  };
1005
- items: {
1005
+ items: (Record<string, any> | {
1006
1006
  id: string | number;
1007
1007
  headingTitle: string;
1008
1008
  coverPhoto: string | null;
1009
1009
  createdAt: string;
1010
1010
  createdBy: string;
1011
1011
  permission: number;
1012
- }[];
1012
+ })[];
1013
1013
  totalCount: any;
1014
1014
  error?: undefined;
1015
1015
  };
@@ -40,14 +40,14 @@ export declare const hasItemsSectionRouter: import("@trpc/server").TRPCBuiltRout
40
40
  name: string;
41
41
  title: string;
42
42
  };
43
- items: {
43
+ items: (Record<string, any> | {
44
44
  id: string | number;
45
45
  headingTitle: string;
46
46
  coverPhoto: string | null;
47
47
  createdAt: string;
48
48
  createdBy: string;
49
49
  permission: number;
50
- }[];
50
+ })[];
51
51
  totalCount: any;
52
52
  error?: undefined;
53
53
  };
@@ -4,6 +4,7 @@ declare const cmsConfigSchema: z.ZodObject<{
4
4
  title: z.ZodOptional<z.ZodString>;
5
5
  defaultTheme: z.ZodOptional<z.ZodString>;
6
6
  logo: z.ZodOptional<z.ZodString>;
7
+ logoText: z.ZodOptional<z.ZodString>;
7
8
  }, z.core.$strip>>;
8
9
  debug: z.ZodOptional<z.ZodBoolean>;
9
10
  sections: z.ZodOptional<z.ZodObject<{
@@ -61,6 +62,7 @@ export interface ComputedCMSConfig {
61
62
  title: string;
62
63
  defaultTheme: string;
63
64
  logo: string;
65
+ logoText: string;
64
66
  };
65
67
  debug: boolean;
66
68
  sections: {
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiKnB,CAAA;AAGF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAGD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE;QACA,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;KACf,CAAA;IACD,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,QAAQ,EAAE;YACN,oBAAoB,EAAE,OAAO,CAAA;SAChC,CAAA;KACJ,CAAA;IACD,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAA;YACZ,iBAAiB,EAAE,OAAO,CAAA;SAC7B,CAAA;QACD,MAAM,EAAE;YACJ,SAAS,EAAE;gBACP,KAAK,EAAE,MAAM,CAAA;gBACb,MAAM,EAAE,MAAM,CAAA;gBACd,IAAI,EAAE,OAAO,CAAA;gBACb,OAAO,EAAE,MAAM,CAAA;aAClB,CAAA;YACD,SAAS,EAAE,OAAO,CAAA;SACrB,CAAA;KACJ,CAAA;IACD,gBAAgB,EAAE;QACd,OAAO,EAAE;YACL,OAAO,EAAE,OAAO,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;gBAChD,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;aACpD,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC/B;AAsID;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAazE"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../../src/core/config/config-loader.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAIxB,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqKnB,CAAA;AAGF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAEvD,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACpC;AAGD,MAAM,WAAW,iBAAiB;IAC9B,EAAE,EAAE;QACA,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;QACpB,IAAI,EAAE,MAAM,CAAA;QACZ,QAAQ,EAAE,MAAM,CAAA;KACnB,CAAA;IACD,KAAK,EAAE,OAAO,CAAA;IACd,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,MAAM,EAAE,OAAO,CAAA;QACf,QAAQ,EAAE;YACN,oBAAoB,EAAE,OAAO,CAAA;SAChC,CAAA;KACJ,CAAA;IACD,KAAK,EAAE;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,MAAM,CAAA;YACZ,iBAAiB,EAAE,OAAO,CAAA;SAC7B,CAAA;QACD,MAAM,EAAE;YACJ,SAAS,EAAE;gBACP,KAAK,EAAE,MAAM,CAAA;gBACb,MAAM,EAAE,MAAM,CAAA;gBACd,IAAI,EAAE,OAAO,CAAA;gBACb,OAAO,EAAE,MAAM,CAAA;aAClB,CAAA;YACD,SAAS,EAAE,OAAO,CAAA;SACrB,CAAA;KACJ,CAAA;IACD,gBAAgB,EAAE;QACd,OAAO,EAAE;YACL,OAAO,EAAE,OAAO,CAAA;YAChB,MAAM,EAAE,MAAM,CAAA;YACd,QAAQ,EAAE,MAAM,CAAA;YAChB,MAAM,EAAE;gBACJ,MAAM,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;gBAChD,OAAO,EAAE,WAAW,GAAG,WAAW,GAAG,YAAY,CAAA;aACpD,CAAA;SACJ,CAAA;KACJ,CAAA;IACD,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAC/B;AAwID;;;;;;GAMG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAazE"}
@@ -24,6 +24,10 @@ const cmsConfigSchema = z.object({
24
24
  * Path to the logo image (relative to public folder)
25
25
  */
26
26
  logo: z.string().optional(),
27
+ /**
28
+ * Text to display next to the logo
29
+ */
30
+ logoText: z.string().optional(),
27
31
  })
28
32
  .optional(),
29
33
  /**
@@ -166,6 +170,7 @@ function mergeConfig(defaults, userConfig) {
166
170
  title: userConfig.ui?.title ?? defaults.ui.title,
167
171
  defaultTheme: userConfig.ui?.defaultTheme ?? defaults.ui.defaultTheme,
168
172
  logo: userConfig.ui?.logo ?? defaults.ui.logo,
173
+ logoText: userConfig.ui?.logoText ?? defaults.ui.logoText,
169
174
  },
170
175
  debug: userConfig.debug ?? defaults.debug,
171
176
  sections: {
@@ -213,6 +218,7 @@ const defaultConfig = {
213
218
  title: 'nextjs-cms',
214
219
  defaultTheme: 'dark',
215
220
  logo: '/nextjscms.webp',
221
+ logoText: 'nextjs-cms',
216
222
  },
217
223
  debug: false,
218
224
  sections: {
@@ -110,6 +110,9 @@ declare const configSchema: z.ZodObject<{
110
110
  search: z.ZodOptional<z.ZodObject<{
111
111
  searchFields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
112
112
  }, z.core.$strict>>;
113
+ browse: z.ZodOptional<z.ZodObject<{
114
+ fields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
115
+ }, z.core.$strict>>;
113
116
  coverPhotoField: z.ZodOptional<z.ZodCustom<{
114
117
  type: "photo";
115
118
  build: z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.ZodCustom<import("../index.js").PhotoField, import("../index.js").PhotoField>>;
@@ -185,6 +188,13 @@ export declare class HasItemsSection extends Section<Config> {
185
188
  search?: {
186
189
  readonly searchFields: readonly FieldConfig[];
187
190
  } | undefined;
191
+ /**
192
+ * Browse configuration - for custom browse page implementations only.
193
+ * The default CMS browse page ignores this and uses its standard fields.
194
+ */
195
+ browse?: {
196
+ readonly fields: readonly FieldConfig[];
197
+ } | undefined;
188
198
  coverPhotoField?: PhotoFieldConfigType;
189
199
  generateQR?: boolean | undefined;
190
200
  constructor(config: BaseSectionOptions<Config>);
@@ -294,6 +304,9 @@ declare const optionsSchema: z.ZodObject<{
294
304
  search: z.ZodOptional<z.ZodObject<{
295
305
  searchFields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
296
306
  }, z.core.$strict>>;
307
+ browse: z.ZodOptional<z.ZodObject<{
308
+ fields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
309
+ }, z.core.$strict>>;
297
310
  coverPhotoField: z.ZodOptional<z.ZodCustom<{
298
311
  type: "photo";
299
312
  build: z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.ZodCustom<import("../index.js").PhotoField, import("../index.js").PhotoField>>;
@@ -509,6 +522,9 @@ declare const hasItemsSectionConfigSchema: z.ZodObject<{
509
522
  search: z.ZodOptional<z.ZodObject<{
510
523
  searchFields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
511
524
  }, z.core.$strict>>;
525
+ browse: z.ZodOptional<z.ZodObject<{
526
+ fields: z.ZodReadonly<z.ZodArray<z.ZodCustom<FieldConfig, FieldConfig>>>;
527
+ }, z.core.$strict>>;
512
528
  coverPhotoField: z.ZodOptional<z.ZodCustom<{
513
529
  type: "photo";
514
530
  build: z.core.$InferOuterFunctionType<z.core.$ZodFunctionArgs, z.ZodCustom<import("../index.js").PhotoField, import("../index.js").PhotoField>>;
@@ -1 +1 @@
1
- {"version":3,"file":"hasItems.d.ts","sourceRoot":"","sources":["../../../src/core/sections/hasItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,OAAO,EAA8E,MAAM,cAAc,CAAA;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0BhB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,eAAgB,SAAQ,OAAO,CAAC,MAAM,CAAC;IAChD,gBAAyB,CAAC,UAAU,CAAC,qBAAoB;IACzD,SAAkB,IAAI,eAAc;IACpC,YAAY,EAAE,eAAe,GAAG,qBAAqB,CAAA;IAC5C,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,wBAAwB,EAAE,OAAO,CAAA;IACjC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IACtE,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;gBAGpB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;CAUjD;AAED,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGjB,CAAA;AAOF,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ/B,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAElE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAmEtF"}
1
+ {"version":3,"file":"hasItems.d.ts","sourceRoot":"","sources":["../../../src/core/sections/hasItems.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACtG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,EAAE,OAAO,EAA8E,MAAM,cAAc,CAAA;AAClH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAGrD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAyChB,CAAA;AAEF,KAAK,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAA;AAE1C,qBAAa,eAAgB,SAAQ,OAAO,CAAC,MAAM,CAAC;IAChD,gBAAyB,CAAC,UAAU,CAAC,qBAAoB;IACzD,SAAkB,IAAI,eAAc;IACpC,YAAY,EAAE,eAAe,GAAG,qBAAqB,CAAA;IAC5C,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IACrE,wBAAwB,EAAE,OAAO,CAAA;IACjC,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,WAAW,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IACtE;;;OAGG;IACH,MAAM,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,WAAW,EAAE,CAAA;KAAE,GAAG,SAAS,CAAA;IAChE,eAAe,CAAC,EAAE,oBAAoB,CAAA;IACtC,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;gBAGpB,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC;CAWjD;AAED,QAAA,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAGjB,CAAA;AAOF,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQ/B,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAElE;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAE/E;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,CAmEtF"}
@@ -24,6 +24,17 @@ const configSchema = z.strictObject({
24
24
  })
25
25
  .optional()
26
26
  .describe('Search configuration'),
27
+ browse: z
28
+ .strictObject({
29
+ fields: z
30
+ .array(z.custom())
31
+ .readonly()
32
+ .describe('Custom browse fields - only use when creating a custom browse page implementation. ' +
33
+ 'Fields must be configs - will be resolved during instantiation. '),
34
+ })
35
+ .optional()
36
+ .describe('Browse configuration - for custom browse page implementations only. ' +
37
+ 'The default CMS browse page ignores this and uses its standard fields.'),
27
38
  coverPhotoField: z
28
39
  .custom()
29
40
  .optional()
@@ -37,6 +48,11 @@ export class HasItemsSection extends Section {
37
48
  title;
38
49
  requirePublishPermission;
39
50
  search;
51
+ /**
52
+ * Browse configuration - for custom browse page implementations only.
53
+ * The default CMS browse page ignores this and uses its standard fields.
54
+ */
55
+ browse;
40
56
  coverPhotoField;
41
57
  generateQR;
42
58
  // override variants?: Variant[] | undefined
@@ -46,6 +62,7 @@ export class HasItemsSection extends Section {
46
62
  this.title = config.title;
47
63
  this.requirePublishPermission = config.requirePublishPermission ?? false;
48
64
  this.search = config.search;
65
+ this.browse = config.browse;
49
66
  this.coverPhotoField = config.coverPhotoField;
50
67
  this.generateQR = config.generateQR;
51
68
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextjs-cms",
3
- "version": "0.5.73",
3
+ "version": "0.5.75",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "type": "module",