@lupinum/ginko 0.6.3 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @lupinum/ginko
2
2
 
3
+ ## 0.6.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#36](https://github.com/lupinum-dev/ginko/pull/36) [`02628b2`](https://github.com/lupinum-dev/ginko/commit/02628b2b2329bc769d9dfd0c358837afdb4d2af6) Thanks [@Mat4m0](https://github.com/Mat4m0)! - Add `seo.noindex` to the site config: the pages it names leave the sitemap and answer with `X-Robots-Tag: noindex`.
8
+ - Updated dependencies []:
9
+ - @lupinum/ginko-i18n@0.6.4
10
+
3
11
  ## 0.6.3
4
12
 
5
13
  ### Patch Changes
package/dist/basics.d.mts CHANGED
@@ -1,11 +1,11 @@
1
- import { B as BasicsOptions, H as HoursContext } from './shared/ginko.Dz3fNfap.mjs';
2
- export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.Dz3fNfap.mjs';
1
+ import { B as BasicsOptions, H as HoursContext } from './shared/ginko.ONWi7rUd.mjs';
2
+ export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.ONWi7rUd.mjs';
3
3
  import { SingleBrick, Locale, CollectionBrick } from './index.mjs';
4
4
  import { TextField, LongTextField, SlugField, ChoiceField, DateField, MarkdownField, ImageField, RefField, ListField, FileField } from './internal.mjs';
5
5
  export { s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, u as StoredHolidays, z as calendarOfCountry } from './shared/ginko.DrkUeYFP.mjs';
6
6
  import { OrganizationLdInput } from './internal.mjs';
7
7
  import { RouteTemplate } from './index.mjs';
8
- export { w as withoutFiles } from './shared/ginko.DkIc0ZZk.mjs';
8
+ export { w as withoutFiles } from './shared/ginko._jCtw78j.mjs';
9
9
  import '@lupinum/ginko-i18n/core';
10
10
  import 'comark';
11
11
  import './shared/ginko.6cI8KXZP.mjs';
@@ -98,7 +98,7 @@ interface LegalOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
98
98
  route?: R;
99
99
  }
100
100
  declare function legal<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: LegalOptions<R>): CollectionBrick<{
101
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
101
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
102
102
  default?: (string | Partial<Record<string, string>>) | undefined;
103
103
  };
104
104
  readonly description: LongTextField & {
@@ -128,7 +128,7 @@ declare function legal<const R extends Record<Locale, RouteTemplate> | undefined
128
128
  readonly label: Record<string, string>;
129
129
  }];
130
130
  }, "options">;
131
- readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
131
+ readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
132
132
  default?: string | undefined;
133
133
  };
134
134
  readonly body: MarkdownField & {
@@ -213,13 +213,13 @@ interface PostsOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
213
213
  * Files: `content/posts/<name>[.<locale>].md`.
214
214
  */
215
215
  declare function posts<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: PostsOptions<R>): CollectionBrick<{
216
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
216
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
217
217
  default?: (string | Partial<Record<string, string>>) | undefined;
218
218
  };
219
219
  readonly description: LongTextField & {
220
220
  readonly optional: true;
221
221
  };
222
- readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
222
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
223
223
  default?: string | undefined;
224
224
  };
225
225
  readonly authors: RefField & {
@@ -254,7 +254,7 @@ declare function posts<const R extends Record<Locale, RouteTemplate> | undefined
254
254
  }, R>;
255
255
  /** The people who write posts; a post names them in `authors`. Files: `content/authors/<name>[.<locale>].yml`. */
256
256
  declare function authors(o?: BasicsOptions): CollectionBrick<{
257
- readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
257
+ readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
258
258
  default?: (string | Partial<Record<string, string>>) | undefined;
259
259
  };
260
260
  readonly role: TextField & {
@@ -282,7 +282,7 @@ declare function changelog(o?: ChangelogOptions): CollectionBrick<{
282
282
  readonly max: 40;
283
283
  readonly translate: false;
284
284
  };
285
- readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
285
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
286
286
  default?: string | undefined;
287
287
  };
288
288
  readonly body: MarkdownField & {
@@ -322,16 +322,16 @@ interface JobsOptions<R extends Record<Locale, RouteTemplate> | undefined> exten
322
322
  route?: R;
323
323
  }
324
324
  declare function jobs<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: JobsOptions<R>): CollectionBrick<{
325
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
325
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
326
326
  default?: (string | Partial<Record<string, string>>) | undefined;
327
327
  };
328
- readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
328
+ readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "retired" | "default"> & {
329
329
  default?: (string | Partial<Record<string, string>>) | undefined;
330
330
  };
331
331
  readonly slug: SlugField & {
332
332
  readonly from: "title";
333
333
  };
334
- readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
334
+ readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
335
335
  default?: (string | Partial<Record<string, string>>) | undefined;
336
336
  };
337
337
  readonly employmentType: ChoiceField<"fullTime" | "partTime" | "freelance" | "internship" | "apprenticeship"> & Omit<{
@@ -409,10 +409,10 @@ interface JobJsonLdInput {
409
409
  declare function jobJsonLd(j: JobJsonLdInput): Record<string, unknown>;
410
410
 
411
411
  declare function faq(o?: BasicsOptions): CollectionBrick<{
412
- readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
412
+ readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
413
413
  default?: (string | Partial<Record<string, string>>) | undefined;
414
414
  };
415
- readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
415
+ readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "retired" | "default"> & {
416
416
  default?: (string | Partial<Record<string, string>>) | undefined;
417
417
  };
418
418
  }, undefined>;
@@ -423,13 +423,13 @@ declare function faqJsonLd(items: readonly {
423
423
  }[]): Record<string, unknown>;
424
424
 
425
425
  declare function downloads(o?: BasicsOptions): CollectionBrick<{
426
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
426
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
427
427
  default?: (string | Partial<Record<string, string>>) | undefined;
428
428
  };
429
429
  readonly summary: LongTextField & {
430
430
  readonly optional: true;
431
431
  };
432
- readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
432
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
433
433
  default?: string | undefined;
434
434
  };
435
435
  readonly file: FileField & {
package/dist/basics.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import { B as BasicsOptions, H as HoursContext } from './shared/ginko.HFGxAlOn.js';
2
- export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.HFGxAlOn.js';
1
+ import { B as BasicsOptions, H as HoursContext } from './shared/ginko.ysvhlZqN.js';
2
+ export { D as DayHours, a as DayRule, E as EventJsonLdInput, b as EventsOptions, c as Exception, d as HolidayClosure, e as HolidayNames, f as HolidaySetting, g as HourPlan, h as HoursData, i as HoursLine, j as HoursLineContext, k as HoursOptions, l as HoursSource, S as SessionJsonLdInput, m as SessionStatus, n as Span, T as Times, o as TodayState, W as Weekday, p as austrianHolidays, q as calendarIn, r as calendarOf, s as closedOnClosure, t as eventJsonLd, u as events, v as germanHolidays, w as holidayOn, x as hourPlans, y as hours, z as hoursLine, A as hoursOn, C as notices, F as noticesOn, G as offerJsonLd, I as planOn, J as sessions, K as sessionsInOrder, L as singaporeHolidays, M as spansOf, N as spansText, O as timesOf, P as todayState, Q as upcomingClosures, R as upcomingHolidayClosures, U as upcomingPlans, V as weekFor, X as weekOf, Y as weekdayOf } from './shared/ginko.ysvhlZqN.js';
3
3
  import { SingleBrick, Locale, CollectionBrick } from './index.js';
4
4
  import { TextField, LongTextField, SlugField, ChoiceField, DateField, MarkdownField, ImageField, RefField, ListField, FileField } from './internal.js';
5
5
  export { s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, u as StoredHolidays, z as calendarOfCountry } from './shared/ginko.DrkUeYFP.js';
6
6
  import { OrganizationLdInput } from './internal.js';
7
7
  import { RouteTemplate } from './index.js';
8
- export { w as withoutFiles } from './shared/ginko.CLzVaDi4.js';
8
+ export { w as withoutFiles } from './shared/ginko.aO1CUf2O.js';
9
9
  import '@lupinum/ginko-i18n/core';
10
10
  import 'comark';
11
11
  import './shared/ginko.B_pACpVU.js';
@@ -98,7 +98,7 @@ interface LegalOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
98
98
  route?: R;
99
99
  }
