@b10cks/client 1.9.0 → 1.10.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.
package/README.md CHANGED
@@ -17,7 +17,7 @@ const client = new ApiClient({
17
17
  baseUrl: 'https://api.b10cks.com/api',
18
18
  token: 'your-access-token',
19
19
  version: 'published', // 'published' (default) or 'draft'
20
- rv: 0, // revision token — pass Date.now() to bypass CDN cache
20
+ rv: 0, // revision token — pass Date.now() to bypass CDN cache
21
21
  })
22
22
 
23
23
  // Factory function — equivalent to new B10cksDataApi(client)
@@ -82,31 +82,31 @@ const redirectMap = await dataApi.getRedirects({
82
82
 
83
83
  ### Filter operators
84
84
 
85
- | Operator object | Wire format | Meaning |
86
- |---|---|---|
87
- | `'value'` | `value` | Exact match |
88
- | `{ eq: 'v' }` | `eq:v` | Exact match |
89
- | `{ neq: 'v' }` | `neq:v` | Not equal |
90
- | `{ in: ['a','b'] }` | `in:a,b` | One of |
91
- | `{ '!in': ['a','b'] }` | `!in:a,b` | None of |
92
- | `{ like: 'v' }` | `like:v` | Contains |
93
- | `{ '!like': 'v' }` | `!like:v` | Does not contain |
94
- | `{ '^like': 'v' }` | `^like:v` | Starts with |
95
- | `{ 'like$': 'v' }` | `like$:v` | Ends with |
96
- | `{ gte: 'v' }` | `gte:v` | Greater than or equal |
97
- | `{ gt: 'v' }` | `gt:v` | Greater than |
98
- | `{ lte: 'v' }` | `lte:v` | Less than or equal |
99
- | `{ lt: 'v' }` | `lt:v` | Less than |
100
- | `{ between: ['a','b'] }` | `a...b` | Range (dates) |
101
- | `{ null: true }` | `null:` | Is null |
102
- | `{ '!null': true }` | `!null:` | Is not null |
85
+ | Operator object | Wire format | Meaning |
86
+ | ------------------------ | ----------- | --------------------- |
87
+ | `'value'` | `value` | Exact match |
88
+ | `{ eq: 'v' }` | `eq:v` | Exact match |
89
+ | `{ neq: 'v' }` | `neq:v` | Not equal |
90
+ | `{ in: ['a','b'] }` | `in:a,b` | One of |
91
+ | `{ '!in': ['a','b'] }` | `!in:a,b` | None of |
92
+ | `{ like: 'v' }` | `like:v` | Contains |
93
+ | `{ '!like': 'v' }` | `!like:v` | Does not contain |
94
+ | `{ '^like': 'v' }` | `^like:v` | Starts with |
95
+ | `{ 'like$': 'v' }` | `like$:v` | Ends with |
96
+ | `{ gte: 'v' }` | `gte:v` | Greater than or equal |
97
+ | `{ gt: 'v' }` | `gt:v` | Greater than |
98
+ | `{ lte: 'v' }` | `lte:v` | Less than or equal |
99
+ | `{ lt: 'v' }` | `lt:v` | Less than |
100
+ | `{ between: ['a','b'] }` | `a...b` | Range (dates) |
101
+ | `{ null: true }` | `null:` | Is null |
102
+ | `{ '!null': true }` | `!null:` | Is not null |
103
103
 
104
104
  ### Content sort
105
105
 
106
106
  `sort` accepts a string or a typed array of `ContentSortItem` values. Prefix with `-` for descending order. JSON content fields are supported via `content.{field}`.
107
107
 
108
108
  ```typescript
109
- sort: '-published_at' // single field, descending
109
+ sort: '-published_at' // single field, descending
110
110
  sort: ['updated_at', '-created_at']
111
111
  sort: ['content.title', '-published_at']
112
112
  ```
@@ -128,42 +128,69 @@ const params = serializeFilter({
128
128
 
129
129
  ## Data API Methods
130
130
 
131
- | Method | Description |
132
- |---|---|
133
- | `getContent(slug, params)` | Single content entry by full slug |
134
- | `getContents(params, options)` | List of content entries |
135
- | `getBreadcrumb(slug, params)` | Ancestor trail of an entry, root first |
136
- | `getBreadcrumbResponse(slug, params)` | Same trail, with the response's `meta` block |
137
- | `getBlock(blockId, params)` | Single block by ID |
138
- | `getBlocks(params, options)` | List of blocks |
139
- | `search(params)` | Full-text content search (`q`, `limit`, `offset`, `language`) |
140
- | `lookupRedirect(source)` | POST redirect lookup for a given source path |
141
- | `getRedirects(params, options)` | Redirect map (cached when `allPages: true`) |
142
- | `getDataEntries(source, params, options)` | Entries for a data source slug |
143
- | `getDataSources(params, options)` | List of data sources |
144
- | `getSitemap(params, options)` | Sitemap entries (default sitemap) |
145
- | `getNamedSitemap(name, params, options)` | Entries of a named sitemap from `settings.sitemaps` |
146
- | `getSpace(params)` | Current space info |
147
- | `getConfig(options)` | Config content entry (cached) |
148
- | `syncRevision(fallbackRv)` | Sync local RV from the space |
149
- | `clearCache()` | Clear redirect and config caches |
131
+ | Method | Description |
132
+ | ----------------------------------------- | ------------------------------------------------------------- |
133
+ | `getContent(slug, params)` | Single content entry by full slug |
134
+ | `getContents(params, options)` | List of content entries |
135
+ | `getBreadcrumb(slug, params)` | Ancestor trail of an entry, root first |
136
+ | `getBreadcrumbResponse(slug, params)` | Same trail, with the response's `meta` block |
137
+ | `getBlock(blockId, params)` | Single block by ID |
138
+ | `getBlocks(params, options)` | List of blocks |
139
+ | `search(params)` | Full-text content search (`q`, `limit`, `offset`, `language`) |
140
+ | `lookupRedirect(source)` | POST redirect lookup for a given source path |
141
+ | `getRedirects(params, options)` | Redirect map (cached when `allPages: true`) |
142
+ | `getDataEntries(source, params, options)` | Entries for a data source slug |
143
+ | `getDataSources(params, options)` | List of data sources |
144
+ | `getSitemap(params, options)` | Sitemap entries (default sitemap) |
145
+ | `getNamedSitemap(name, params, options)` | Entries of a named sitemap from `settings.sitemaps` |
146
+ | `getSpace(params)` | Current space info |
147
+ | `getConfig(options)` | Config entry content plus its `id` (cached) |
148
+ | `syncRevision(fallbackRv)` | Sync local RV from the space |
149
+ | `clearCache()` | Clear redirect and config caches |
150
150
 
151
151
  Pass `{ allPages: true }` as the second argument to any collection method to fetch every page automatically.
152
152
 
153
+ Every collection method normalizes the response envelope, so a bare array, a
154
+ `{ data }` wrapper and a `{ data: { data } }` wrapper all resolve to a plain
155
+ array. There is no need to unwrap by hand.
156
+
157
+ ### Common query params
158
+
159
+ `rv` pins a request to a content revision. It defaults to the client's current
160
+ revision, so pass it only to override — `Date.now()` from a server route
161
+ sidesteps a stale delivery cache:
162
+
163
+ ```typescript
164
+ const entries = await dataApi.getContents({ language_iso: 'de', rv: Date.now() })
165
+ ```
166
+
167
+ `getDataEntries` takes `dimension` to read a mutated variant of a data source,
168
+ falling back to the stored base value for keys the dimension does not override:
169
+
170
+ ```typescript
171
+ const strings = await dataApi.getDataEntries('translations', { dimension: 'fr' })
172
+ ```
173
+
174
+ Filtering by `id`, `canonical_id`, `canonical_parent_id`, `parent_id` and
175
+ `include_fallback` goes through `filter` — see [Typed Filters](#typed-filters).
176
+ `filter: { canonical_id: { in: [...] } }` serializes to the same
177
+ `canonical_id=in:a,b` the API expects, so there is no reason to build that
178
+ string yourself.
179
+
153
180
  ## `ApiClient` configuration
154
181
 
155
182
  ```typescript
156
183
  interface B10cksApiClientOptions {
157
- baseUrl: string // Base URL of the b10cks data API (include `/api`)
158
- token: string // Space access token
159
- version?: 'published' | 'draft' // Content version to fetch (default: 'published')
160
- rv?: string | number // Revision token; use Date.now() to bypass CDN cache
161
- fetchClient?: FetchClient // Custom fetch implementation (required in environments without globalThis.fetch)
162
- getRv?: () => string | number // Custom getter for the shared revision token
163
- setRv?: (value: string | number) => void // Custom setter for the shared revision token
164
- timeoutMs?: number // Per-request timeout; aborts and throws ApiError when exceeded (default: none)
165
- retries?: number // Retry attempts for transient GET failures (network/429/5xx) with backoff (default: 0)
166
- maxConcurrency?: number // Max pages fetched concurrently by getAll/allPages (default: 6)
184
+ baseUrl: string // Base URL of the b10cks data API (include `/api`)
185
+ token: string // Space access token
186
+ version?: 'published' | 'draft' // Content version to fetch (default: 'published')
187
+ rv?: string | number // Revision token; use Date.now() to bypass CDN cache
188
+ fetchClient?: FetchClient // Custom fetch implementation (required in environments without globalThis.fetch)
189
+ getRv?: () => string | number // Custom getter for the shared revision token
190
+ setRv?: (value: string | number) => void // Custom setter for the shared revision token
191
+ timeoutMs?: number // Per-request timeout; aborts and throws ApiError when exceeded (default: none)
192
+ retries?: number // Retry attempts for transient GET failures (network/429/5xx) with backoff (default: 0)
193
+ maxConcurrency?: number // Max pages fetched concurrently by getAll/allPages (default: 6)
167
194
  }
168
195
  ```
169
196
 
@@ -210,21 +237,21 @@ const result = await client.post('redirects/lookup', { source: '/old' })
210
237
 
211
238
  ## Supported Endpoints
212
239
 
213
- | Endpoint | Methods |
214
- |---|---|
215
- | `blocks` | GET (list) |
216
- | `blocks/{id}` | GET (single) |
217
- | `breadcrumbs/{slug}` | GET (single) |
218
- | `contents` | GET (list) |
219
- | `contents/{slug}` | GET (single) |
220
- | `datasources` | GET (list) |
221
- | `datasources/{slug}/entries` | GET (list) |
222
- | `redirects` | GET (list) |
223
- | `redirects/lookup` | POST |
224
- | `search` | GET |
225
- | `sitemap` | GET (list) |
226
- | `sitemaps/{name}` | GET (list) |
227
- | `spaces/me` | GET |
240
+ | Endpoint | Methods |
241
+ | ---------------------------- | ------------ |
242
+ | `blocks` | GET (list) |
243
+ | `blocks/{id}` | GET (single) |
244
+ | `breadcrumbs/{slug}` | GET (single) |
245
+ | `contents` | GET (list) |
246
+ | `contents/{slug}` | GET (single) |
247
+ | `datasources` | GET (list) |
248
+ | `datasources/{slug}/entries` | GET (list) |
249
+ | `redirects` | GET (list) |
250
+ | `redirects/lookup` | POST |
251
+ | `search` | GET |
252
+ | `sitemap` | GET (list) |
253
+ | `sitemaps/{name}` | GET (list) |
254
+ | `spaces/me` | GET |
228
255
 
229
256
  ## Link resolution
230
257
 
@@ -252,9 +279,9 @@ import {
252
279
  } from '@b10cks/client'
253
280
 
254
281
  // Build a rooted locale-prefixed path from a content entry
255
- buildLocalizedPath('about', 'en') // → '/en/about'
256
- buildLocalizedPath('home', 'en') // → '/en'
257
- buildLocalizedPath('de/uber-uns', 'de') // → '/de/uber-uns' (no double prefix)
282
+ buildLocalizedPath('about', 'en') // → '/en/about'
283
+ buildLocalizedPath('home', 'en') // → '/en'
284
+ buildLocalizedPath('de/uber-uns', 'de') // → '/de/uber-uns' (no double prefix)
258
285
 
259
286
  // Filter: deduplicate, drop noindex, optionally restrict to one locale
260
287
  const filtered = filterSitemapEntries(entries, {
@@ -269,6 +296,48 @@ const xml = renderSitemapXml(filtered, 'https://example.com')
269
296
  const index = renderSitemapIndex(['/sitemap-en.xml', '/sitemap-de.xml'], 'https://example.com')
270
297
  ```
271
298
 
299
+ ### Locale prefixing
300
+
301
+ Entries always carry a `language_iso`, even in a space that only has one
302
+ language, so prefixing on it unconditionally would emit `/en/about` for a page
303
+ served at `/about`. `localePrefix` controls that, and defaults to `auto`:
304
+ prefix only when the entries span more than one language.
305
+
306
+ | Value | Behaviour |
307
+ | ---------------- | ------------------------------------------------------------- |
308
+ | `auto` (default) | Prefix only when the entry set is multilingual |
309
+ | `always` | Prefix every entry |
310
+ | `never` | Use paths as stored, for an app that routes the locale itself |
311
+ | `except-default` | Prefix every locale but `defaultLocale` |
312
+
313
+ ```typescript
314
+ // Nuxt i18n `prefix_except_default`
315
+ const xml = renderSitemapXml(filtered, 'https://example.com', {
316
+ localePrefix: 'except-default',
317
+ defaultLocale: 'en',
318
+ })
319
+ ```
320
+
321
+ `filterSitemapEntries` takes the same options, so its dedupe key matches the
322
+ paths you go on to render.
323
+
324
+ ### Building a sitemap in a server route
325
+
326
+ The data API paginates and unwraps for you, so a nitro route is short. In Nuxt,
327
+ `useB10cksServerApi()` from `@b10cks/nuxt` hands you the same data API:
328
+
329
+ ```typescript
330
+ // server/routes/sitemap.xml.ts
331
+ export default defineEventHandler(async (event) => {
332
+ const api = useB10cksServerApi()
333
+ const entries = await api.getSitemap({}, { allPages: true })
334
+ const siteUrl = getRequestURL(event).origin
335
+
336
+ setHeader(event, 'content-type', 'application/xml')
337
+ return renderSitemapXml(filterSitemapEntries(entries, { siteUrl }), siteUrl)
338
+ })
339
+ ```
340
+
272
341
  ## Breadcrumbs
273
342
 
274
343
  `getBreadcrumb(slug, params)` returns the ancestor trail of an entry, ordered from the tree root down to the entry itself. The entry is addressed by full slug or by content id.
@@ -280,18 +349,18 @@ trail.map((level) => [level.name, level.path])
280
349
  // → [['Startseite', '/de/startseite'], ['Produkte', '/de/startseite/produkte'], …]
281
350
  ```
282
351
 
283
- Every level is resolved through its own i18n family, so an ancestor without a translation is served from the fallback language and flagged with `is_fallback` — `resolved_language_iso` says which language it actually came from, while `path` always carries the *requested* locale segment.
352
+ Every level is resolved through its own i18n family, so an ancestor without a translation is served from the fallback language and flagged with `is_fallback` — `resolved_language_iso` says which language it actually came from, while `path` always carries the _requested_ locale segment.
284
353
 
285
354
  Unpublished ancestors are omitted from the trail rather than blanked, so the position in the array is not the position in the tree: read `depth` for that, and pass `ancestors: 'all'` when structural levels are never published by design.
286
355
 
287
- | Parameter | Default | Description |
288
- |---|---|---|
289
- | `language` / `language_iso` | space default | Language every level is resolved for |
290
- | `vid` | `published` | `published` or `draft` — a version id is not accepted |
291
- | `include_self` | `true` | Include the requested entry as the last level |
292
- | `ancestors` | `published` | `all` also returns unpublished ancestors |
293
- | `translations` | `false` | Add published sibling translations per level |
294
- | `include_content` | `false` | Add the resolved `content` payload per level; honors `take`/`except` |
356
+ | Parameter | Default | Description |
357
+ | --------------------------- | ------------- | -------------------------------------------------------------------- |
358
+ | `language` / `language_iso` | space default | Language every level is resolved for |
359
+ | `vid` | `published` | `published` or `draft` — a version id is not accepted |
360
+ | `include_self` | `true` | Include the requested entry as the last level |
361
+ | `ancestors` | `published` | `all` also returns unpublished ancestors |
362
+ | `translations` | `false` | Add published sibling translations per level |
363
+ | `include_content` | `false` | Add the resolved `content` payload per level; honors `take`/`except` |
295
364
 
296
365
  Use `getBreadcrumbResponse` when you need the `meta` block (resolved language, its fallback, the space's i18n mode, and the root/current ids).
297
366
 
@@ -318,25 +387,27 @@ import { previewBridge } from '@b10cks/client'
318
387
  // Call once on the client when your app boots (the framework packages do this for you).
319
388
  previewBridge.init({ allowedOrigins: ['https://app.b10cks.com'] })
320
389
 
321
- previewBridge.isInPreviewMode() // true only inside the editor iframe
322
- previewBridge.selectItem(blockId) // tell the editor to select a block
323
- previewBridge.selectField(blockId, path) // deep-select a nested field (e.g. rich text)
390
+ previewBridge.isInPreviewMode() // true only inside the editor iframe
391
+ previewBridge.selectItem(blockId) // tell the editor to select a block
392
+ previewBridge.selectField(blockId, path) // deep-select a nested field (e.g. rich text)
324
393
  previewBridge.updateFieldAt(blockId, ['headline'], 'New text') // stream an inline edit
325
394
 
326
395
  // Subscribe to editor → preview events; returns an unsubscribe function.
327
- const off = previewBridge.on('CONTENT_UPDATE', ({ content }) => { /* … */ })
396
+ const off = previewBridge.on('CONTENT_UPDATE', ({ content }) => {
397
+ /* … */
398
+ })
328
399
  ```
329
400
 
330
401
  Event protocol:
331
402
 
332
- | Event | Direction | Payload | Purpose |
333
- |---|---|---|---|
334
- | `SELECT_UPDATE` | both | `{ selectedItem }` | Select a block |
335
- | `HOVER_UPDATE` | editor → preview | `{ selectedItem }` | Hover-highlight a block |
336
- | `FIELD_SELECT` | preview → editor | `{ itemId, path }` | Deep-select a field so the editor opens its own editor |
337
- | `FIELD_UPDATE` | preview → editor | `{ itemId, path?, field?, value }` | Stream an inline edit |
338
- | `CONTENT_UPDATE` | editor → preview | `{ content }` | Replace the whole content tree |
339
- | `CONTENT_PATCH` | editor → preview | `{ path, value }` | Replace a single value at `path` |
403
+ | Event | Direction | Payload | Purpose |
404
+ | ---------------- | ---------------- | ---------------------------------- | ------------------------------------------------------ |
405
+ | `SELECT_UPDATE` | both | `{ selectedItem }` | Select a block |
406
+ | `HOVER_UPDATE` | editor → preview | `{ selectedItem }` | Hover-highlight a block |
407
+ | `FIELD_SELECT` | preview → editor | `{ itemId, path }` | Deep-select a field so the editor opens its own editor |
408
+ | `FIELD_UPDATE` | preview → editor | `{ itemId, path?, field?, value }` | Stream an inline edit |
409
+ | `CONTENT_UPDATE` | editor → preview | `{ content }` | Replace the whole content tree |
410
+ | `CONTENT_PATCH` | editor → preview | `{ path, value }` | Replace a single value at `path` |
340
411
 
341
412
  `path` is a `FieldPath` (`(string | number)[]`) that addresses any value at any depth, including array indices — e.g. `['body', 2, 'headline']`.
342
413
 
@@ -366,7 +437,9 @@ attachEditableField(el, { id: block.id, path: ['body'], mode: 'select' })
366
437
  When a block is selected it is scrolled into view with `block: 'nearest'` (so it never jumps when already visible) and honors the `--b10cks-scroll-offset` CSS variable as `scroll-margin-top`. Set it to your fixed header's height so selection doesn't overshoot beneath it — either in CSS:
367
438
 
368
439
  ```css
369
- :root { --b10cks-scroll-offset: 80px; }
440
+ :root {
441
+ --b10cks-scroll-offset: 80px;
442
+ }
370
443
  ```
371
444
 
372
445
  or from JS (the framework packages expose a `scrollOffset` option that calls this):
@@ -374,16 +447,28 @@ or from JS (the framework packages expose a `scrollOffset` option that calls thi
374
447
  ```typescript
375
448
  import { ensurePreviewStyles, setPreviewScrollOffset } from '@b10cks/client'
376
449
 
377
- ensurePreviewStyles() // inject the outline + scroll-margin styles once
378
- setPreviewScrollOffset(80) // number → px, or pass a string like '5rem'
450
+ ensurePreviewStyles() // inject the outline + scroll-margin styles once
451
+ setPreviewScrollOffset(80) // number → px, or pass a string like '5rem'
379
452
  ```
380
453
 
381
454
  ### `PreviewStore` — reactive live content
382
455
 
383
456
  `PreviewStore` is a framework-agnostic, subscribable holder for the content tree. `bindPreviewStore` feeds `CONTENT_UPDATE`/`CONTENT_PATCH` events into it, so any complex field — including rich text — re-renders from the new snapshot. The framework packages expose this as `usePreviewContent` / `createPreviewContent`.
384
457
 
458
+ The editor sends `CONTENT_UPDATE` scoped to the block that changed, carrying that block's `id`; only an edit of the root block pushes the whole tree (as `{ id: entryId, …entryContent }`). The store therefore merges an update by `id`:
459
+
460
+ - payload without an `id` → treated as the whole tree
461
+ - id equal to the root's id → replaces the root
462
+ - id found in the tree → replaces that node in place, immutably
463
+ - id found nowhere → ignored, so a scoped update can never collapse the page
464
+
465
+ Give the root block the entry's id with `toRootBlock` so root-level edits match it; when the root has no id, an update whose `block` type equals the root's is taken as the root.
466
+
385
467
  ```typescript
386
- import { PreviewStore, bindPreviewStore, setAtPath, getAtPath } from '@b10cks/client'
468
+ import { PreviewStore, bindPreviewStore, setAtPath, getAtPath, toRootBlock } from '@b10cks/client'
469
+
470
+ // `entry.content` has no id of its own — the id lives on the entry.
471
+ const initialContent = toRootBlock(entry) // { ...entry.content, id, block }
387
472
 
388
473
  const store = new PreviewStore(initialContent)
389
474
  const offBridge = bindPreviewStore(store)
@@ -400,22 +485,22 @@ Common types exported from the package root:
400
485
 
401
486
  ```typescript
402
487
  import type {
403
- B10cksLink, // Union type for link fields (url | email | internal | asset)
404
- B10cksLinkResolved, // Return type of resolveB10cksLink
405
- IBContent, // A content entry (generic: IBContent<YourContentShape>)
406
- IBContentBlock, // Base block shape with id and block fields
407
- IBBlock, // A block schema
408
- IBDataEntry, // A data source entry (key/value)
409
- IBDataSource, // A data source definition
410
- IBSitemapEntry, // Sitemap entry with full_slug, language_iso, meta, published_at
411
- IBSeoMeta, // robots and canonical fields
412
- IBSpace, // Space info
413
- IBRedirect, // Redirect rule (source, target, status_code)
414
- IBSearchResult, // Search result extending IBContent with relevance_score
415
- IBSearchResponse, // Wrapper around IBSearchResult[]
416
- IBCollectionResponse,// Paginated list envelope
417
- IBMeta, // Pagination metadata (total, last_page, per_page, …)
418
- IBResponse, // Single-item envelope { data, rv }
488
+ B10cksLink, // Union type for link fields (url | email | internal | asset)
489
+ B10cksLinkResolved, // Return type of resolveB10cksLink
490
+ IBContent, // A content entry (generic: IBContent<YourContentShape>)
491
+ IBContentBlock, // Base block shape with id and block fields
492
+ IBBlock, // A block schema
493
+ IBDataEntry, // A data source entry (key/value)
494
+ IBDataSource, // A data source definition
495
+ IBSitemapEntry, // Sitemap entry with full_slug, language_iso, meta, published_at
496
+ IBSeoMeta, // robots and canonical fields
497
+ IBSpace, // Space info
498
+ IBRedirect, // Redirect rule (source, target, status_code)
499
+ IBSearchResult, // Search result extending IBContent with relevance_score
500
+ IBSearchResponse, // Wrapper around IBSearchResult[]
501
+ IBCollectionResponse, // Paginated list envelope
502
+ IBMeta, // Pagination metadata (total, last_page, per_page, …)
503
+ IBResponse, // Single-item envelope { data, rv }
419
504
  B10cksApiClientOptions,
420
505
  } from '@b10cks/client'
421
506
  ```
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};function n(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function r(e,t={}){let{siteUrl:r,excludeCurrent:i=!1}=t;return{"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:(i?e.filter(e=>!e.is_current):e).map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.name,item:n(e.path,r)}))}}function i(e){if(!e)return;if(e.type===`email`){let t=new URLSearchParams;e.subject&&t.set(`subject`,e.subject),e.body&&t.set(`body`,e.body),e.cc&&t.set(`cc`,e.cc),e.bcc&&t.set(`bcc`,e.bcc);let n=t.toString();return{href:`mailto:${e.email}${n?`?${n}`:``}`,target:`_self`}}if(e.type===`asset`)return;let t=e.target??`_self`,n=e.url??``;return`anchor`in e&&e.anchor&&(n=`${n.trimEnd()}#${e.anchor}`),{href:n,target:t}}function a(e){if(e!=null){if(typeof e==`boolean`||typeof e==`number`)return String(e);if(typeof e==`string`)return e;if(typeof e==`object`&&!Array.isArray(e)){let t=e;if(`null`in t)return`null:`;if(`!null`in t)return`!null:`;if(`between`in t){let e=t.between;if(!Array.isArray(e)||e.length!==2)return;let[n,r]=e;return`${n}...${r}`}for(let e of[`eq`,`neq`,`like`,`!like`,`^like`,`like$`,`lt`,`gt`,`lte`,`gte`,`in`,`!in`,`empty`,`!empty`])if(e in t){let n=t[e];return Array.isArray(n)?`${e}:${n.join(`,`)}`:`${e}:${String(n)}`}}}}function o(e){let t={};for(let[n,r]of Object.entries(e)){let e=a(r);e!==void 0&&(t[n]=e)}return t}function s(e,t,n){let r=t&&typeof t==`object`?o(t):{},i=Array.isArray(n)?{sort:n.join(`,`)}:n==null?{}:{sort:n};return{...e,...r,...i}}var c=128,l=class{client;redirectsCache=new Map;configCache=new Map;configInflight=new Map;constructor(e){this.client=e}async getResource(e,t={}){let n=await this.client.get(e,t);return this.unwrapResource(n)}async getCollection(e,t={},n={}){if(n.allPages)return this.client.getAll(e,t);let r=await this.client.get(e,t);return this.unwrapCollection(r)}async getContent(e,t={}){return this.getResource(`contents/${e}`,t)}async getContents(e={},t={}){let{filter:n,sort:r,...i}=e;return this.getCollection(`contents`,s(i,n,r),t)}async getBreadcrumb(e,t={}){return(await this.getBreadcrumbResponse(e,t))?.breadcrumb??[]}async getBreadcrumbResponse(e,t={}){let n=await this.client.get(`breadcrumbs/${e.replace(/^\/+/,``)}`,t);return this.unwrapResource(n)}async getBlock(e,t={}){return this.getResource(`blocks/${e}`,t)}async getBlocks(e={},t={}){let{filter:n,...r}=e;return this.getCollection(`blocks`,s(r,n,void 0),t)}async search(e){let t=await this.client.get(`search`,e);if(typeof t==`object`&&t&&`data`in t&&`meta`in t)return t;if(typeof t==`object`&&t&&`data`in t){let e=t.data;if(typeof e==`object`&&e&&`meta`in e&&`data`in e)return e}return t}async getSitemap(e={},t={}){return this.getCollection(`sitemap`,e,t)}async getNamedSitemap(e,t={},n={}){return this.getCollection(`sitemaps/${encodeURIComponent(e)}`,t,n)}async getDataEntries(e,t={},n={}){return this.getCollection(`datasources/${e}/entries`,t,n)}async getDataSources(e={},t={}){return this.getCollection(`datasources`,e,t)}async getSpace(e={}){return this.getResource(`spaces/me`,e)}async lookupRedirect(e){if(!this.client.post)throw Error(`lookupRedirect requires a client that supports POST. Use ApiClient from @b10cks/client.`);return this.client.post(`redirects/lookup`,{source:e})}async getRedirects(e={},t=!1){let{allPages:n=!1,forceRefresh:r=!1}=typeof t==`boolean`?{allPages:!0,forceRefresh:t}:t,i=JSON.stringify({params:e,rv:this.currentRv()});if(n&&!r){let e=this.redirectsCache.get(i);if(e)return e}let{filter:a,...o}=e,c=s(o,a,void 0),l=await this.getCollection(`redirects`,c,{allPages:n}),u=Object.fromEntries(l.map(({source:e,target:t,status_code:n})=>[e,{target:t,status_code:n}]));return n&&this.redirectsCache.set(i,u),u}currentRv(){return typeof this.client.getRv==`function`?this.client.getRv():``}async getConfig({slug:e=`_config`,language_iso:t,language:n,bypassCache:r=!1,...i}={}){let a=t??n,o=JSON.stringify({slug:e,language_iso:a,rv:this.currentRv(),...i});if(!r&&this.configCache.has(o))return this.configCache.get(o);let s=this.configInflight.get(o);if(!r&&s)return s;let c=this.getContent(e,{...i,language_iso:a}).then(e=>{let t=e.content??{};return r||this.setConfigCache(o,t),t}).finally(()=>{this.configInflight.delete(o)});return r||this.configInflight.set(o,c),c}setConfigCache(e,t){if(this.configCache.delete(e),this.configCache.set(e,t),this.configCache.size>c){let e=this.configCache.keys().next().value;e!==void 0&&this.configCache.delete(e)}}async syncRevision(e=426713400){let t=(await this.getSpace()).rv||e;return this.client.setRv(t),t}clearCache(){this.redirectsCache.clear(),this.configCache.clear(),this.configInflight.clear()}unwrapResource(e){return typeof e==`object`&&e&&`data`in e?e.data:e}unwrapCollection(e){if(Array.isArray(e))return e;if(typeof e==`object`&&e&&`data`in e){if(Array.isArray(e.data))return e.data;if(typeof e.data==`object`&&e.data!==null&&`data`in e.data&&Array.isArray(e.data.data))return e.data.data}return[]}};function u(e){return new l(e)}var d=new Set([`CONTENT_UPDATE`,`CONTENT_PATCH`,`SELECT_UPDATE`,`HOVER_UPDATE`,`FIELD_UPDATE`,`FIELD_SELECT`]),f=`B10CKS_BRIDGE_READY`,p=class e{static instance;listeners={};initialized=!1;allowedOrigins=null;parentOrigin=null;constructor(){}static getInstance(){return e.instance||=new e,e.instance}init(e={}){if(this.isInPreviewMode()){if(this.initialized){e.allowedOrigins&&!this.allowedOrigins&&(this.allowedOrigins=e.allowedOrigins,this.parentOrigin&&!this.allowedOrigins.includes(this.parentOrigin)&&(this.parentOrigin=null));return}this.allowedOrigins=e.allowedOrigins??null,window.addEventListener(`message`,this.handleMessage),this.initialized=!0,window.parent.postMessage({type:f},`*`)}}destroy(){this.initialized&&typeof window<`u`&&window.removeEventListener(`message`,this.handleMessage),this.initialized=!1,this.parentOrigin=null;for(let e of Object.keys(this.listeners))this.listeners[e]?.clear()}isInPreviewMode(){return typeof window<`u`&&window.self!==window.top}on(e,t){if(!this.isInPreviewMode())return()=>{};let n=this.listeners[e]||new Set;return this.listeners[e]=n,n.add(t),()=>{n.delete(t)}}selectItem(e){this.post(`SELECT_UPDATE`,{selectedItem:e})}selectField(e,t){this.post(`FIELD_SELECT`,{itemId:e,path:t})}updateField(e,t,n){this.post(`FIELD_UPDATE`,{itemId:e,field:t,value:n})}updateFieldAt(e,t,n){this.post(`FIELD_UPDATE`,{itemId:e,path:t,value:n})}post(e,t){this.isInPreviewMode()&&window.parent.postMessage({type:e,payload:t},this.parentOrigin??`*`)}handleMessage=e=>{if(!this.isOriginTrusted(e.origin)||!e.data||typeof e.data!=`object`)return;let{type:t,payload:n}=e.data;!t||!d.has(t)||!n||(!this.parentOrigin&&e.origin&&e.origin!==`null`&&(this.parentOrigin=e.origin),this.notify(t,n))};isOriginTrusted(e){return this.parentOrigin?e===this.parentOrigin:!this.allowedOrigins||this.allowedOrigins.includes(e)}notify(e,t){let n=this.listeners[e];if(n)for(let e of n)e(t)}},m=p.getInstance(),h=`b10cks-preview-style`,g=`--b10cks-scroll-offset`;function _(){if(typeof document>`u`||document.getElementById(h))return;let e=document.createElement(`style`);e.id=h,e.textContent=`
2
- .b10cks-preview { scroll-margin-top: var(${g}, 0px); }
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.defineProperty,t=(t,n)=>{let r={};for(var i in t)e(r,i,{get:t[i],enumerable:!0});return n||e(r,Symbol.toStringTag,{value:`Module`}),r};function n(e,t){if(!t)return e;try{return new URL(e,t).toString()}catch{return e}}function r(e,t={}){let{siteUrl:r,excludeCurrent:i=!1}=t;return{"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:(i?e.filter(e=>!e.is_current):e).map((e,t)=>({"@type":`ListItem`,position:t+1,name:e.name,item:n(e.path,r)}))}}function i(e){if(!e)return null;let t=e.content??{};return{...t,id:e.id,block:t.block??e.block}}function a(e){if(!e)return;if(e.type===`email`){let t=new URLSearchParams;e.subject&&t.set(`subject`,e.subject),e.body&&t.set(`body`,e.body),e.cc&&t.set(`cc`,e.cc),e.bcc&&t.set(`bcc`,e.bcc);let n=t.toString();return{href:`mailto:${e.email}${n?`?${n}`:``}`,target:`_self`}}if(e.type===`asset`)return;let t=e.target??`_self`,n=e.url??``;return`anchor`in e&&e.anchor&&(n=`${n.trimEnd()}#${e.anchor}`),{href:n,target:t}}function o(e){if(e!=null){if(typeof e==`boolean`||typeof e==`number`)return String(e);if(typeof e==`string`)return e;if(typeof e==`object`&&!Array.isArray(e)){let t=e;if(`null`in t)return`null:`;if(`!null`in t)return`!null:`;if(`between`in t){let e=t.between;if(!Array.isArray(e)||e.length!==2)return;let[n,r]=e;return`${n}...${r}`}for(let e of[`eq`,`neq`,`like`,`!like`,`^like`,`like$`,`lt`,`gt`,`lte`,`gte`,`in`,`!in`,`empty`,`!empty`])if(e in t){let n=t[e];return Array.isArray(n)?`${e}:${n.join(`,`)}`:`${e}:${String(n)}`}}}}function s(e){let t={};for(let[n,r]of Object.entries(e)){let e=o(r);e!==void 0&&(t[n]=e)}return t}function c(e,t,n){let r=t&&typeof t==`object`?s(t):{},i=Array.isArray(n)?{sort:n.join(`,`)}:n==null?{}:{sort:n};return{...e,...r,...i}}var l=128,u=class{client;redirectsCache=new Map;configCache=new Map;configInflight=new Map;constructor(e){this.client=e}async getResource(e,t={}){let n=await this.client.get(e,t);return this.unwrapResource(n)}async getCollection(e,t={},n={}){if(n.allPages)return this.client.getAll(e,t);let r=await this.client.get(e,t);return this.unwrapCollection(r)}async getContent(e,t={}){return this.getResource(`contents/${e}`,t)}async getContents(e={},t={}){let{filter:n,sort:r,...i}=e;return this.getCollection(`contents`,c(i,n,r),t)}async getBreadcrumb(e,t={}){return(await this.getBreadcrumbResponse(e,t))?.breadcrumb??[]}async getBreadcrumbResponse(e,t={}){let n=await this.client.get(`breadcrumbs/${e.replace(/^\/+/,``)}`,t);return this.unwrapResource(n)}async getBlock(e,t={}){return this.getResource(`blocks/${e}`,t)}async getBlocks(e={},t={}){let{filter:n,...r}=e;return this.getCollection(`blocks`,c(r,n,void 0),t)}async search(e){let t=await this.client.get(`search`,e);if(typeof t==`object`&&t&&`data`in t&&`meta`in t)return t;if(typeof t==`object`&&t&&`data`in t){let e=t.data;if(typeof e==`object`&&e&&`meta`in e&&`data`in e)return e}return t}async getSitemap(e={},t={}){return this.getCollection(`sitemap`,e,t)}async getNamedSitemap(e,t={},n={}){return this.getCollection(`sitemaps/${encodeURIComponent(e)}`,t,n)}async getDataEntries(e,t={},n={}){return this.getCollection(`datasources/${e}/entries`,t,n)}async getDataSources(e={},t={}){return this.getCollection(`datasources`,e,t)}async getSpace(e={}){return this.getResource(`spaces/me`,e)}async lookupRedirect(e){if(!this.client.post)throw Error(`lookupRedirect requires a client that supports POST. Use ApiClient from @b10cks/client.`);return this.client.post(`redirects/lookup`,{source:e})}async getRedirects(e={},t=!1){let{allPages:n=!1,forceRefresh:r=!1}=typeof t==`boolean`?{allPages:!0,forceRefresh:t}:t,i=JSON.stringify({params:e,rv:this.currentRv()});if(n&&!r){let e=this.redirectsCache.get(i);if(e)return e}let{filter:a,...o}=e,s=c(o,a,void 0),l=await this.getCollection(`redirects`,s,{allPages:n}),u=Object.fromEntries(l.map(({source:e,target:t,status_code:n})=>[e,{target:t,status_code:n}]));return n&&this.redirectsCache.set(i,u),u}currentRv(){return typeof this.client.getRv==`function`?this.client.getRv():``}async getConfig({slug:e=`_config`,language_iso:t,language:n,bypassCache:r=!1,...i}={}){let a=t??n,o=JSON.stringify({slug:e,language_iso:a,rv:this.currentRv(),...i});if(!r&&this.configCache.has(o))return this.configCache.get(o);let s=this.configInflight.get(o);if(!r&&s)return s;let c=this.getContent(e,{...i,language_iso:a}).then(e=>{let t={...e.content??{},id:e.id};return r||this.setConfigCache(o,t),t}).finally(()=>{this.configInflight.delete(o)});return r||this.configInflight.set(o,c),c}setConfigCache(e,t){if(this.configCache.delete(e),this.configCache.set(e,t),this.configCache.size>l){let e=this.configCache.keys().next().value;e!==void 0&&this.configCache.delete(e)}}async syncRevision(e=426713400){let t=(await this.getSpace()).rv||e;return this.client.setRv(t),t}clearCache(){this.redirectsCache.clear(),this.configCache.clear(),this.configInflight.clear()}unwrapResource(e){return typeof e==`object`&&e&&`data`in e?e.data:e}unwrapCollection(e){if(Array.isArray(e))return e;if(typeof e==`object`&&e&&`data`in e){if(Array.isArray(e.data))return e.data;if(typeof e.data==`object`&&e.data!==null&&`data`in e.data&&Array.isArray(e.data.data))return e.data.data}return[]}};function d(e){return new u(e)}var f=new Set([`CONTENT_UPDATE`,`CONTENT_PATCH`,`SELECT_UPDATE`,`HOVER_UPDATE`,`FIELD_UPDATE`,`FIELD_SELECT`]),p=`B10CKS_BRIDGE_READY`,m=class e{static instance;listeners={};initialized=!1;allowedOrigins=null;parentOrigin=null;constructor(){}static getInstance(){return e.instance||=new e,e.instance}init(e={}){if(this.isInPreviewMode()){if(this.initialized){e.allowedOrigins&&!this.allowedOrigins&&(this.allowedOrigins=e.allowedOrigins,this.parentOrigin&&!this.allowedOrigins.includes(this.parentOrigin)&&(this.parentOrigin=null));return}this.allowedOrigins=e.allowedOrigins??null,window.addEventListener(`message`,this.handleMessage),this.initialized=!0,window.parent.postMessage({type:p},`*`)}}destroy(){this.initialized&&typeof window<`u`&&window.removeEventListener(`message`,this.handleMessage),this.initialized=!1,this.parentOrigin=null;for(let e of Object.keys(this.listeners))this.listeners[e]?.clear()}isInPreviewMode(){return typeof window<`u`&&window.self!==window.top}on(e,t){if(!this.isInPreviewMode())return()=>{};let n=this.listeners[e]||new Set;return this.listeners[e]=n,n.add(t),()=>{n.delete(t)}}selectItem(e){this.post(`SELECT_UPDATE`,{selectedItem:e})}selectField(e,t){this.post(`FIELD_SELECT`,{itemId:e,path:t})}updateField(e,t,n){this.post(`FIELD_UPDATE`,{itemId:e,field:t,value:n})}updateFieldAt(e,t,n){this.post(`FIELD_UPDATE`,{itemId:e,path:t,value:n})}post(e,t){this.isInPreviewMode()&&window.parent.postMessage({type:e,payload:t},this.parentOrigin??`*`)}handleMessage=e=>{if(!this.isOriginTrusted(e.origin)||!e.data||typeof e.data!=`object`)return;let{type:t,payload:n}=e.data;!t||!f.has(t)||!n||(!this.parentOrigin&&e.origin&&e.origin!==`null`&&(this.parentOrigin=e.origin),this.notify(t,n))};isOriginTrusted(e){return this.parentOrigin?e===this.parentOrigin:!this.allowedOrigins||this.allowedOrigins.includes(e)}notify(e,t){let n=this.listeners[e];if(n)for(let e of n)e(t)}},h=m.getInstance(),g=`b10cks-preview-style`,_=`--b10cks-scroll-offset`;function v(){if(typeof document>`u`||document.getElementById(g))return;let e=document.createElement(`style`);e.id=g,e.textContent=`
2
+ .b10cks-preview { scroll-margin-top: var(${_}, 0px); }
3
3
  .b10cks-hover,
4
4
  .b10cks-preview:hover {
5
5
  outline: 2px dashed rgba(59, 130, 246, 0.5);
@@ -9,11 +9,11 @@ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.
9
9
  outline: 2px solid rgb(59, 130, 246) !important;
10
10
  outline-offset: 2px;
11
11
  }
12
- `,document.head.appendChild(e)}function v(e){if(typeof document>`u`)return;let t=typeof e==`number`?`${e}px`:e;document.documentElement.style.setProperty(g,t)}function y(e,t){if(!m.isInPreviewMode()||!t.id)return()=>{};_();let{id:n,onSelectChange:r,onHoverChange:i,scrollOnSelect:a=!0}=t;e.classList.add(`b10cks-preview`);let o=e=>{e.preventDefault(),e.stopPropagation(),m.selectItem(n)},s=({selectedItem:t})=>{let i=t===n;e.classList.toggle(`b10cks-selected`,i),i&&a&&x(e),r?.(i)},c=({selectedItem:t})=>{let r=t===n;e.classList.toggle(`b10cks-hover`,r),i?.(r)};e.addEventListener(`click`,o);let l=m.on(`SELECT_UPDATE`,s),u=m.on(`HOVER_UPDATE`,c);return()=>{e.removeEventListener(`click`,o),l(),u(),e.classList.remove(`b10cks-preview`,`b10cks-selected`,`b10cks-hover`)}}function b(e,t){if(!m.isInPreviewMode()||!t.id)return()=>{};let{id:n,field:r,path:i,mode:a=`inline`}=t;if(a===`select`){_(),e.classList.add(`b10cks-preview`);let t=e=>{e.preventDefault(),e.stopPropagation(),i?m.selectField(n,i):m.selectItem(n)};return e.addEventListener(`click`,t),()=>{e.removeEventListener(`click`,t),e.classList.remove(`b10cks-preview`)}}e.setAttribute(`contenteditable`,`true`);let o=e=>{let t=e.target.innerText;i?m.updateFieldAt(n,i,t):m.updateField(n,r??``,t)};return e.addEventListener(`input`,o),()=>{e.removeEventListener(`input`,o),e.removeAttribute(`contenteditable`)}}function x(e){typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}function S(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function C(e,t,n){if(t.length===0)return n;let[r,...i]=t;if(r===void 0)return n;if(typeof r==`number`){let t=Array.isArray(e)?e.slice():[];return t[r]=C(t[r],i,n),t}let a=e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{};return a[r]=C(a[r],i,n),a}var w=class{content;listeners=new Set;constructor(e){this.content=e}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.content;setContent(e){this.content=e,this.emit()}patch(e,t){this.content=C(this.content,e,t),this.emit()}emit(){for(let e of this.listeners)e()}};function T(e){let t=m.on(`CONTENT_UPDATE`,({content:t})=>{e.setContent(t)}),n=m.on(`CONTENT_PATCH`,({path:t,value:n})=>{e.patch(t,n)});return()=>{t(),n()}}function E(e){return(e??``).trim().replace(/^\/+|\/+$/g,``)}function D(e,t){let n=E(e),r=E(t);if(!r)return n&&n!==`home`?`/${n}`:`/`;if(!n||n===`home`)return`/${r}`;let i=`${r}/`;return n===r||n.startsWith(i)?`/${n}`:`/${r}/${n}`}function O(e,t){if(!t)return null;try{return new URL(e,t).toString()}catch{return null}}function k(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`)}function A(e,t={}){let{siteUrl:n,locale:r}=t,i=new Set;return e.filter(e=>{if(r&&e.language_iso!==r)return!1;let t=e.meta?.robots?.toLowerCase();if(t?.includes(`noindex`)||t?.includes(`none`))return!1;let a=D(e.full_slug,e.language_iso),o=n?O(a,n)??a:a;return i.has(o)?!1:(i.add(o),!0)})}function j(e,t){return[`<?xml version="1.0" encoding="UTF-8"?>`,`<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`,e.map(e=>{let n=D(e.full_slug,e.language_iso),r=t?O(n,t):n;if(!r)return``;let i=[` <url>`,` <loc>${k(r)}</loc>`];return e.published_at&&i.push(` <lastmod>${k(e.published_at)}</lastmod>`),i.push(` </url>`),i.join(`
12
+ `,document.head.appendChild(e)}function y(e){if(typeof document>`u`)return;let t=typeof e==`number`?`${e}px`:e;document.documentElement.style.setProperty(_,t)}function b(e,t){if(!h.isInPreviewMode()||!t.id)return()=>{};v();let{id:n,onSelectChange:r,onHoverChange:i,scrollOnSelect:a=!0}=t;e.classList.add(`b10cks-preview`);let o=e=>{e.preventDefault(),e.stopPropagation(),h.selectItem(n)},s=({selectedItem:t})=>{let i=t===n;e.classList.toggle(`b10cks-selected`,i),i&&a&&S(e),r?.(i)},c=({selectedItem:t})=>{let r=t===n;e.classList.toggle(`b10cks-hover`,r),i?.(r)};e.addEventListener(`click`,o);let l=h.on(`SELECT_UPDATE`,s),u=h.on(`HOVER_UPDATE`,c);return()=>{e.removeEventListener(`click`,o),l(),u(),e.classList.remove(`b10cks-preview`,`b10cks-selected`,`b10cks-hover`)}}function x(e,t){if(!h.isInPreviewMode()||!t.id)return()=>{};let{id:n,field:r,path:i,mode:a=`inline`}=t;if(a===`select`){v(),e.classList.add(`b10cks-preview`);let t=e=>{e.preventDefault(),e.stopPropagation(),i?h.selectField(n,i):h.selectItem(n)};return e.addEventListener(`click`,t),()=>{e.removeEventListener(`click`,t),e.classList.remove(`b10cks-preview`)}}e.setAttribute(`contenteditable`,`true`);let o=e=>{let t=e.target.innerText;i?h.updateFieldAt(n,i,t):h.updateField(n,r??``,t)};return e.addEventListener(`input`,o),()=>{e.removeEventListener(`input`,o),e.removeAttribute(`contenteditable`)}}function S(e){typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}function C(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function w(e,t,n){if(t.length===0)return n;let[r,...i]=t;if(r===void 0)return n;if(typeof r==`number`){let t=Array.isArray(e)?e.slice():[];return t[r]=w(t[r],i,n),t}let a=e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{};return a[r]=w(a[r],i,n),a}function T(e,t){let n=(e,r)=>{if(Array.isArray(e)){for(let t=0;t<e.length;t++){let i=n(e[t],[...r,t]);if(i)return i}return null}if(!e||typeof e!=`object`)return null;let i=e;if(r.length>0&&i.id===t)return r;for(let e of Object.keys(i)){let t=i[e];if(t&&typeof t==`object`){let i=n(t,[...r,e]);if(i)return i}}return null};return n(e,[])}function E(e,t){if(!t||typeof t!=`object`)return e;let n=typeof t.id==`string`?t.id:void 0;if(!n||!e||typeof e!=`object`)return t;let r=e,i=typeof r.id==`string`?r.id:void 0;if(i===n)return t;let a=T(e,n);return a?w(e,a,t):!i&&r.block!==void 0&&r.block===t.block?t:e}var D=class{content;listeners=new Set;constructor(e){this.content=e}subscribe=e=>(this.listeners.add(e),()=>{this.listeners.delete(e)});getSnapshot=()=>this.content;setContent(e){this.content=e,this.emit()}applyContentUpdate(e){let t=E(this.content,e);t!==this.content&&(this.content=t,this.emit())}patch(e,t){this.content=w(this.content,e,t),this.emit()}emit(){for(let e of this.listeners)e()}};function O(e){let t=h.on(`CONTENT_UPDATE`,({content:t})=>{e.applyContentUpdate(t)}),n=h.on(`CONTENT_PATCH`,({path:t,value:n})=>{e.patch(t,n)});return()=>{t(),n()}}function k(e){return(e??``).trim().replace(/^\/+|\/+$/g,``)}function A(e,t){let n=k(e),r=k(t);if(!r)return n&&n!==`home`?`/${n}`:`/`;if(!n||n===`home`)return`/${r}`;let i=`${r}/`;return n===r||n.startsWith(i)?`/${n}`:`/${r}/${n}`}function j(e,t){if(!t)return null;try{return new URL(e,t).toString()}catch{return null}}function M(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`)}function N(e,t,n){let{localePrefix:r=`auto`,defaultLocale:i}=t;return r===`always`||r===`auto`&&n||r===`except-default`&&e.language_iso!==i?A(e.full_slug,e.language_iso):A(e.full_slug,null)}function P(e){let t=new Set;for(let n of e)if(n.language_iso&&t.add(n.language_iso),t.size>1)return!0;return!1}function F(e,t={}){let{siteUrl:n,locale:r}=t,i=new Set,a=P(e);return e.filter(e=>{if(r&&e.language_iso!==r)return!1;let o=e.meta?.robots?.toLowerCase();if(o?.includes(`noindex`)||o?.includes(`none`))return!1;let s=N(e,t,a),c=n?j(s,n)??s:s;return i.has(c)?!1:(i.add(c),!0)})}function I(e,t,n={}){let r=P(e);return[`<?xml version="1.0" encoding="UTF-8"?>`,`<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`,e.map(e=>{let i=N(e,n,r),a=t?j(i,t):i;if(!a)return``;let o=[` <url>`,` <loc>${M(a)}</loc>`];return e.published_at&&o.push(` <lastmod>${M(e.published_at)}</lastmod>`),o.push(` </url>`),o.join(`
13
13
  `)}).filter(Boolean).join(`
14
14
  `),`</urlset>`].join(`
15
- `)}function M(e,t){return[`<?xml version="1.0" encoding="UTF-8"?>`,`<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`,e.map(e=>{let n=t?O(e,t):e;return n?[` <sitemap>`,` <loc>${k(n)}</loc>`,` </sitemap>`].join(`
15
+ `)}function L(e,t){return[`<?xml version="1.0" encoding="UTF-8"?>`,`<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`,e.map(e=>{let n=t?j(e,t):e;return n?[` <sitemap>`,` <loc>${M(n)}</loc>`,` </sitemap>`].join(`
16
16
  `):``}).filter(Boolean).join(`
17
17
  `),`</sitemapindex>`].join(`
18
- `)}var N=t({}),P=class extends Error{status;endpoint;body;constructor(e,t,n,r){super(e),this.status=t,this.endpoint=n,this.body=r,this.name=`ApiError`}},F=e=>e===429||e>=500&&e<=599,I=e=>new Promise(t=>setTimeout(t,e)),L=class{baseUrl;token;vid;fetchClient;getRvFn;setRvFn;timeoutMs;retries;maxConcurrency;rvValue=0;constructor(e,t){this.baseUrl=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl,this.token=e.token;let n=typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):null;if(e.fetchClient)this.fetchClient=e.fetchClient;else if(n)this.fetchClient=n;else throw Error("No fetch implementation available. Provide `fetchClient` in ApiClient options.");this.getRvFn=e.getRv,this.setRvFn=e.setRv,this.timeoutMs=e.timeoutMs,this.retries=Math.max(0,e.retries??0),this.maxConcurrency=Math.max(1,e.maxConcurrency??6);let r=this.resolveRequestUrl(t);this.vid=e.version||`published`,this.setRv(r?.searchParams.get(`b10cks_rv`)||e.rv||0)}async get(e,t={}){let n=this.buildUrl(e,{vid:this.vid,rv:this.getRv(),...t,token:this.token}),r=await this.requestWithRetry(n,e);return this.hasRevision(r)&&this.setRv(r.rv),r}async post(e,t,n={}){let r=this.buildUrl(e,{vid:this.vid,rv:this.getRv(),...n,token:this.token}),i=await this.fetchWithTimeout(r,{method:`POST`,headers:{"Content-Type":`application/json`},body:t===void 0?void 0:JSON.stringify(t)});return this.parseResponse(i,e)}async fetchWithTimeout(e,t){if(!this.timeoutMs)return this.fetchClient(e,t);let n=new AbortController,r=setTimeout(()=>n.abort(),this.timeoutMs);try{return await this.fetchClient(e,{...t,signal:n.signal})}catch(t){throw t instanceof Error&&t.name===`AbortError`?new P(`Request timed out after ${this.timeoutMs}ms`,0,e):t}finally{clearTimeout(r)}}async requestWithRetry(e,t){let n;for(let r=0;r<=this.retries;r++)try{let n=await this.fetchWithTimeout(e);return await this.parseResponse(n,t)}catch(e){if(n=e,!(r<this.retries&&(!(e instanceof P)||e.status===0||F(e.status))))throw e;await I(200*2**r)}throw n}async getAll(e,t={}){let n=await this.get(e,{...t,page:1}),r=this.normalizeCollectionResponse(n);if(r.rv&&this.setRv(r.rv),!r.meta||r.meta.last_page<=1)return r.data;let i=Array.from({length:r.meta.last_page-1},(e,t)=>t+2),a=await this.mapWithConcurrency(i,n=>this.get(e,{...t,page:n}));return r.data.concat(a.flatMap(e=>this.normalizeCollectionResponse(e).data))}async mapWithConcurrency(e,t){let n=Array.from({length:e.length}),r=0,i=async()=>{for(;r<e.length;){let i=r++;n[i]=await t(e[i])}},a=Array.from({length:Math.min(this.maxConcurrency,e.length)},()=>i());return await Promise.all(a),n}setRv(e){this.setRvFn?this.setRvFn(e):this.rvValue=e}getRv(){return this.getRvFn?this.getRvFn():this.rvValue}async parseResponse(e,t){if(this.isFetchResponse(e)){if(!e.ok){let n=await this.readErrorBody(e);throw new P(`Request to "${t}" failed with status ${e.status}`,e.status,t,n)}return await e.json()}return e}async readErrorBody(e){try{let t=await e.text();if(!t)return;try{return JSON.parse(t)}catch{return t}}catch{return}}normalizeCollectionResponse(e){if(this.isCollectionResponseEnvelope(e)){let t=e.data;return{data:t.data,meta:t.meta,rv:e.rv||t.rv}}if(Array.isArray(e))return{data:e,meta:void 0,rv:void 0};if(typeof e==`object`&&e&&`data`in e){let{data:t,meta:n,rv:r}=e;return{data:t,meta:n,rv:r}}return{data:[],meta:void 0,rv:void 0}}buildUrl(e,t){let n=new URL(`${this.baseUrl}/v1/${e}`);return Object.entries(t).forEach(([e,t])=>{t!=null&&n.searchParams.append(e,String(t))}),n.toString()}resolveRequestUrl(e){return e?e instanceof URL?e:new URL(e,`http://localhost`):null}isFetchResponse(e){return typeof e==`object`&&!!e&&`json`in e&&typeof e.json==`function`&&`ok`in e}hasRevision(e){return typeof e==`object`&&!!e&&`rv`in e&&e.rv!=null}isCollectionResponseEnvelope(e){return typeof e==`object`&&!!e&&`data`in e&&typeof e.data==`object`&&e.data!==null&&`data`in e.data&&Array.isArray(e.data.data)}};exports.ApiClient=L,exports.ApiError=P,exports.B10cksDataApi=l,exports.PreviewBridge=p,exports.PreviewStore=w,exports.attachEditable=y,exports.attachEditableField=b,exports.bindPreviewStore=T,exports.breadcrumbJsonLd=r,exports.buildLocalizedPath=D,exports.createB10cksDataApi=u,exports.ensurePreviewStyles=_,exports.filterSitemapEntries=A,exports.getAtPath=S,exports.normalizePathSegment=E,exports.previewBridge=m,exports.renderSitemapIndex=M,exports.renderSitemapXml=j,exports.resolveB10cksLink=i,exports.serializeFilter=o,exports.setAtPath=C,exports.setPreviewScrollOffset=v,Object.defineProperty(exports,"types",{enumerable:!0,get:function(){return N}});
18
+ `)}var R=t({}),z=class extends Error{status;endpoint;body;constructor(e,t,n,r){super(e),this.status=t,this.endpoint=n,this.body=r,this.name=`ApiError`}},B=e=>e===429||e>=500&&e<=599,V=e=>new Promise(t=>setTimeout(t,e)),H=class{baseUrl;token;vid;fetchClient;getRvFn;setRvFn;timeoutMs;retries;maxConcurrency;rvValue=0;constructor(e,t){this.baseUrl=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl,this.token=e.token;let n=typeof globalThis.fetch==`function`?globalThis.fetch.bind(globalThis):null;if(e.fetchClient)this.fetchClient=e.fetchClient;else if(n)this.fetchClient=n;else throw Error("No fetch implementation available. Provide `fetchClient` in ApiClient options.");this.getRvFn=e.getRv,this.setRvFn=e.setRv,this.timeoutMs=e.timeoutMs,this.retries=Math.max(0,e.retries??0),this.maxConcurrency=Math.max(1,e.maxConcurrency??6);let r=this.resolveRequestUrl(t);this.vid=e.version||`published`,this.setRv(r?.searchParams.get(`b10cks_rv`)||e.rv||0)}async get(e,t={}){let n=this.buildUrl(e,{vid:this.vid,rv:this.getRv(),...t,token:this.token}),r=await this.requestWithRetry(n,e);return this.hasRevision(r)&&this.setRv(r.rv),r}async post(e,t,n={}){let r=this.buildUrl(e,{vid:this.vid,rv:this.getRv(),...n,token:this.token}),i=await this.fetchWithTimeout(r,{method:`POST`,headers:{"Content-Type":`application/json`},body:t===void 0?void 0:JSON.stringify(t)});return this.parseResponse(i,e)}async fetchWithTimeout(e,t){if(!this.timeoutMs)return this.fetchClient(e,t);let n=new AbortController,r=setTimeout(()=>n.abort(),this.timeoutMs);try{return await this.fetchClient(e,{...t,signal:n.signal})}catch(t){throw t instanceof Error&&t.name===`AbortError`?new z(`Request timed out after ${this.timeoutMs}ms`,0,e):t}finally{clearTimeout(r)}}async requestWithRetry(e,t){let n;for(let r=0;r<=this.retries;r++)try{let n=await this.fetchWithTimeout(e);return await this.parseResponse(n,t)}catch(e){if(n=e,!(r<this.retries&&(!(e instanceof z)||e.status===0||B(e.status))))throw e;await V(200*2**r)}throw n}async getAll(e,t={}){let n=await this.get(e,{...t,page:1}),r=this.normalizeCollectionResponse(n);if(r.rv&&this.setRv(r.rv),!r.meta||r.meta.last_page<=1)return r.data;let i=Array.from({length:r.meta.last_page-1},(e,t)=>t+2),a=await this.mapWithConcurrency(i,n=>this.get(e,{...t,page:n}));return r.data.concat(a.flatMap(e=>this.normalizeCollectionResponse(e).data))}async mapWithConcurrency(e,t){let n=Array.from({length:e.length}),r=0,i=async()=>{for(;r<e.length;){let i=r++;n[i]=await t(e[i])}},a=Array.from({length:Math.min(this.maxConcurrency,e.length)},()=>i());return await Promise.all(a),n}setRv(e){this.setRvFn?this.setRvFn(e):this.rvValue=e}getRv(){return this.getRvFn?this.getRvFn():this.rvValue}async parseResponse(e,t){if(this.isFetchResponse(e)){if(!e.ok){let n=await this.readErrorBody(e);throw new z(`Request to "${t}" failed with status ${e.status}`,e.status,t,n)}return await e.json()}return e}async readErrorBody(e){try{let t=await e.text();if(!t)return;try{return JSON.parse(t)}catch{return t}}catch{return}}normalizeCollectionResponse(e){if(this.isCollectionResponseEnvelope(e)){let t=e.data;return{data:t.data,meta:t.meta,rv:e.rv||t.rv}}if(Array.isArray(e))return{data:e,meta:void 0,rv:void 0};if(typeof e==`object`&&e&&`data`in e){let{data:t,meta:n,rv:r}=e;return{data:t,meta:n,rv:r}}return{data:[],meta:void 0,rv:void 0}}buildUrl(e,t){let n=new URL(`${this.baseUrl}/v1/${e}`);return Object.entries(t).forEach(([e,t])=>{t!=null&&n.searchParams.append(e,String(t))}),n.toString()}resolveRequestUrl(e){return e?e instanceof URL?e:new URL(e,`http://localhost`):null}isFetchResponse(e){return typeof e==`object`&&!!e&&`json`in e&&typeof e.json==`function`&&`ok`in e}hasRevision(e){return typeof e==`object`&&!!e&&`rv`in e&&e.rv!=null}isCollectionResponseEnvelope(e){return typeof e==`object`&&!!e&&`data`in e&&typeof e.data==`object`&&e.data!==null&&`data`in e.data&&Array.isArray(e.data.data)}};exports.ApiClient=H,exports.ApiError=z,exports.B10cksDataApi=u,exports.PreviewBridge=m,exports.PreviewStore=D,exports.attachEditable=b,exports.attachEditableField=x,exports.bindPreviewStore=O,exports.breadcrumbJsonLd=r,exports.buildLocalizedPath=A,exports.createB10cksDataApi=d,exports.ensurePreviewStyles=v,exports.filterSitemapEntries=F,exports.findPathById=T,exports.getAtPath=C,exports.mergeContentUpdate=E,exports.normalizePathSegment=k,exports.previewBridge=h,exports.renderSitemapIndex=L,exports.renderSitemapXml=I,exports.resolveB10cksLink=a,exports.serializeFilter=s,exports.setAtPath=w,exports.setPreviewScrollOffset=y,exports.toRootBlock=i,Object.defineProperty(exports,"types",{enumerable:!0,get:function(){return R}});
19
19
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":[],"sources":["../src/breadcrumb.ts","../src/content.ts","../src/data-api.ts","../src/preview-bridge.ts","../src/editable.ts","../src/preview-store.ts","../src/sitemap.ts","../src/types.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":[],"sources":["../src/breadcrumb.ts","../src/content.ts","../src/data-api.ts","../src/preview-bridge.ts","../src/editable.ts","../src/preview-store.ts","../src/sitemap.ts","../src/types.ts","../src/index.ts"],"mappings":"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"}