100
100
  declare function legal<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: LegalOptions<R>): CollectionBrick<{
101
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
101
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
102
102
  default?: (string | Partial<Record<string, string>>) | undefined;
103
103
  };
104
104
  readonly description: LongTextField & {
@@ -128,7 +128,7 @@ declare function legal<const R extends Record<Locale, RouteTemplate> | undefined
128
128
  readonly label: Record<string, string>;
129
129
  }];
130
130
  }, "options">;
131
- readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
131
+ readonly updatedAt: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
132
132
  default?: string | undefined;
133
133
  };
134
134
  readonly body: MarkdownField & {
@@ -213,13 +213,13 @@ interface PostsOptions<R extends Record<Locale, RouteTemplate> | undefined> exte
213
213
  * Files: `content/posts/<name>[.<locale>].md`.
214
214
  */
215
215
  declare function posts<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: PostsOptions<R>): CollectionBrick<{
216
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
216
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
217
217
  default?: (string | Partial<Record<string, string>>) | undefined;
218
218
  };
219
219
  readonly description: LongTextField & {
220
220
  readonly optional: true;
221
221
  };
222
- readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
222
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
223
223
  default?: string | undefined;
224
224
  };
225
225
  readonly authors: RefField & {
@@ -254,7 +254,7 @@ declare function posts<const R extends Record<Locale, RouteTemplate> | undefined
254
254
  }, R>;
255
255
  /** The people who write posts; a post names them in `authors`. Files: `content/authors/<name>[.<locale>].yml`. */
256
256
  declare function authors(o?: BasicsOptions): CollectionBrick<{
257
- readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
257
+ readonly name: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
258
258
  default?: (string | Partial<Record<string, string>>) | undefined;
259
259
  };
260
260
  readonly role: TextField & {
@@ -282,7 +282,7 @@ declare function changelog(o?: ChangelogOptions): CollectionBrick<{
282
282
  readonly max: 40;
283
283
  readonly translate: false;
284
284
  };
285
- readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
285
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
286
286
  default?: string | undefined;
287
287
  };
288
288
  readonly body: MarkdownField & {
@@ -322,16 +322,16 @@ interface JobsOptions<R extends Record<Locale, RouteTemplate> | undefined> exten
322
322
  route?: R;
323
323
  }
324
324
  declare function jobs<const R extends Record<Locale, RouteTemplate> | undefined = undefined>(o?: JobsOptions<R>): CollectionBrick<{
325
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
325
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
326
326
  default?: (string | Partial<Record<string, string>>) | undefined;
327
327
  };
328
- readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
328
+ readonly description: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "retired" | "default"> & {
329
329
  default?: (string | Partial<Record<string, string>>) | undefined;
330
330
  };
331
331
  readonly slug: SlugField & {
332
332
  readonly from: "title";
333
333
  };
334
- readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
334
+ readonly location: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
335
335
  default?: (string | Partial<Record<string, string>>) | undefined;
336
336
  };
337
337
  readonly employmentType: ChoiceField<"fullTime" | "partTime" | "freelance" | "internship" | "apprenticeship"> & Omit<{
@@ -409,10 +409,10 @@ interface JobJsonLdInput {
409
409
  declare function jobJsonLd(j: JobJsonLdInput): Record<string, unknown>;
410
410
 
411
411
  declare function faq(o?: BasicsOptions): CollectionBrick<{
412
- readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
412
+ readonly question: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
413
413
  default?: (string | Partial<Record<string, string>>) | undefined;
414
414
  };
415
- readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "default" | "retired"> & {
415
+ readonly answer: LongTextField & Omit<LongTextField, "type" | "label" | "pos" | "retired" | "default"> & {
416
416
  default?: (string | Partial<Record<string, string>>) | undefined;
417
417
  };
418
418
  }, undefined>;
@@ -423,13 +423,13 @@ declare function faqJsonLd(items: readonly {
423
423
  }[]): Record<string, unknown>;
424
424
 
425
425
  declare function downloads(o?: BasicsOptions): CollectionBrick<{
426
- readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "default" | "retired"> & {
426
+ readonly title: TextField & Omit<TextField, "type" | "label" | "pos" | "retired" | "default"> & {
427
427
  default?: (string | Partial<Record<string, string>>) | undefined;
428
428
  };
429
429
  readonly summary: LongTextField & {
430
430
  readonly optional: true;
431
431
  };
432
- readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "default" | "retired"> & {
432
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
433
433
  default?: string | undefined;
434
434
  };
435
435
  readonly file: FileField & {
@@ -2,11 +2,11 @@
2
2
  import { existsSync, realpathSync, readFileSync } from 'node:fs';
3
3
  import { join, dirname, resolve } from 'node:path';
4
4
  import { pathToFileURL, fileURLToPath } from 'node:url';
5
- import { C as CliError, i as isObject, d as defaultsFor, f as fieldsChanged, r as releaseData, S as SITE_BUDGET, e as entryBytes, a as fitsBudget, b as diffSchema, l as largestEntryBytes, c as largestFieldBytes, p as parseExport, g as parseReleaseState, h as pathOf, j as defaultDir } from '../shared/ginko.t-gbwzxh.mjs';
5
+ import { C as CliError, i as isObject, d as defaultsFor, f as fieldsChanged, r as releaseData, S as SITE_BUDGET, e as entryBytes, a as fitsBudget, b as diffSchema, l as largestEntryBytes, c as largestFieldBytes, p as parseExport, g as parseReleaseState, h as pathOf, j as defaultDir } from '../shared/ginko.Ds72ycGB.mjs';
6
6
  import { g as siteForContent } from '../shared/ginko.C-oz8wwI.mjs';
7
7
  import { f as fileLinkIssues } from '../shared/ginko.raCzOPYC.mjs';
8
8
  import { F as coreMessage, i as isTranslatable, g as effectiveMax } from '../shared/ginko.BNVC-g9n.mjs';
9
- import { s as serializeSchema, c as checkSite, v as validate, p as platformSchema, a as checkSchema } from '../shared/ginko.B1-DoOea.mjs';
9
+ import { s as serializeSchema, c as checkSite, v as validate, p as platformSchema, a as checkSchema } from '../shared/ginko.uQuitouw.mjs';
10
10
  import { c as calendarOfCountry } from '../shared/ginko.D1PeQ3ds.mjs';
11
11
  import { mkdir, writeFile, rm, readdir } from 'node:fs/promises';
12
12
  import { execFile } from 'node:child_process';
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.DkIc0ZZk.mjs';
1
+ export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko._jCtw78j.mjs';
2
2
  export { B as Brick, d as BrickSource, Q as BrickStatus, Y as ChoiceOption, f as CollectionBrick, e as CollectionStatus, _ as ComponentDef, b as ComponentRegistry, C as Currency, a2 as DataOf, p as Field, F as Fields, a4 as FileValue, a7 as ImageValue, a8 as ItemOf, J as Json, c as Label, L as Locale, ab as MarkdownProfile, ac as MarkdownToc, M as MarkdownTree, ad as MarkdownValue, af as Money, h as SingleBrick, g as SingleStatus, T as Task, al as TocLink, ao as UnknownChoice, V as Visibility, W as WeekInfo, aw as defineComponents, aB as f, aJ as plainText, aM as startOfWeek, aQ as wordsOf } from './shared/ginko.DrkUeYFP.mjs';
3
3
  export { N as NavNode, b as SeoImage, e as breadcrumbJsonLd } from './shared/ginko.o1yIKlgj.mjs';
4
- export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.BaFweQcB.mjs';
4
+ export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.B32fU6_I.mjs';
5
5
  import './shared/ginko.6cI8KXZP.mjs';
6
6
  import '@lupinum/ginko-i18n/core';
7
7
  import 'comark';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.CLzVaDi4.js';
1
+ export { L as LinkConfig, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, S as SiteInput, e as collection, f as defineSite, s as single } from './shared/ginko.aO1CUf2O.js';
2
2
  export { B as Brick, d as BrickSource, Q as BrickStatus, Y as ChoiceOption, f as CollectionBrick, e as CollectionStatus, _ as ComponentDef, b as ComponentRegistry, C as Currency, a2 as DataOf, p as Field, F as Fields, a4 as FileValue, a7 as ImageValue, a8 as ItemOf, J as Json, c as Label, L as Locale, ab as MarkdownProfile, ac as MarkdownToc, M as MarkdownTree, ad as MarkdownValue, af as Money, h as SingleBrick, g as SingleStatus, T as Task, al as TocLink, ao as UnknownChoice, V as Visibility, W as WeekInfo, aw as defineComponents, aB as f, aJ as plainText, aM as startOfWeek, aQ as wordsOf } from './shared/ginko.DrkUeYFP.js';
3
3
  export { N as NavNode, b as SeoImage, e as breadcrumbJsonLd } from './shared/ginko.CjWB8N7f.js';
4
- export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.BiDXgjLy.js';
4
+ export { C as Condition, F as FormatMoneyOptions, Q as Query, f as formatMoney, s as safeHref } from './shared/ginko.CYJj42Uq.js';
5
5
  import './shared/ginko.B_pACpVU.js';
6
6
  import '@lupinum/ginko-i18n/core';
7
7
  import 'comark';
@@ -1,12 +1,12 @@
1
1
  import { C as Currency, L as Locale, c as Label, B as Brick, S as Schema, F as Fields, p as Field, J as Json, P as ParseOptions, E as Issue, x as FileField, G as Described, a as Msg, f as CollectionBrick, M as MarkdownTree, T as Task, W as WeekInfo, b as ComponentRegistry } from './shared/ginko.DrkUeYFP.mjs';
2
2
  export { K as ALT_INVISIBLE, O as ALT_MAX, A as AttributeRegistry, o as BooleanField, d as BrickSource, Q as BrickStatus, U as BrickValue, X as CALENDAR_NAMES, r as ChoiceField, Y as ChoiceOption, Z as ChoicesField, e as CollectionStatus, _ as ComponentDef, $ as ComponentSlot, a0 as CoreKey, a1 as DEFAULT_WEEK, a2 as DataOf, D as DateField, k as DateRangeField, a3 as FieldType, a4 as FileValue, a5 as GINKO_COMPONENTS_KEY, a6 as GINKO_TOC_KEY, s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, I as ImageField, a7 as ImageValue, a8 as ItemOf, v as ListField, a9 as Localized, w as LongTextField, aa as MARKDOWN_PROFILES, m as MarkdownField, ab as MarkdownProfile, ac as MarkdownToc, ad as MarkdownValue, ae as MigrationDescriptor, af as Money, n as MoneyField, N as NumberField, ag as PREFILL_TOKENS, ah as ParsedMarkdown, ai as PrefillToken, q as RefField, R as RetiredRule, aj as STORED_HOLIDAYS, h as SingleBrick, g as SingleStatus, j as SlugField, u as StoredHolidays, ak as TextBlock, i as TextField, l as TimeField, al as TocLink, am as UNSAFE_LINK, an as URL_PROPS, ao as UnknownChoice, ap as ValueOf, V as Visibility, aq as addDays, z as calendarOfCountry, ar as componentProblems, as as componentPropMessage, at as componentPropProblem, au as coreCatalogs, av as coreMessage, aw as defineComponents, ax as describeProfile, ay as effectiveAlt, az as effectiveMax, aA as effectiveProfile, aB as f, aC as firstDayShown, aD as holidaysOf, aE as isPrefillToken, aF as isShown, aG as isTranslatable, aH as msg, aI as parseMarkdown, aJ as plainText, aK as profileCovers, aL as resolveToken, aM as startOfWeek, aN as textBlocks, aO as todayIn, aP as weekInfoOf, aQ as wordsOf, aR as workWeekOf, aS as zoneOffset, aT as zonedDateTime } from './shared/ginko.DrkUeYFP.mjs';
3
- import { S as SiteInput } from './shared/ginko.DkIc0ZZk.mjs';
4
- export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, k as siteForContent, w as withoutFiles } from './shared/ginko.DkIc0ZZk.mjs';
3
+ import { S as SiteInput } from './shared/ginko._jCtw78j.mjs';
4
+ export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, k as siteForContent, w as withoutFiles } from './shared/ginko._jCtw78j.mjs';
5
5
  import { M as MarkdownTrees, B as Bundle, a as BundleItem } from './shared/ginko.6cI8KXZP.mjs';
6
6
  export { b as BUNDLE_FORMAT, c as BundleBrick, d as bundleFits, i as isBundle, k as knownBricks, m as markdownTrees, w as withFileBricks } from './shared/ginko.6cI8KXZP.mjs';
7
- export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.BaFweQcB.mjs';
7
+ export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.B32fU6_I.mjs';
8
8
  export { A as ArticleLdInput, N as NavNode, a as ORGANIZATION_TYPES, O as OrganizationLdInput, S as SeoHead, b as SeoImage, c as SeoInput, d as articleLd, e as breadcrumbJsonLd, f as breadcrumbs, g as faqLd, i as isPreviewHost, n as navTree, o as organizationLd, r as robotsTxt, s as seoHead, h as siteHeaders, w as websiteLd, j as withCountry } from './shared/ginko.o1yIKlgj.mjs';
9
- export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.Dz3fNfap.mjs';
9
+ export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.ONWi7rUd.mjs';
10
10
  import '@lupinum/ginko-i18n/core';
11
11
  import 'comark';
12
12
 
@@ -1,12 +1,12 @@
1
1
  import { C as Currency, L as Locale, c as Label, B as Brick, S as Schema, F as Fields, p as Field, J as Json, P as ParseOptions, E as Issue, x as FileField, G as Described, a as Msg, f as CollectionBrick, M as MarkdownTree, T as Task, W as WeekInfo, b as ComponentRegistry } from './shared/ginko.DrkUeYFP.js';
2
2
  export { K as ALT_INVISIBLE, O as ALT_MAX, A as AttributeRegistry, o as BooleanField, d as BrickSource, Q as BrickStatus, U as BrickValue, X as CALENDAR_NAMES, r as ChoiceField, Y as ChoiceOption, Z as ChoicesField, e as CollectionStatus, _ as ComponentDef, $ as ComponentSlot, a0 as CoreKey, a1 as DEFAULT_WEEK, a2 as DataOf, D as DateField, k as DateRangeField, a3 as FieldType, a4 as FileValue, a5 as GINKO_COMPONENTS_KEY, a6 as GINKO_TOC_KEY, s as Holiday, t as HolidayCalendar, y as HolidayCalendarName, H as HolidaysOption, I as ImageField, a7 as ImageValue, a8 as ItemOf, v as ListField, a9 as Localized, w as LongTextField, aa as MARKDOWN_PROFILES, m as MarkdownField, ab as MarkdownProfile, ac as MarkdownToc, ad as MarkdownValue, ae as MigrationDescriptor, af as Money, n as MoneyField, N as NumberField, ag as PREFILL_TOKENS, ah as ParsedMarkdown, ai as PrefillToken, q as RefField, R as RetiredRule, aj as STORED_HOLIDAYS, h as SingleBrick, g as SingleStatus, j as SlugField, u as StoredHolidays, ak as TextBlock, i as TextField, l as TimeField, al as TocLink, am as UNSAFE_LINK, an as URL_PROPS, ao as UnknownChoice, ap as ValueOf, V as Visibility, aq as addDays, z as calendarOfCountry, ar as componentProblems, as as componentPropMessage, at as componentPropProblem, au as coreCatalogs, av as coreMessage, aw as defineComponents, ax as describeProfile, ay as effectiveAlt, az as effectiveMax, aA as effectiveProfile, aB as f, aC as firstDayShown, aD as holidaysOf, aE as isPrefillToken, aF as isShown, aG as isTranslatable, aH as msg, aI as parseMarkdown, aJ as plainText, aK as profileCovers, aL as resolveToken, aM as startOfWeek, aN as textBlocks, aO as todayIn, aP as weekInfoOf, aQ as wordsOf, aR as workWeekOf, aS as zoneOffset, aT as zonedDateTime } from './shared/ginko.DrkUeYFP.js';
3
- import { S as SiteInput } from './shared/ginko.CLzVaDi4.js';
4
- export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, k as siteForContent, w as withoutFiles } from './shared/ginko.CLzVaDi4.js';
3
+ import { S as SiteInput } from './shared/ginko.aO1CUf2O.js';
4
+ export { C as CheckLinksOptions, E as ExternalLink, L as LinkConfig, a as LinkIssue, M as Migration, b as MigrationContext, c as Redirect, R as RouteTemplate, W as WithoutFiles, d as checkLinks, e as collection, f as defineSite, g as entryRedirects, h as externalLinks, i as findRedirect, l as linkTargets, m as matchRedirect, r as redirectProblems, j as resolveRouteLinks, s as single, k as siteForContent, w as withoutFiles } from './shared/ginko.aO1CUf2O.js';
5
5
  import { M as MarkdownTrees, B as Bundle, a as BundleItem } from './shared/ginko.B_pACpVU.js';
6
6
  export { b as BUNDLE_FORMAT, c as BundleBrick, d as bundleFits, i as isBundle, k as knownBricks, m as markdownTrees, w as withFileBricks } from './shared/ginko.B_pACpVU.js';
7
- export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.BiDXgjLy.js';
7
+ export { C as Condition, Q as Query, a as QueryOrder, b as QueryResult, c as QuerySchema, f as formatMoney, i as isSafeHref, m as minorDigits, n as neighbors, q as query, s as safeHref } from './shared/ginko.CYJj42Uq.js';
8
8
  export { A as ArticleLdInput, N as NavNode, a as ORGANIZATION_TYPES, O as OrganizationLdInput, S as SeoHead, b as SeoImage, c as SeoInput, d as articleLd, e as breadcrumbJsonLd, f as breadcrumbs, g as faqLd, i as isPreviewHost, n as navTree, o as organizationLd, r as robotsTxt, s as seoHead, h as siteHeaders, w as websiteLd, j as withCountry } from './shared/ginko.CjWB8N7f.js';
9
- export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.HFGxAlOn.js';
9
+ export { g as HourPlan, i as HoursLine, j as HoursLineContext, Z as HoursTexts, _ as NoticeTask, $ as PostalAddressInput, a0 as WeekRow, a1 as eventsBrick, a2 as hourPlansBrick, a3 as hoursBrick, z as hoursLine, a4 as noticesBrick, a5 as offerPrice, a6 as postalAddress, a7 as weekdays } from './shared/ginko.ysvhlZqN.js';
10
10
  import '@lupinum/ginko-i18n/core';
11
11
  import 'comark';
12
12
 
package/dist/internal.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { k as isVisible, v as visibleUntil, m as printOf } from './shared/ginko.t-gbwzxh.mjs';
2
- export { S as SITE_BUDGET, n as applyDefaults, o as blockedSlugs, q as buildBundle, s as byteSize, j as defaultDir, d as defaultsFor, t as deletesExpired, b as diffSchema, e as entryBytes, f as fieldsChanged, a as fitsBudget, l as largestEntryBytes, c as largestFieldBytes, h as pathOf, r as releaseData, u as resolveEntry, w as routeUrls, x as servedBundle, y as sortEntries, z as untranslatedMode, A as urlClashes, B as urlsFor } from './shared/ginko.t-gbwzxh.mjs';
1
+ import { k as isVisible, v as visibleUntil, m as printOf } from './shared/ginko.Ds72ycGB.mjs';
2
+ export { S as SITE_BUDGET, n as applyDefaults, o as blockedSlugs, q as buildBundle, s as byteSize, j as defaultDir, d as defaultsFor, t as deletesExpired, b as diffSchema, e as entryBytes, f as fieldsChanged, a as fitsBudget, l as largestEntryBytes, c as largestFieldBytes, h as pathOf, r as releaseData, u as resolveEntry, w as routeUrls, x as servedBundle, y as sortEntries, z as untranslatedMode, A as urlClashes, B as urlsFor } from './shared/ginko.Ds72ycGB.mjs';
3
3
  export { H as eventsBrick, I as hourPlansBrick, J as hoursBrick, q as hoursLine, K as noticesBrick, L as offerPrice, M as postalAddress, N as weekdays } from './shared/ginko.BsikHfwf.mjs';
4
4
  import { b as addDays } from './shared/ginko.C-oz8wwI.mjs';
5
5
  export { D as DEFAULT_WEEK, c as collection, d as defineSite, f as firstDayShown, r as resolveToken, s as single, g as siteForContent, a as startOfWeek, t as todayIn, e as weekInfoOf, h as withoutFiles, w as workWeekOf, i as zoneOffset, z as zonedDateTime } from './shared/ginko.C-oz8wwI.mjs';
@@ -10,8 +10,8 @@ export { B as BUNDLE_FORMAT, b as bundleFits, i as isBundle, k as knownBricks, m
10
10
  export { C as CALENDAR_NAMES, S as STORED_HOLIDAYS, U as UPLOAD_TYPES, a as acceptOf, c as calendarOfCountry, f as formatMb, h as holidaysOf, l as limitOf } from './shared/ginko.D1PeQ3ds.mjs';
11
11
  import { m as minorDigits } from './shared/ginko.CvlgoIVE.mjs';
12
12
  export { O as ORGANIZATION_TYPES, a as articleLd, b as breadcrumbJsonLd, d as faqLd, f as formatMoney, i as isPreviewHost, o as organizationLd, r as robotsTxt, s as seoHead, e as siteHeaders, w as websiteLd, g as withCountry } from './shared/ginko.CvlgoIVE.mjs';
13
- import { o as ordered, b as createAsks } from './shared/ginko.B1-DoOea.mjs';
14
- export { P as PREFILL_TOKENS, d as SCHEMA_LIMITS, e as SHAPE_CODES, f as SLUG_PATTERN, a as checkSchema, c as checkSite, g as duePlan, h as fileProblem, i as grantGroups, j as isDate, k as isHourPlans, l as isPrefillToken, m as isTimeZone, n as liveFrom, q as mainLocale, r as migrationFingerprint, t as plannedWeeks, u as plansThisWeek, p as platformSchema, s as serializeSchema, w as slugBases, x as slugify, y as staleOf, z as uniqueSlug, v as validate, A as weekStartField, C as weeklyTask } from './shared/ginko.B1-DoOea.mjs';
13
+ import { o as ordered, b as createAsks } from './shared/ginko.uQuitouw.mjs';
14
+ export { P as PREFILL_TOKENS, d as SCHEMA_LIMITS, e as SHAPE_CODES, f as SLUG_PATTERN, a as checkSchema, c as checkSite, g as duePlan, h as fileProblem, i as grantGroups, j as isDate, k as isHourPlans, l as isPrefillToken, m as isTimeZone, n as liveFrom, q as mainLocale, r as migrationFingerprint, t as plannedWeeks, u as plansThisWeek, p as platformSchema, s as serializeSchema, w as slugBases, x as slugify, y as staleOf, z as uniqueSlug, v as validate, A as weekStartField, C as weeklyTask } from './shared/ginko.uQuitouw.mjs';
15
15
  import { renderMarkdown } from 'comark/render';
16
16
  export { f as fileMarkdownRef, p as platformMarkdownRef, w as withMarkdownRefs } from './shared/ginko.DIl7l-75.mjs';
17
17
  import 'comark';
@@ -4,7 +4,7 @@ import { join, relative, resolve, basename } from 'node:path';
4
4
  import { pathToFileURL } from 'node:url';
5
5
  import { f as fileLinkIssues } from '../shared/ginko.raCzOPYC.mjs';
6
6
  import { createHash, randomUUID } from 'node:crypto';
7
- import { c as checkSite, s as serializeSchema } from '../shared/ginko.B1-DoOea.mjs';
7
+ import { c as checkSite, s as serializeSchema } from '../shared/ginko.uQuitouw.mjs';
8
8
  import { g as siteForContent } from '../shared/ginko.C-oz8wwI.mjs';
9
9
  import { L as redirectProblems, N as entryRedirects, F as coreMessage } from '../shared/ginko.BNVC-g9n.mjs';
10
10
  import { w as withMarkdownRefs, f as fileMarkdownRef } from '../shared/ginko.DIl7l-75.mjs';
@@ -165,8 +165,9 @@ function ginkoVercelConfig(site, token) {
165
165
  return { ...site, config: { ...site?.config, bypassToken: site?.config?.bypassToken ?? token } };
166
166
  }
167
167
  const ISR_SECONDS = 60;
168
- function ginkoRouteRules(site) {
168
+ function ginkoRouteRules(site, noindex = []) {
169
169
  const rules = { ...site };
170
+ for (const path of noindex) rules[path] = { ...rules[path], headers: { "x-robots-tag": "noindex", ...rules[path]?.headers } };
170
171
  rules["/**"] = { ...rules["/**"], isr: rules["/**"]?.isr ?? { expiration: ISR_SECONDS, allowQuery: [] } };
171
172
  rules["/api/**"] = { isr: false, ...rules["/api/**"] };
172
173
  for (const path of ["/__ginko", "/__ginko/**"]) {
@@ -289,7 +290,8 @@ const module$1 = defineNuxtModule({
289
290
  nuxt.options.runtimeConfig.ginkoRevalidateToken ??= "";
290
291
  nuxt.options.nitro.vercel = ginkoVercelConfig(nuxt.options.nitro.vercel, process.env.NUXT_GINKO_REVALIDATE_TOKEN);
291
292
  nuxt.options.experimental.payloadExtraction = false;
292
- nuxt.options.routeRules = ginkoRouteRules(nuxt.options.routeRules ?? {});
293
+ const noindex = (site.seo?.noindex ?? []).flatMap((key) => Object.values(schema.pages[key] ?? {}).filter((path) => path !== void 0));
294
+ nuxt.options.routeRules = ginkoRouteRules(nuxt.options.routeRules ?? {}, noindex);
293
295
  const ogImage = await listsNuxtSeo("nuxt-og-image", nuxt);
294
296
  const renderer = ogImage ? await ogRenderer(nuxt.options.rootDir) : void 0;
295
297
  if (renderer) {
@@ -10,5 +10,5 @@ export default defineEventHandler(async (event) => {
10
10
  const main = bundles[config.mainLocale];
11
11
  if (!main) throw createError({ statusCode: 503, statusMessage: "Content unavailable", fatal: true });
12
12
  event.res.headers.set("x-ginko-rev", `${main.schemaRev}.${main.contentRev}`);
13
- return sitemapUrls(schema, bundles, todayIn(config.timeZone), locales);
13
+ return sitemapUrls(schema, bundles, todayIn(config.timeZone), locales, config.seo.noindex);
14
14
  });
@@ -17,8 +17,9 @@ export interface SitemapUrl {
17
17
  /**
18
18
  * `bundles` must hold every locale of the site for routed entries; `today` is the site's date
19
19
  * (todayIn of its time zone), so the visibility rule matches the pages. `locales` is ginko-i18n's
20
- * config: hreflang uses its languages and `x-default`, exactly as the page head does.
20
+ * config: hreflang uses its languages and `x-default`, exactly as the page head does. `noindex` names
21
+ * the pages that stay out (`seo.noindex` of the site config).
21
22
  */
22
- export declare function sitemapUrls(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>): SitemapUrl[];
23
+ export declare function sitemapUrls(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>, noindex?: readonly string[]): SitemapUrl[];
23
24
  /** The sitemap document of `sitemapUrls`. */
24
- export declare function sitemapXml(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>): string;
25
+ export declare function sitemapXml(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>, noindex?: readonly string[]): string;
@@ -17,8 +17,9 @@ export interface SitemapUrl {
17
17
  /**
18
18
  * `bundles` must hold every locale of the site for routed entries; `today` is the site's date
19
19
  * (todayIn of its time zone), so the visibility rule matches the pages. `locales` is ginko-i18n's
20
- * config: hreflang uses its languages and `x-default`, exactly as the page head does.
20
+ * config: hreflang uses its languages and `x-default`, exactly as the page head does. `noindex` names
21
+ * the pages that stay out (`seo.noindex` of the site config).
21
22
  */
22
- export declare function sitemapUrls(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>): SitemapUrl[];
23
+ export declare function sitemapUrls(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>, noindex?: readonly string[]): SitemapUrl[];
23
24
  /** The sitemap document of `sitemapUrls`. */
24
- export declare function sitemapXml(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>): string;
25
+ export declare function sitemapXml(site: Schema, bundles: Partial<Record<Locale, Bundle>>, today: string, locales: Pick<LocaleConfig, 'locales' | 'defaultLocale'>, noindex?: readonly string[]): string;
@@ -1,11 +1,11 @@
1
1
  import { alternatesOf } from "@lupinum/ginko-i18n/core";
2
2
  import { isVisible } from "../../../internal.mjs";
3
3
  const MAX_IMAGES = 20;
4
- export function sitemapUrls(site, bundles, today, locales) {
4
+ export function sitemapUrls(site, bundles, today, locales, noindex = []) {
5
5
  const base = site.url.replace(/\/$/, "");
6
6
  const seen = /* @__PURE__ */ new Set();
7
7
  const urls = [];
8
- for (const group of [...staticGroups(site, base), ...entryGroups(site, bundles, today, base)]) {
8
+ for (const group of [...staticGroups(site, base, noindex), ...entryGroups(site, bundles, today, base)]) {
9
9
  const alternatives = group.alternates ? alternatesOf(group.urls, locales).map((a) => ({ hreflang: a.hreflang, href: a.path })) : [];
10
10
  for (const [locale, loc] of Object.entries(group.urls)) {
11
11
  if (seen.has(loc)) continue;
@@ -16,8 +16,8 @@ export function sitemapUrls(site, bundles, today, locales) {
16
16
  }
17
17
  return urls;
18
18
  }
19
- export function sitemapXml(site, bundles, today, locales) {
20
- const urls = sitemapUrls(site, bundles, today, locales);
19
+ export function sitemapXml(site, bundles, today, locales, noindex = []) {
20
+ const urls = sitemapUrls(site, bundles, today, locales, noindex);
21
21
  const element = (url) => [
22
22
  ` <url><loc>${escapeXml(url.loc)}</loc>`,
23
23
  url.lastmod ? `<lastmod>${escapeXml(url.lastmod)}</lastmod>` : "",
@@ -33,8 +33,8 @@ export function sitemapXml(site, bundles, today, locales) {
33
33
  "</urlset>"
34
34
  ].join("\n");
35
35
  }
36
- function staticGroups(site, base) {
37
- return Object.values(site.pages).map((paths) => ({
36
+ function staticGroups(site, base, noindex) {
37
+ return Object.entries(site.pages).filter(([key]) => !noindex.includes(key)).map(([, paths]) => ({
38
38
  urls: Object.fromEntries(Object.entries(paths).map(([locale, path]) => [locale, `${base}${path}`])),
39
39
  alternates: Object.keys(paths).length > 1
40
40
  }));
@@ -11,5 +11,5 @@ export default defineEventHandler(async (event) => {
11
11
  if (!main) throw createError({ statusCode: 503, statusMessage: "Content unavailable", fatal: true });
12
12
  event.res.headers.set("content-type", "application/xml; charset=utf-8");
13
13
  event.res.headers.set("x-ginko-rev", `${main.schemaRev}.${main.contentRev}`);
14
- return sitemapXml(schema, bundles, todayIn(config.timeZone), locales);
14
+ return sitemapXml(schema, bundles, todayIn(config.timeZone), locales, config.seo.noindex);
15
15
  });
@@ -1,4 +1,4 @@
1
- import './ginko.DkIc0ZZk.mjs';
1
+ import './ginko._jCtw78j.mjs';
2
2
  import { af as Money, F as Fields } from './ginko.DrkUeYFP.mjs';
3
3
  import './ginko.o1yIKlgj.mjs';
4
4
  import { a as BundleItem, B as Bundle } from './ginko.6cI8KXZP.mjs';
@@ -1,4 +1,4 @@
1
- import './ginko.CLzVaDi4.js';
1
+ import './ginko.aO1CUf2O.js';
2
2
  import { af as Money, F as Fields } from './ginko.DrkUeYFP.js';
3
3
  import './ginko.CjWB8N7f.js';
4
4
  import { a as BundleItem, B as Bundle } from './ginko.B_pACpVU.js';
@@ -1,5 +1,5 @@
1
1
  import { i as isTranslatable, A as ALT_MAX, g as effectiveMax, m as msg, h as stableJson, j as bare, k as sameLabel, l as effectiveMin, n as sha256, r as resolveRouteLinks, o as resolveFileRefs, q as effectiveAlt } from './ginko.BNVC-g9n.mjs';
2
- import { B as BRICK_KEYS, F as FIELD_KEYS, S as SCHEMA_KEYS } from './ginko.B1-DoOea.mjs';
2
+ import { B as BRICK_KEYS, F as FIELD_KEYS, S as SCHEMA_KEYS } from './ginko.uQuitouw.mjs';
3
3
  import { b as addDays } from './ginko.C-oz8wwI.mjs';
4
4
  import { B as BUNDLE_FORMAT, w as withMarkdownTrees } from './ginko.yKMIjJ68.mjs';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { d as BrickSource, c as Label, f as CollectionBrick, i as TextField, D as DateField, T as Task, M as MarkdownTree, L as Locale, j as SlugField, k as DateRangeField, l as TimeField, m as MarkdownField, n as MoneyField, I as ImageField, o as BooleanField, p as Field, q as RefField, r as ChoiceField, F as Fields, s as Holiday, H as HolidaysOption, t as HolidayCalendar, u as StoredHolidays, v as ListField, h as SingleBrick, N as NumberField } from './ginko.DrkUeYFP.mjs';
2
- import { R as RouteTemplate } from './ginko.DkIc0ZZk.mjs';
2
+ import { R as RouteTemplate } from './ginko._jCtw78j.mjs';
3
3
 
4
4
  /** Options every basics factory takes. */
5
5
  interface BasicsOptions {
@@ -227,10 +227,10 @@ declare function sessionsBrick<S extends Field>(opts: BasicsOptions & {
227
227
  } & {
228
228
  readonly to: string;
229
229
  };
230
- readonly date: DateField & Omit<DateField, "default" | "type" | "label" | "pos" | "retired"> & {
230
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
231
231
  default?: string | undefined;
232
232
  };
233
- readonly from: TimeField & Omit<TimeField, "default" | "type" | "label" | "pos" | "retired"> & {
233
+ readonly from: TimeField & Omit<TimeField, "type" | "label" | "pos" | "retired" | "default"> & {
234
234
  default?: string | undefined;
235
235
  };
236
236
  readonly to: TimeField & {
@@ -708,7 +708,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
708
708
  readonly not: true;
709
709
  };
710
710
  };
711
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
711
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
712
712
  readonly options: readonly [{
713
713
  readonly value: "mo";
714
714
  readonly label: {
@@ -753,7 +753,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
753
753
  };
754
754
  }];
755
755
  }, "options">;
756
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
756
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
757
757
  default?: boolean | undefined;
758
758
  };
759
759
  }> & Omit<{
@@ -788,7 +788,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
788
788
  readonly not: true;
789
789
  };
790
790
  };
791
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
791
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
792
792
  readonly options: readonly [{
793
793
  readonly value: "mo";
794
794
  readonly label: {
@@ -833,7 +833,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
833
833
  };
834
834
  }];
835
835
  }, "options">;
836
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
836
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
837
837
  default?: boolean | undefined;
838
838
  };
839
839
  };
@@ -872,7 +872,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
872
872
  readonly not: true;
873
873
  };
874
874
  };
875
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
875
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
876
876
  default?: {
877
877
  from: string;
878
878
  to: string;
@@ -917,7 +917,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
917
917
  readonly not: true;
918
918
  };
919
919
  };
920
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
920
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
921
921
  default?: {
922
922
  from: string;
923
923
  to: string;
@@ -971,7 +971,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
971
971
  readonly label: TextField & {
972
972
  readonly max: 80;
973
973
  };
974
- readonly from: DateField & Omit<DateField, "default" | "type" | "label" | "pos" | "retired"> & {
974
+ readonly from: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
975
975
  default?: string | undefined;
976
976
  };
977
977
  readonly to: DateField & {
@@ -1010,7 +1010,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1010
1010
  readonly not: true;
1011
1011
  };
1012
1012
  };
1013
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1013
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1014
1014
  readonly options: readonly [{
1015
1015
  readonly value: "mo";
1016
1016
  readonly label: {
@@ -1055,7 +1055,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1055
1055
  };
1056
1056
  }];
1057
1057
  }, "options">;
1058
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1058
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1059
1059
  default?: boolean | undefined;
1060
1060
  };
1061
1061
  }> & Omit<{
@@ -1090,7 +1090,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1090
1090
  readonly not: true;
1091
1091
  };
1092
1092
  };
1093
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1093
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1094
1094
  readonly options: readonly [{
1095
1095
  readonly value: "mo";
1096
1096
  readonly label: {
@@ -1135,7 +1135,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1135
1135
  };
1136
1136
  }];
1137
1137
  }, "options">;
1138
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1138
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1139
1139
  default?: boolean | undefined;
1140
1140
  };
1141
1141
  };
@@ -1180,7 +1180,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1180
1180
  readonly not: true;
1181
1181
  };
1182
1182
  };
1183
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1183
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1184
1184
  readonly options: readonly [{
1185
1185
  readonly value: "mo";
1186
1186
  readonly label: {
@@ -1225,7 +1225,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1225
1225
  };
1226
1226
  }];
1227
1227
  }, "options">;
1228
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1228
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1229
1229
  default?: boolean | undefined;
1230
1230
  };
1231
1231
  }> & Omit<{
@@ -1260,7 +1260,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1260
1260
  readonly not: true;
1261
1261
  };
1262
1262
  };
1263
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1263
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1264
1264
  readonly options: readonly [{
1265
1265
  readonly value: "mo";
1266
1266
  readonly label: {
@@ -1305,7 +1305,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1305
1305
  };
1306
1306
  }];
1307
1307
  }, "options">;
1308
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1308
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1309
1309
  default?: boolean | undefined;
1310
1310
  };
1311
1311
  };
@@ -1344,7 +1344,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1344
1344
  readonly not: true;
1345
1345
  };
1346
1346
  };
1347
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
1347
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
1348
1348
  default?: {
1349
1349
  from: string;
1350
1350
  to: string;
@@ -1389,7 +1389,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1389
1389
  readonly not: true;
1390
1390
  };
1391
1391
  };
1392
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
1392
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
1393
1393
  default?: {
1394
1394
  from: string;
1395
1395
  to: string;
@@ -1443,7 +1443,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1443
1443
  readonly label: TextField & {
1444
1444
  readonly max: 80;
1445
1445
  };
1446
- readonly from: DateField & Omit<DateField, "default" | "type" | "label" | "pos" | "retired"> & {
1446
+ readonly from: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
1447
1447
  default?: string | undefined;
1448
1448
  };
1449
1449
  readonly to: DateField & {
@@ -1482,7 +1482,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1482
1482
  readonly not: true;
1483
1483
  };
1484
1484
  };
1485
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1485
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1486
1486
  readonly options: readonly [{
1487
1487
  readonly value: "mo";
1488
1488
  readonly label: {
@@ -1527,7 +1527,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1527
1527
  };
1528
1528
  }];
1529
1529
  }, "options">;
1530
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1530
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1531
1531
  default?: boolean | undefined;
1532
1532
  };
1533
1533
  }> & Omit<{
@@ -1562,7 +1562,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1562
1562
  readonly not: true;
1563
1563
  };
1564
1564
  };
1565
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1565
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1566
1566
  readonly options: readonly [{
1567
1567
  readonly value: "mo";
1568
1568
  readonly label: {
@@ -1607,7 +1607,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1607
1607
  };
1608
1608
  }];
1609
1609
  }, "options">;
1610
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1610
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1611
1611
  default?: boolean | undefined;
1612
1612
  };
1613
1613
  };
@@ -153,6 +153,11 @@ interface SiteInput {
153
153
  logo?: string;
154
154
  sameAs?: string[];
155
155
  };
156
+ /**
157
+ * Keys of `pages` that stay out of search, such as a thank-you page after a form: they leave the sitemap and
158
+ * answer with `X-Robots-Tag: noindex` in every locale.
159
+ */
160
+ noindex?: string[];
156
161
  };
157
162
  /** Text for AI agents (`/llms.txt`, `<page>.md`) and the agent door's default. Only `review` is part of the schema contract. */
158
163
  agents?: {
@@ -153,6 +153,11 @@ interface SiteInput {
153
153
  logo?: string;
154
154
  sameAs?: string[];
155
155
  };
156
+ /**
157
+ * Keys of `pages` that stay out of search, such as a thank-you page after a form: they leave the sitemap and
158
+ * answer with `X-Robots-Tag: noindex` in every locale.
159
+ */
160
+ noindex?: string[];
156
161
  };
157
162
  /** Text for AI agents (`/llms.txt`, `<page>.md`) and the agent door's default. Only `review` is part of the schema contract. */
158
163
  agents?: {
@@ -536,6 +536,7 @@ function checkSite(site, schema = serializeSchema(site)) {
536
536
  }
537
537
  const color = site.seo?.color;
538
538
  if (color !== void 0 && !/^#(?:[\da-f]{3}|[\da-f]{6})$/i.test(color)) problems.push(`seo.color: invalid colour \u201C${String(color)}\u201D (expected \u201C#rrggbb\u201D or \u201C#rgb\u201D).`);
539
+ for (const key of site.seo?.noindex ?? []) if (!Object.hasOwn(site.pages, key)) problems.push(`seo.noindex: \u201C${key}\u201D is not a key of pages.`);
539
540
  return [...problems, ...checkSchema(schema)];
540
541
  }
541
542
  function checkSchema(schema) {
@@ -1,5 +1,5 @@
1
1
  import { d as BrickSource, c as Label, f as CollectionBrick, i as TextField, D as DateField, T as Task, M as MarkdownTree, L as Locale, j as SlugField, k as DateRangeField, l as TimeField, m as MarkdownField, n as MoneyField, I as ImageField, o as BooleanField, p as Field, q as RefField, r as ChoiceField, F as Fields, s as Holiday, H as HolidaysOption, t as HolidayCalendar, u as StoredHolidays, v as ListField, h as SingleBrick, N as NumberField } from './ginko.DrkUeYFP.js';
2
- import { R as RouteTemplate } from './ginko.CLzVaDi4.js';
2
+ import { R as RouteTemplate } from './ginko.aO1CUf2O.js';
3
3
 
4
4
  /** Options every basics factory takes. */
5
5
  interface BasicsOptions {
@@ -227,10 +227,10 @@ declare function sessionsBrick<S extends Field>(opts: BasicsOptions & {
227
227
  } & {
228
228
  readonly to: string;
229
229
  };
230
- readonly date: DateField & Omit<DateField, "default" | "type" | "label" | "pos" | "retired"> & {
230
+ readonly date: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
231
231
  default?: string | undefined;
232
232
  };
233
- readonly from: TimeField & Omit<TimeField, "default" | "type" | "label" | "pos" | "retired"> & {
233
+ readonly from: TimeField & Omit<TimeField, "type" | "label" | "pos" | "retired" | "default"> & {
234
234
  default?: string | undefined;
235
235
  };
236
236
  readonly to: TimeField & {
@@ -708,7 +708,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
708
708
  readonly not: true;
709
709
  };
710
710
  };
711
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
711
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
712
712
  readonly options: readonly [{
713
713
  readonly value: "mo";
714
714
  readonly label: {
@@ -753,7 +753,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
753
753
  };
754
754
  }];
755
755
  }, "options">;
756
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
756
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
757
757
  default?: boolean | undefined;
758
758
  };
759
759
  }> & Omit<{
@@ -788,7 +788,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
788
788
  readonly not: true;
789
789
  };
790
790
  };
791
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
791
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
792
792
  readonly options: readonly [{
793
793
  readonly value: "mo";
794
794
  readonly label: {
@@ -833,7 +833,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
833
833
  };
834
834
  }];
835
835
  }, "options">;
836
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
836
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
837
837
  default?: boolean | undefined;
838
838
  };
839
839
  };
@@ -872,7 +872,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
872
872
  readonly not: true;
873
873
  };
874
874
  };
875
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
875
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
876
876
  default?: {
877
877
  from: string;
878
878
  to: string;
@@ -917,7 +917,7 @@ declare function hoursBrick(t: HoursTexts, week: readonly WeekRow[], opts: Hours
917
917
  readonly not: true;
918
918
  };
919
919
  };
920
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
920
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
921
921
  default?: {
922
922
  from: string;
923
923
  to: string;
@@ -971,7 +971,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
971
971
  readonly label: TextField & {
972
972
  readonly max: 80;
973
973
  };
974
- readonly from: DateField & Omit<DateField, "default" | "type" | "label" | "pos" | "retired"> & {
974
+ readonly from: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
975
975
  default?: string | undefined;
976
976
  };
977
977
  readonly to: DateField & {
@@ -1010,7 +1010,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1010
1010
  readonly not: true;
1011
1011
  };
1012
1012
  };
1013
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1013
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1014
1014
  readonly options: readonly [{
1015
1015
  readonly value: "mo";
1016
1016
  readonly label: {
@@ -1055,7 +1055,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1055
1055
  };
1056
1056
  }];
1057
1057
  }, "options">;
1058
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1058
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1059
1059
  default?: boolean | undefined;
1060
1060
  };
1061
1061
  }> & Omit<{
@@ -1090,7 +1090,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1090
1090
  readonly not: true;
1091
1091
  };
1092
1092
  };
1093
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1093
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1094
1094
  readonly options: readonly [{
1095
1095
  readonly value: "mo";
1096
1096
  readonly label: {
@@ -1135,7 +1135,7 @@ declare function hourPlansBrick(t: HoursTexts, week: readonly WeekRow[], opts: B
1135
1135
  };
1136
1136
  }];
1137
1137
  }, "options">;
1138
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1138
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1139
1139
  default?: boolean | undefined;
1140
1140
  };
1141
1141
  };
@@ -1180,7 +1180,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1180
1180
  readonly not: true;
1181
1181
  };
1182
1182
  };
1183
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1183
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1184
1184
  readonly options: readonly [{
1185
1185
  readonly value: "mo";
1186
1186
  readonly label: {
@@ -1225,7 +1225,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1225
1225
  };
1226
1226
  }];
1227
1227
  }, "options">;
1228
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1228
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1229
1229
  default?: boolean | undefined;
1230
1230
  };
1231
1231
  }> & Omit<{
@@ -1260,7 +1260,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1260
1260
  readonly not: true;
1261
1261
  };
1262
1262
  };
1263
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1263
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1264
1264
  readonly options: readonly [{
1265
1265
  readonly value: "mo";
1266
1266
  readonly label: {
@@ -1305,7 +1305,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1305
1305
  };
1306
1306
  }];
1307
1307
  }, "options">;
1308
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1308
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1309
1309
  default?: boolean | undefined;
1310
1310
  };
1311
1311
  };
@@ -1344,7 +1344,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1344
1344
  readonly not: true;
1345
1345
  };
1346
1346
  };
1347
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
1347
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
1348
1348
  default?: {
1349
1349
  from: string;
1350
1350
  to: string;
@@ -1389,7 +1389,7 @@ declare function hours(opts?: HoursOptions): SingleBrick<{
1389
1389
  readonly not: true;
1390
1390
  };
1391
1391
  };
1392
- readonly when: DateRangeField & Omit<DateRangeField, "default" | "type" | "label" | "pos" | "retired"> & {
1392
+ readonly when: DateRangeField & Omit<DateRangeField, "type" | "label" | "pos" | "retired" | "default"> & {
1393
1393
  default?: {
1394
1394
  from: string;
1395
1395
  to: string;
@@ -1443,7 +1443,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1443
1443
  readonly label: TextField & {
1444
1444
  readonly max: 80;
1445
1445
  };
1446
- readonly from: DateField & Omit<DateField, "default" | "type" | "label" | "pos" | "retired"> & {
1446
+ readonly from: DateField & Omit<DateField, "type" | "label" | "pos" | "retired" | "default"> & {
1447
1447
  default?: string | undefined;
1448
1448
  };
1449
1449
  readonly to: DateField & {
@@ -1482,7 +1482,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1482
1482
  readonly not: true;
1483
1483
  };
1484
1484
  };
1485
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1485
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1486
1486
  readonly options: readonly [{
1487
1487
  readonly value: "mo";
1488
1488
  readonly label: {
@@ -1527,7 +1527,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1527
1527
  };
1528
1528
  }];
1529
1529
  }, "options">;
1530
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1530
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1531
1531
  default?: boolean | undefined;
1532
1532
  };
1533
1533
  }> & Omit<{
@@ -1562,7 +1562,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1562
1562
  readonly not: true;
1563
1563
  };
1564
1564
  };
1565
- readonly day: ChoiceField<"th" | "mo" | "tu" | "we" | "fr" | "sa" | "su"> & Omit<{
1565
+ readonly day: ChoiceField<"fr" | "mo" | "tu" | "we" | "th" | "sa" | "su"> & Omit<{
1566
1566
  readonly options: readonly [{
1567
1567
  readonly value: "mo";
1568
1568
  readonly label: {
@@ -1607,7 +1607,7 @@ declare function hourPlans(opts?: BasicsOptions): CollectionBrick<{
1607
1607
  };
1608
1608
  }];
1609
1609
  }, "options">;
1610
- readonly closed: BooleanField & Omit<BooleanField, "default" | "type" | "label" | "pos" | "retired"> & {
1610
+ readonly closed: BooleanField & Omit<BooleanField, "type" | "label" | "pos" | "retired" | "default"> & {
1611
1611
  default?: boolean | undefined;
1612
1612
  };
1613
1613
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lupinum/ginko",
3
- "version": "0.6.3",
3
+ "version": "0.6.4",
4
4
  "description": "Ginko: a typed, file-based content model for Nuxt sites (core, CLI and Nuxt module).",
5
5
  "license": "MIT",
6
6
  "author": "Lupinum OG <info@lupinum.com> (https://lupinum.com)",
@@ -66,14 +66,14 @@
66
66
  },
67
67
  "dependencies": {
68
68
  "@comark/vue": "0.7.0",
69
- "@lupinum/ginko-i18n": "^0.6.3",
69
+ "@lupinum/ginko-i18n": "^0.6.4",
70
70
  "@nuxt/kit": "^4.6.0",
71
71
  "@zbsearch/stemmers": "4.0.1",
72
72
  "comark": "0.7.0",
73
73
  "minisearch": "7.2.0"
74
74
  },
75
75
  "devDependencies": {
76
- "@lupinum/ginko-content": "^0.6.3",
76
+ "@lupinum/ginko-content": "^0.6.4",
77
77
  "@vue/test-utils": "2.5.1",
78
78
  "happy-dom": "20.14.5",
79
79
  "nuxt": "4.6.0",