@b10cks/client 1.11.0 → 1.12.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
@@ -422,6 +422,7 @@ Event protocol:
422
422
  | `FIELD_UPDATE` | preview → editor | `{ itemId, path?, field?, value }` | Stream an inline edit |
423
423
  | `CONTENT_UPDATE` | editor → preview | `{ content }` | Replace the whole content tree |
424
424
  | `CONTENT_PATCH` | editor → preview | `{ path, value }` | Replace a single value at `path` |
425
+ | `HIDDEN_BLOCKS` | editor → preview | `{ ids }` | Ids of all hidden blocks, to dim them |
425
426
 
426
427
  `path` is a `FieldPath` (`(string | number)[]`) that addresses any value at any depth, including array indices — e.g. `['body', 2, 'headline']`.
427
428
 
@@ -436,16 +437,31 @@ By default the bridge locks onto the origin of the first message it receives (tr
436
437
  ```typescript
437
438
  import { attachEditable, attachEditableField } from '@b10cks/client'
438
439
 
439
- // Selectable block: click selects it; editor-driven select/hover toggle outline classes.
440
- const detach = attachEditable(el, { id: block.id })
440
+ // Selectable block: click selects it in the editor, labelled with the block type.
441
+ const detach = attachEditable(el, { id: block.id, label: block.block })
441
442
 
442
443
  // Inline string field (contenteditable, streams plain-text edits):
443
444
  attachEditableField(el, { id: block.id, field: 'headline' })
444
445
 
445
- // Rich text / complex field — deep-select instead of editing inline:
446
- attachEditableField(el, { id: block.id, path: ['body'], mode: 'select' })
446
+ // Complex field — deep-select instead of editing inline:
447
+ attachEditableField(el, { id: block.id, path: ['link'], mode: 'select' })
447
448
  ```
448
449
 
450
+ In the editor, a click on an editable element selects it and nothing else: it is intercepted before any handler on the page, so links, buttons, and router links inside a block don't fire. Clicks outside editables behave as usual.
451
+
452
+ Selection and hover are drawn in an overlay layer, in a shadow root above the page, so your styles and layout stay untouched. Only the innermost editable is highlighted, with a label: the block type for blocks (`hero_section` reads as `Hero section`), the field name for `select`-mode fields. Pass `label` to override it. The highlighted elements also get the `b10cks-selected` and `b10cks-hover` classes if you want to add your own styling. Blocks the editor hides get `b10cks-hidden` and are shown at reduced opacity; they stay in the preview and selectable.
453
+
454
+ To use the page itself, hold Alt (Option on macOS) while clicking: the click then reaches the page and selects nothing, so editors can open tabs, accordions, or carousels. Some macOS browsers download a link on Option-click.
455
+
456
+ The selection label carries the editing tools:
457
+
458
+ - **Breadcrumb**: the blocks around the selection, like `Page › Hero › Card`. Click one to select it. Long chains keep the three closest ancestors.
459
+ - **Quick actions** for blocks: move up, move down, add a block before or after, duplicate, hide or show, delete. They ask the editor through `previewBridge.blockAction`, and the editor applies them and sends the new content. They show only for editors on bridge protocol 1 or later, which send `BLOCK_LABELS`; older editors couldn't run them. Move up and down are disabled when there is no sibling block on that side. Hide and show need an editor that sends `HIDDEN_BLOCKS` (bridge protocol 2); with older editors the toggle isn't shown.
460
+ - **Drag handle**: drag it to drop the block before or after another block, shown by a line. Dropping on the block itself, inside it, or on one of its ancestors does nothing. Escape cancels. The drop calls `previewBridge.moveBlock`, and the editor rejects moves its schema doesn't allow.
461
+ - **Keyboard**, while the preview has focus and not while typing in a form field or contenteditable: Escape selects the parent block, ArrowUp and ArrowDown the previous and next sibling block.
462
+
463
+ Siblings are the block editables that share the same parent block editable. A block the page renders without an editable is invisible to the preview, so wire up every block you want editors to reach.
464
+
449
465
  ### Scroll offset (fixed headers)
450
466
 
451
467
  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:
@@ -461,7 +477,7 @@ or from JS (the framework packages expose a `scrollOffset` option that calls thi
461
477
  ```typescript
462
478
  import { ensurePreviewStyles, setPreviewScrollOffset } from '@b10cks/client'
463
479
 
464
- ensurePreviewStyles() // inject the outline + scroll-margin styles once
480
+ ensurePreviewStyles() // inject the scroll-margin styles once
465
481
  setPreviewScrollOffset(80) // number → px, or pass a string like '5rem'
466
482
  ```
467
483
 
package/dist/index.cjs CHANGED
@@ -1,19 +1,50 @@
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??``).trimEnd(),r=e.params?new URLSearchParams(e.params).toString():``;if(r){let e=n.indexOf(`#`),t=e===-1?n:n.slice(0,e),i=e===-1?``:n.slice(e);n=`${t}${t.includes(`?`)?`&`:`?`}${r}${i}`}return e.anchor&&!n.includes(`#`)&&(n=`${n}#${encodeURIComponent(e.anchor)}`),{href:n,target:t}}function o(e){return e?.id?{id:e.id}:{}}function s(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 c(e){let t={};for(let[n,r]of Object.entries(e)){let e=s(r);e!==void 0&&(t[n]=e)}return t}function l(e,t,n){let r=t&&typeof t==`object`?c(t):{},i=Array.isArray(n)?{sort:n.join(`,`)}:n==null?{}:{sort:n};return{...e,...r,...i}}var u=128,d=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`,l(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`,l(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=l(o,a,void 0),c=await this.getCollection(`redirects`,s,{allPages:n}),u=Object.fromEntries(c.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>u){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 f(e){return new d(e)}var p=new Set([`CONTENT_UPDATE`,`CONTENT_PATCH`,`SELECT_UPDATE`,`HOVER_UPDATE`,`FIELD_UPDATE`,`FIELD_SELECT`]),m=`B10CKS_BRIDGE_READY`,h=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:m},`*`)}}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||!p.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)}},g=h.getInstance(),_=`b10cks-preview-style`,v=`--b10cks-scroll-offset`;function y(){if(typeof document>`u`||document.getElementById(_))return;let e=document.createElement(`style`);e.id=_,e.textContent=`
2
- .b10cks-preview { scroll-margin-top: var(${v}, 0px); }
3
- .b10cks-hover,
4
- .b10cks-preview:hover {
5
- outline: 2px dashed rgba(59, 130, 246, 0.5);
6
- outline-offset: 2px;
7
- }
8
- .b10cks-selected {
9
- outline: 2px solid rgb(59, 130, 246) !important;
10
- outline-offset: 2px;
11
- }
12
- `,document.head.appendChild(e)}function b(e){if(typeof document>`u`)return;let t=typeof e==`number`?`${e}px`:e;document.documentElement.style.setProperty(v,t)}function x(e,t){if(!g.isInPreviewMode()||!t.id)return()=>{};y();let{id:n,onSelectChange:r,onHoverChange:i,scrollOnSelect:a=!0}=t;e.classList.add(`b10cks-preview`);let o=e=>{e.preventDefault(),e.stopPropagation(),g.selectItem(n)},s=({selectedItem:t})=>{let i=t===n;e.classList.toggle(`b10cks-selected`,i),i&&a&&C(e),r?.(i)},c=({selectedItem:t})=>{let r=t===n;e.classList.toggle(`b10cks-hover`,r),i?.(r)};e.addEventListener(`click`,o);let l=g.on(`SELECT_UPDATE`,s),u=g.on(`HOVER_UPDATE`,c);return()=>{e.removeEventListener(`click`,o),l(),u(),e.classList.remove(`b10cks-preview`,`b10cks-selected`,`b10cks-hover`)}}function S(e,t){if(!g.isInPreviewMode()||!t.id)return()=>{};let{id:n,field:r,path:i,mode:a=`inline`}=t;if(a===`select`){y(),e.classList.add(`b10cks-preview`);let t=e=>{e.preventDefault(),e.stopPropagation(),i?g.selectField(n,i):g.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?g.updateFieldAt(n,i,t):g.updateField(n,r??``,t)};return e.addEventListener(`input`,o),()=>{e.removeEventListener(`input`,o),e.removeAttribute(`contenteditable`)}}function C(e){typeof e.scrollIntoView==`function`&&e.scrollIntoView({block:`nearest`,behavior:`smooth`})}function w(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function T(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]=T(t[r],i,n),t}let a=e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{};return a[r]=T(a[r],i,n),a}function E(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 D(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=E(e,n);return a?T(e,a,t):!i&&r.block!==void 0&&r.block===t.block?t:e}var O=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=D(this.content,e);t!==this.content&&(this.content=t,this.emit())}patch(e,t){this.content=T(this.content,e,t),this.emit()}emit(){for(let e of this.listeners)e()}};function k(e){let t=g.on(`CONTENT_UPDATE`,({content:t})=>{e.applyContentUpdate(t)}),n=g.on(`CONTENT_PATCH`,({path:t,value:n})=>{e.patch(t,n)});return()=>{t(),n()}}function A(e){return(e??``).trim().replace(/^\/+|\/+$/g,``)}function j(e,t){let n=A(e),r=A(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 M(e,t){if(!t)return null;try{return new URL(e,t).toString()}catch{return null}}function N(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`)}function P(e,t,n){let{localePrefix:r=`auto`,defaultLocale:i}=t;return r===`always`||r===`auto`&&n||r===`except-default`&&e.language_iso!==i?j(e.full_slug,e.language_iso):j(e.full_slug,null)}function F(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 I(e,t={}){let{siteUrl:n,locale:r}=t,i=new Set,a=F(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=P(e,t,a),c=n?M(s,n)??s:s;return i.has(c)?!1:(i.add(c),!0)})}function L(e,t,n={}){let r=F(e);return[`<?xml version="1.0" encoding="UTF-8"?>`,`<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`,e.map(e=>{let i=P(e,n,r),a=t?M(i,t):i;if(!a)return``;let o=[` <url>`,` <loc>${N(a)}</loc>`];return e.published_at&&o.push(` <lastmod>${N(e.published_at)}</lastmod>`),o.push(` </url>`),o.join(`
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??``).trimEnd(),r=e.params?new URLSearchParams(e.params).toString():``;if(r){let e=n.indexOf(`#`),t=e===-1?n:n.slice(0,e),i=e===-1?``:n.slice(e);n=`${t}${t.includes(`?`)?`&`:`?`}${r}${i}`}return e.anchor&&!n.includes(`#`)&&(n=`${n}#${encodeURIComponent(e.anchor)}`),{href:n,target:t}}function o(e){return e?.id?{id:e.id}:{}}function s(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 c(e){let t={};for(let[n,r]of Object.entries(e)){let e=s(r);e!==void 0&&(t[n]=e)}return t}function l(e,t,n){let r=t&&typeof t==`object`?c(t):{},i=Array.isArray(n)?{sort:n.join(`,`)}:n==null?{}:{sort:n};return{...e,...r,...i}}var u=128,d=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`,l(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`,l(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=l(o,a,void 0),c=await this.getCollection(`redirects`,s,{allPages:n}),u=Object.fromEntries(c.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>u){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 f(e){return new d(e)}var p=e=>typeof e==`object`&&!!e&&!Array.isArray(e),m=e=>Array.isArray(e)&&e.every(e=>typeof e==`string`||typeof e==`number`&&Number.isInteger(e)&&e>=0),h=e=>e.selectedItem===null||typeof e.selectedItem==`string`,g={CONTENT_UPDATE:e=>p(e.content),CONTENT_PATCH:e=>m(e.path)&&`value`in e&&(e.itemId===void 0||typeof e.itemId==`string`),SELECT_UPDATE:h,HOVER_UPDATE:h,BLOCK_LABELS:e=>p(e.labels)&&Object.values(e.labels).every(e=>typeof e==`string`),HIDDEN_BLOCKS:e=>Array.isArray(e.ids)&&e.ids.every(e=>typeof e==`string`)},_=e=>typeof e==`string`&&Object.hasOwn(g,e),ee=`B10CKS_BRIDGE_READY`,te=2,ne=class e{static instance;listeners={};received={};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:ee,payload:{protocol:2}},`*`)}}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(),delete this.received[e]}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)}}latest(e){return this.received[e]}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})}blockAction(e,t){this.post(`BLOCK_ACTION`,{itemId:e,action:t})}moveBlock(e,t,n){this.post(`BLOCK_MOVE`,{itemId:e,targetId:t,position: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)&&p(n)&&g[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){this.received[e]=t;let n=this.listeners[e];if(n)for(let e of n)e(t)}},v=ne.getInstance(),y=`rgb(59, 130, 246)`,re=2,ie=`
2
+ :host { all: initial; position: fixed; inset: 0; pointer-events: none; z-index: 2147483647; }
3
+ [hidden] { display: none !important; }
4
+ .box {
5
+ position: fixed; top: 0; left: 0; box-sizing: border-box;
6
+ border: ${re}px solid ${y}; border-radius: 2px;
7
+ }
8
+ .box.hover { border-style: dashed; border-color: rgba(59, 130, 246, 0.6); }
9
+ .label {
10
+ position: absolute; left: 6px; bottom: 100%; margin-bottom: ${re}px;
11
+ display: flex; align-items: center; padding: 0 6px; border-radius: 3px 3px 0 0; white-space: nowrap;
12
+ font: 500 11px/16px system-ui, -apple-system, sans-serif;
13
+ color: #fff; background: ${y};
14
+ }
15
+ .label:empty, .name:empty, .crumbs:empty { display: none; }
16
+ .box.hover .label { background: rgba(59, 130, 246, 0.8); }
17
+ .box[data-inside] .label { bottom: auto; top: 0; margin: 0; border-radius: 0 0 3px 3px; }
18
+ .bar { pointer-events: auto; line-height: 20px; padding-right: 2px; user-select: none; -webkit-user-select: none; }
19
+ .crumbs { display: flex; align-items: center; }
20
+ .crumb { all: unset; cursor: pointer; opacity: 0.75; max-width: 12em; overflow: hidden; text-overflow: ellipsis; border-radius: 2px; }
21
+ .crumb:hover { opacity: 1; text-decoration: underline; }
22
+ .sep, .more { opacity: 0.6; padding: 0 4px; }
23
+ .name { max-width: 16em; overflow: hidden; text-overflow: ellipsis; }
24
+ .tools { display: flex; margin-left: 6px; padding-left: 2px; border-left: 1px solid rgba(255, 255, 255, 0.35); }
25
+ .tool {
26
+ all: unset; box-sizing: border-box; display: grid; place-items: center;
27
+ width: 20px; height: 20px; border-radius: 2px; cursor: pointer;
28
+ }
29
+ .tool:hover:not(:disabled) { background: rgba(255, 255, 255, 0.2); }
30
+ .tool[aria-pressed='true'] { background: rgba(255, 255, 255, 0.3); }
31
+ .tool:disabled { opacity: 0.4; cursor: default; }
32
+ .tool svg { width: 14px; height: 14px; }
33
+ .handle { cursor: grab; touch-action: none; }
34
+ :host([data-dragging]) .handle { cursor: grabbing; }
35
+ .crumb:focus-visible, .tool:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
36
+ .indicator {
37
+ position: fixed; top: 0; left: 0; border-radius: 2px;
38
+ background: ${y}; box-shadow: 0 0 0 1px #fff;
39
+ }
40
+ `,ae=[{action:`move-up`,label:`Move up`,icon:`<path d="M12 19V5M6 11l6-6 6 6"/>`},{action:`move-down`,label:`Move down`,icon:`<path d="M12 5v14M6 13l6 6 6-6"/>`},{action:`insert-before`,label:`Add block before`,icon:`<path d="M4 4h16M12 9v10M7 14h10"/>`},{action:`insert-after`,label:`Add block after`,icon:`<path d="M4 20h16M12 5v10M7 10h10"/>`},{action:`duplicate`,label:`Duplicate`,icon:`<rect x="8" y="8" width="12" height="12" rx="2"/><path d="M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2"/>`},{action:`delete`,label:`Delete`,icon:`<path d="M4 7h16M10 11v6M14 11v6M6 7l1 13h10l1-13M9 7V4h6v3"/>`}],oe=`<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z"/><circle cx="12" cy="12" r="3"/>`,se=`<path d="M10.7 5.1A10.4 10.4 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-1.7 2.6M6.6 6.6A17 17 0 0 0 2 12s3.5 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2M2 2l20 20"/>`,ce=`<g fill="currentColor" stroke="none"><circle cx="9" cy="6" r="1.5"/><circle cx="15" cy="6" r="1.5"/><circle cx="9" cy="12" r="1.5"/><circle cx="15" cy="12" r="1.5"/><circle cx="9" cy="18" r="1.5"/><circle cx="15" cy="18" r="1.5"/></g>`,le=`Alt/Option-click to use links and buttons on the page`;function ue(e){let t=document.createElement(`div`);t.id=`b10cks-overlay`;let n=t.attachShadow({mode:`open`}),r=document.createElement(`style`);r.textContent=ie,n.appendChild(r);let i=b(`div`,`box hover`);i.hidden=!0;let a=b(`div`,`label name`);i.appendChild(a);let o=b(`div`,`box selected`);o.hidden=!0;let s=b(`div`,`label bar`),c=b(`span`,`crumbs`),l=b(`span`,`name`);l.title=le;let u=b(`div`,`tools`);u.setAttribute(`role`,`toolbar`),u.setAttribute(`aria-label`,`Block actions`);let d=b(`div`,`tool handle`);d.title=`Drag to move`,d.setAttribute(`aria-hidden`,`true`),d.innerHTML=x(ce),d.addEventListener(`pointerdown`,t=>e.onDragStart(t,d)),u.appendChild(d);let f=new Map;for(let t of ae){let n=b(`button`,`tool`);n.type=`button`,n.title=t.label,n.setAttribute(`aria-label`,t.label),n.innerHTML=x(t.icon),n.addEventListener(`click`,()=>e.onAction(t.action)),f.set(t.action,n),u.appendChild(n)}let p=!1,m=b(`button`,`tool`);m.type=`button`,m.addEventListener(`click`,()=>e.onAction(p?`show`:`hide`));let h=e=>{p=e;let t=p?`Show`:`Hide`;m.title=t,m.setAttribute(`aria-label`,t),m.setAttribute(`aria-pressed`,String(p)),m.innerHTML=x(p?se:oe)};h(!1),u.insertBefore(m,f.get(`delete`)??null),s.append(c,l,u),o.appendChild(s);let g=b(`div`,`indicator`);g.hidden=!0,n.append(i,o,g),document.body.appendChild(t);let _=``;return{host:t,selected:{box:o,label:s,name:l},hover:{box:i,label:a,name:a},indicator:g,renderBar(t){if(s.hidden=!t||!t.label&&t.crumbs.length===0&&!t.actions,!t)return;let n=t.crumbs.map(e=>`${e.id}\u0000${e.label}`).join(``);n!==_&&(_=n,c.replaceChildren(...de(t.crumbs,e.onSelect))),l.textContent=t.label,u.hidden=!t.actions,pe(f.get(`move-up`),!t.actions?.canMoveUp),pe(f.get(`move-down`),!t.actions?.canMoveDown);let r=t.actions?.hidden??null;m.hidden=r===null,r!==null&&r!==p&&h(r)},setDragging(e){t.toggleAttribute(`data-dragging`,e)}}}function de(e,t){let n=[],r=e.slice(0,-3);if(r.length>0){let e=b(`span`,`more`);e.textContent=`…`,e.title=r.map(e=>e.label).join(` › `),n.push(e,fe())}for(let r of e.slice(-3)){let e=b(`button`,`crumb`);e.type=`button`,e.textContent=r.label,e.title=`Select ${r.label}`,e.addEventListener(`click`,()=>t(r.id)),n.push(e,fe())}return n}function fe(){let e=b(`span`,`sep`);return e.textContent=`›`,e.setAttribute(`aria-hidden`,`true`),e}function pe(e,t){e&&(e.disabled=t)}function b(e,t){let n=document.createElement(e);return n.className=t,n}function x(e){return`<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${e}</svg>`}var S={selected:`b10cks-selected`,hover:`b10cks-hover`},C=`b10cks-hidden`,w=2,me=24,T=3,E=new Map,D={selected:null,hover:null},O=null,k=null,A=null,j=null,M=null,N=!1,P=!1,F=!1,I=null;function he(e,t){return E.set(e,t),t.kind===`block`&&e.classList.toggle(C,Ie(t.id)===!0),k||=ge(),t.kind===`block`&&t.id===O&&G(),()=>{if(E.get(e)===t){E.delete(e),t.kind===`block`&&e.classList.remove(C);for(let t of[`selected`,`hover`])D[t]===e&&(D[t]=null,e.classList.remove(S[t]));E.size===0?(k?.(),k=null):G()}}}function ge(){O=v.latest(`SELECT_UPDATE`)?.selectedItem??O,O&&G();let e=v.on(`SELECT_UPDATE`,({selectedItem:e})=>{O=e||null;let t=D.selected&&E.get(D.selected);(t?.kind!==`field`||e&&e!==t.id)&&K(`selected`,B(O))}),t=v.on(`HOVER_UPDATE`,({selectedItem:e})=>{K(`hover`,B(e||null))}),n=v.on(`BLOCK_LABELS`,q),r=v.on(`HIDDEN_BLOCKS`,({ids:e})=>{let t=new Set(e);for(let[e,n]of E)n.kind===`block`&&e.classList.toggle(C,t.has(n.id));q()}),i={capture:!0,passive:!0};return window.addEventListener(`click`,L,!0),window.addEventListener(`auxclick`,L,!0),window.addEventListener(`keydown`,_e,!0),document.addEventListener(`pointerover`,xe,!0),document.addEventListener(`pointerout`,Se,!0),window.addEventListener(`scroll`,J,i),window.addEventListener(`resize`,J),j=typeof ResizeObserver>`u`?null:new ResizeObserver(J),M=typeof MutationObserver>`u`?null:new MutationObserver(q),()=>{W(),e(),t(),n(),r(),window.removeEventListener(`click`,L,!0),window.removeEventListener(`auxclick`,L,!0),window.removeEventListener(`keydown`,_e,!0),document.removeEventListener(`pointerover`,xe,!0),document.removeEventListener(`pointerout`,Se,!0),window.removeEventListener(`scroll`,J,i),window.removeEventListener(`resize`,J),j?.disconnect(),j=null,M?.disconnect(),M=null,D.selected=null,D.hover=null,A?.host.remove(),A=null}}function L(e){if(e.altKey)return;let t=Ce(e);t&&(R(e),e.type===`click`&&z(t,e))}function _e(e){if(I){e.key===`Escape`&&(R(e),W());return}let t=D.selected;if(!t?.isConnected||e.defaultPrevented||ve(e)||e.altKey||e.ctrlKey||e.metaKey||e.shiftKey)return;let n=null;e.key===`Escape`?n=H(t)[0]??null:e.key===`ArrowUp`?n=U(t,-1):e.key===`ArrowDown`&&(n=U(t,1)),n&&(R(e),z(n))}function ve(e){let t=e.composedPath()[0];return t instanceof HTMLElement&&(t.isContentEditable||t.matches(`input, textarea, select`))}function R(e){e.preventDefault(),e.stopImmediatePropagation()}function z(e,t){let n=E.get(e);n&&(n.activate(t),n.kind===`block`&&(O=n.id),K(`selected`,e))}function ye(e){let t=B(e);t&&z(t)}function be(e){let t=D.selected&&E.get(D.selected);t?.kind===`block`&&v.blockAction(t.id,e)}function xe(e){K(`hover`,Ce(e))}function Se(e){e.relatedTarget||K(`hover`,null)}function Ce(e){for(let t of e.composedPath())if(t instanceof HTMLElement&&E.has(t))return t;return null}function B(e){if(!e)return null;let t=null;for(let[n,r]of E)r.kind===`block`&&r.id===e&&n.isConnected&&(!t||t.contains(n))&&(t=n);return t}function V(e){if(e.parentElement)return e.parentElement;let t=e.parentNode;return t instanceof ShadowRoot?t.host:null}function H(e){let t=[],n=E.get(e),r=n?.kind===`block`?n.id:null;for(let n=V(e);n;n=V(n)){if(!(n instanceof HTMLElement))continue;let e=E.get(n);e?.kind===`block`&&e.id!==r&&(t.push(n),r=e.id)}return t}function we(e){let t=H(e)[0];return(t&&E.get(t)?.id)??null}function U(e,t){let n=E.get(e);if(n?.kind!==`block`)return null;let r=we(e),i=t===1?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING,a=null;for(let[t,o]of E)o.kind===`block`&&o.id!==n.id&&t.isConnected&&e.compareDocumentPosition(t)&i&&(!a||t.compareDocumentPosition(a)&i)&&we(t)===r&&(a=t);return a&&B(E.get(a)?.id??null)}function Te(e){let t=E.get(e);if(!t)return null;let n=H(e).reverse().flatMap(e=>{let t=E.get(e);return t?[{id:t.id,label:Y(t)||`Block`}]:[]});return{label:Y(t),crumbs:n,actions:t.kind===`block`&&Fe()?{canMoveUp:!!U(e,-1),canMoveDown:!!U(e,1),hidden:Ie(t.id)}:null}}function Ee(e,t){let n=D.selected,r=n&&E.get(n);n&&r?.kind===`block`&&e.button===0&&(e.preventDefault(),e.isTrusted&&t.setPointerCapture(e.pointerId),I={id:r.id,el:n,drop:null},A?.setDragging(!0),window.addEventListener(`pointermove`,De,!0),window.addEventListener(`pointerup`,Oe,!0),window.addEventListener(`pointercancel`,W,!0))}function De(e){I&&(I.drop=ke(I,e.clientX,e.clientY),K(`hover`,I.drop?.el??null),J())}function Oe(e){let t=I,n=t&&ke(t,e.clientX,e.clientY);W(),t&&n&&v.moveBlock(t.id,n.id,n.position)}function W(){I&&(I=null,window.removeEventListener(`pointermove`,De,!0),window.removeEventListener(`pointerup`,Oe,!0),window.removeEventListener(`pointercancel`,W,!0),A?.setDragging(!1),K(`hover`,null),J())}function ke(e,t,n){let r=document.elementsFromPoint(t,n).find(e=>e!==A?.host),i=null;for(let t=r??null;t;t=V(t)){if(!(t instanceof HTMLElement))continue;let n=E.get(t);if(n?.kind===`block`){if(n.id===e.id)return null;i??=t}}let a=i&&E.get(i);if(!i||!a||i.contains(e.el))return null;let o=i.getBoundingClientRect(),s=e.drop?.el===i?e.drop.horizontal:Ae(i,o),c=s?t<o.left+o.width/2:n<o.top+o.height/2;return{el:i,id:a.id,position:c?`before`:`after`,horizontal:s}}function Ae(e,t){let n=U(e,1)??U(e,-1);if(!n)return!1;let r=n.getBoundingClientRect();return r.top<t.bottom&&r.bottom>t.top}function G(){P||(P=!0,queueMicrotask(()=>{P=!1;let e=D.selected;e?.isConnected&&E.get(e)?.kind===`field`||K(`selected`,B(O))}))}function K(e,t){let n=D[e];n!==t&&(D[e]=t,n&&(n.classList.remove(S[e]),je(n,e,!1)),t&&(t.classList.add(S[e]),je(t,e,!0),e===`selected`&&E.get(t)?.scrollOnSelect&&t.scrollIntoView?.({block:`nearest`,behavior:`smooth`})),j&&(j.disconnect(),j.observe(document.documentElement),D.selected&&j.observe(D.selected),D.hover&&j.observe(D.hover)),e===`selected`&&(M?.disconnect(),t&&M?.observe(document.body,{childList:!0,subtree:!0}),F=!0),J())}function je(e,t,n){let r=E.get(e);t===`selected`?r?.onSelectChange?.(n):r?.onHoverChange?.(n)}function q(){F=!0,J()}function J(){N||(N=!0,requestAnimationFrame(()=>{N=!1,Me()}))}function Me(){if(!k)return;let{selected:e}=D,t=D.hover===e?null:D.hover;if(!A&&!e&&!t)return;A??=ue({onAction:be,onSelect:ye,onDragStart:Ee}),F&&(F=!1,A.renderBar(e?.isConnected?Te(e):null));let n=Y(t?E.get(t):void 0);A.hover.name.textContent!==n&&(A.hover.name.textContent=n),Ne(A.selected,e),Ne(A.hover,t),Pe(A.indicator,I?.drop??null)}function Ne(e,t){if(!t?.isConnected){e.box.hidden=!0;return}let{box:n,label:r}=e,i=t.getBoundingClientRect(),a=r.offsetWidth,o=r.offsetHeight,s=document.documentElement.clientWidth;n.hidden=!1,n.style.transform=`translate(${i.left-w}px, ${i.top-w}px)`,n.style.width=`${i.width+4}px`,n.style.height=`${i.height+4}px`;let c=i.top<me;n.toggleAttribute(`data-inside`,c);let l=Math.min(w-i.top,i.height+4-o);r.style.top=c?`${Math.max(0,l)}px`:``;let u=i.left-w+8,d=u+a-s;r.style.marginLeft=d>0?`${-Math.min(d,u)}px`:``}function Pe(e,t){if(!t?.el.isConnected){e.hidden=!0;return}let n=t.el.getBoundingClientRect(),r=t.position===`before`,{style:i}=e;if(e.hidden=!1,t.horizontal)i.transform=`translate(${(r?n.left:n.right)-T/2}px, ${n.top}px)`,i.width=`${T}px`,i.height=`${n.height}px`;else{let e=r?n.top:n.bottom;i.transform=`translate(${n.left}px, ${e-T/2}px)`,i.width=`${n.width}px`,i.height=`${T}px`}}function Fe(){return v.latest(`BLOCK_LABELS`)!==void 0}function Ie(e){return v.latest(`HIDDEN_BLOCKS`)?.ids.includes(e)??null}function Y(e){let t=e?.label;return t?(e.kind===`block`?v.latest(`BLOCK_LABELS`)?.labels[t]:void 0)??Le(t):``}function Le(e){if(!e)return``;if(!/^[a-z][a-z0-9]*([_-][a-z0-9]+)*$/.test(e))return e;let t=e.replace(/[_-]+/g,` `);return t.charAt(0).toUpperCase()+t.slice(1)}var Re=`b10cks-preview-style`,ze=`--b10cks-scroll-offset`;function X(){if(typeof document>`u`||document.getElementById(Re))return;let e=document.createElement(`style`);e.id=Re,e.textContent=`
41
+ .b10cks-preview { scroll-margin-top: var(${ze}, 0px); }
42
+ .b10cks-preview.b10cks-hidden { opacity: 0.4 !important; }
43
+ `,document.head.appendChild(e)}function Be(e){if(typeof document>`u`)return;let t=typeof e==`number`?`${e}px`:e;document.documentElement.style.setProperty(ze,t)}function Ve(e,t){if(!v.isInPreviewMode()||!t.id)return()=>{};X();let{id:n,label:r,onSelectChange:i,onHoverChange:a,scrollOnSelect:o=!0}=t;e.classList.add(`b10cks-preview`);let s=he(e,{id:n,kind:`block`,label:r,scrollOnSelect:o,onSelectChange:i,onHoverChange:a,activate:()=>v.selectItem(n)});return()=>{s(),e.classList.remove(`b10cks-preview`,`b10cks-selected`,`b10cks-hover`)}}function He(e,t){if(!v.isInPreviewMode()||!t.id)return()=>{};let{id:n,field:r,path:i,mode:a=`inline`,label:o}=t;if(a===`select`){X(),e.classList.add(`b10cks-preview`);let t=he(e,{id:n,kind:`field`,label:o??Ue(i)??r,activate:()=>i?v.selectField(n,i):v.selectItem(n)});return()=>{t(),e.classList.remove(`b10cks-preview`,`b10cks-selected`,`b10cks-hover`)}}e.setAttribute(`contenteditable`,`true`);let s=e=>{let t=e.target.innerText;i?v.updateFieldAt(n,i,t):v.updateField(n,r??``,t)};return e.addEventListener(`input`,s),()=>{e.removeEventListener(`input`,s),e.removeAttribute(`contenteditable`)}}function Ue(e){return e?.findLast(e=>typeof e==`string`)}function We(e,t){let n=e;for(let e of t){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Z(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]=Z(t[r],i,n),t}let a=e&&typeof e==`object`&&!Array.isArray(e)?{...e}:{};return a[r]=Z(a[r],i,n),a}function Q(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 Ge(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=Q(e,n);return a?Z(e,a,t):!i&&r.block!==void 0&&r.block===t.block?t:e}var Ke=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=Ge(this.content,e);t!==this.content&&(this.content=t,this.emit())}patch(e,t,n){let r=[];if(n&&this.content?.id!==n){let e=Q(this.content,n);if(!e)return;r=e}this.content=Z(this.content,[...r,...e],t),this.emit()}emit(){for(let e of this.listeners)e()}};function qe(e){let t=v.on(`CONTENT_UPDATE`,({content:t})=>{e.applyContentUpdate(t)}),n=v.on(`CONTENT_PATCH`,({itemId:t,path:n,value:r})=>{e.patch(n,r,t)});return()=>{t(),n()}}function Je(e){return(e??``).trim().replace(/^\/+|\/+$/g,``)}function Ye(e,t){let n=Je(e),r=Je(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 Xe(e,t){if(!t)return null;try{return new URL(e,t).toString()}catch{return null}}function Ze(e){return e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&apos;`)}function Qe(e,t,n){let{localePrefix:r=`auto`,defaultLocale:i}=t;return r===`always`||r===`auto`&&n||r===`except-default`&&e.language_iso!==i?Ye(e.full_slug,e.language_iso):Ye(e.full_slug,null)}function $e(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 et(e,t={}){let{siteUrl:n,locale:r}=t,i=new Set,a=$e(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=Qe(e,t,a),c=n?Xe(s,n)??s:s;return!i.has(c)&&(i.add(c),!0)})}function tt(e,t,n={}){let r=$e(e);return[`<?xml version="1.0" encoding="UTF-8"?>`,`<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">`,e.map(e=>{let i=Qe(e,n,r),a=t?Xe(i,t):i;if(!a)return``;let o=[` <url>`,` <loc>${Ze(a)}</loc>`];return e.published_at&&o.push(` <lastmod>${Ze(e.published_at)}</lastmod>`),o.push(` </url>`),o.join(`
13
44
  `)}).filter(Boolean).join(`
14
45
  `),`</urlset>`].join(`
15
- `)}function R(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?M(e,t):e;return n?[` <sitemap>`,` <loc>${N(n)}</loc>`,` </sitemap>`].join(`
46
+ `)}function nt(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?Xe(e,t):e;return n?[` <sitemap>`,` <loc>${Ze(n)}</loc>`,` </sitemap>`].join(`
16
47
  `):``}).filter(Boolean).join(`
17
48
  `),`</sitemapindex>`].join(`
18
- `)}var z=t({}),B=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`}},V=e=>e===429||e>=500&&e<=599,H=e=>new Promise(t=>setTimeout(t,e)),U=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 B(`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 B)||e.status===0||V(e.status))))throw e;await H(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 B(`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=U,exports.ApiError=B,exports.B10cksDataApi=d,exports.PreviewBridge=h,exports.PreviewStore=O,exports.attachEditable=x,exports.attachEditableField=S,exports.bindPreviewStore=k,exports.blockAnchorAttrs=o,exports.breadcrumbJsonLd=r,exports.buildLocalizedPath=j,exports.createB10cksDataApi=f,exports.ensurePreviewStyles=y,exports.filterSitemapEntries=I,exports.findPathById=E,exports.getAtPath=w,exports.mergeContentUpdate=D,exports.normalizePathSegment=A,exports.previewBridge=g,exports.renderSitemapIndex=R,exports.renderSitemapXml=L,exports.resolveB10cksLink=a,exports.serializeFilter=c,exports.setAtPath=T,exports.setPreviewScrollOffset=b,exports.toRootBlock=i,Object.defineProperty(exports,"types",{enumerable:!0,get:function(){return z}});
49
+ `)}var rt=t({}),$=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`}},it=e=>e===429||e>=500&&e<=599,at=e=>new Promise(t=>setTimeout(t,e)),ot=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 $(`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 $)||e.status===0||it(e.status))))throw e;await at(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 $(`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=ot,exports.ApiError=$,exports.B10cksDataApi=d,exports.BRIDGE_PROTOCOL=te,exports.PreviewBridge=ne,exports.PreviewStore=Ke,exports.attachEditable=Ve,exports.attachEditableField=He,exports.bindPreviewStore=qe,exports.blockAnchorAttrs=o,exports.breadcrumbJsonLd=r,exports.buildLocalizedPath=Ye,exports.createB10cksDataApi=f,exports.ensurePreviewStyles=X,exports.filterSitemapEntries=et,exports.findPathById=Q,exports.getAtPath=We,exports.mergeContentUpdate=Ge,exports.normalizePathSegment=Je,exports.previewBridge=v,exports.renderSitemapIndex=nt,exports.renderSitemapXml=tt,exports.resolveB10cksLink=a,exports.serializeFilter=c,exports.setAtPath=Z,exports.setPreviewScrollOffset=Be,exports.toRootBlock=i,Object.defineProperty(exports,"types",{enumerable:!0,get:function(){return rt}});
19
50
  //# 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":["toAbsoluteUrl","__defProp","__exportAll","target","name","all","no_symbols","toAbsoluteUrl$1","siteUrl","path","breadcrumbJsonLd","options","excludeCurrent","levels","level","index","toRootBlock","entry","content","resolveB10cksLink","link","params","query","href","hashIndex","base","hash","blockAnchorAttrs","block","serializeFilterValue","value","obj","between","from","to","op","val","serializeFilter","result","key","filter","serialized","buildParamsWithFilter","filterParams","sortParam","sort","CONFIG_CACHE_MAX","B10cksDataApi","client","response","endpoint","fullSlug","rest","slug","blockId","inner","source","forceRefreshOrOptions","cacheKey","allPages","forceRefresh","cached","flatParams","redirects","map","normalizedLanguage","language_iso","language","bypassCache","inflight","fetchPromise","configEntry","oldest","nextRv","fallbackRv","createB10cksDataApi","isRecord","isFieldPath","segment","isSelection","payload","INBOUND_GUARDS","label","id","isInboundType","type","BRIDGE_READY","BRIDGE_PROTOCOL","PreviewBridge","eventType","listeners","callback","event","origin","callbacks","previewBridge","BLUE","BORDER","CSS","TOOLS","EYE_ICON","EYE_OFF_ICON","GRIP_ICON","ALT_CLICK_HINT","createOverlayUi","host","root","style","hoverBox","element","hoverLabel","selectedBox","bar","crumbs","tools","handle","icon","handlers","buttons","tool","button","hidden","visibility","setHidden","next","indicator","crumbKey","model","crumb","renderCrumbs","setDisabled","state","dragging","nodes","more","separator","onSelect","sep","disabled","el","tag","className","paths","HIGHLIGHT_CLASS","HIDDEN_CLASS","PAD","LABEL_SPACE","LINE","targets","current","selectedId","stop","ui","resizeObserver","mutationObserver","paintQueued","resolveQueued","barDirty","drag","registerEditable","isHidden","start","queueResolve","kind","offSelect","selectedItem","field","highlight","findInnermost","offHover","offLabels","refreshBar","offHidden","ids","scrollOptions","handleClick","handleKeydown","handlePointerOver","handlePointerOut","schedulePaint","endDrag","closestTarget","consume","select","isTyping","ancestorBlocks","siblingBlock","click","selectBlock","runAction","action","node","found","parentOf","own","lastId","parentBlockId","parent","parentId","wanted","direction","best","candidate","barModel","ancestor","labelFor","editorRunsBlockActions","startDrag","handleDragMove","handleDrop","dropTarget","moving","drop","hit","x","y","rect","horizontal","isRow","before","neighbor","other","selected","prev","notify","active","paint","hover","drawBox","drawIndicator","layer","labelWidth","labelHeight","viewportWidth","inside","box","top","labelLeft","overflow","line","formatLabel","words","STYLE_ID","SCROLL_OFFSET_VAR","ensurePreviewStyles","setPreviewScrollOffset","offset","attachEditable","unregister","attachEditableField","mode","fieldName","handleInput","getAtPath","setAtPath","findPathById","search","record","mergeContentUpdate","update","updateId","rootRecord","rootId","PreviewStore","initial","listener","itemId","bindPreviewStore","offUpdate","store","offPatch","normalizePathSegment","buildLocalizedPath","locale","languageIso","localePrefix","toAbsoluteUrl","escapeXml","resolveEntryPath","isMultilingual","defaultLocale","hasMultipleLocales","seen","entries","filterSitemapEntries","robots","renderSitemapXml","loc","lines","renderSitemapIndex","types_exports","ApiError","message","status","body","isRetryableStatus","sleep","resolve","ms","ApiClient","defaultFetch","url","requestUrl","init","controller","timer","error","lastError","attempt","firstResponse","normalizedFirstResponse","pages","i","allResponses","results","items","cursor","worker","task","workers","text","nestedResponse","responseRv"],"sources":["../src/breadcrumb.ts","../src/content.ts","../src/data-api.ts","../src/preview-bridge.ts","../src/overlay-ui.ts","../src/preview-overlay.ts","../src/editable.ts","../src/preview-store.ts","../src/sitemap.ts","../src/types.ts","../src/index.ts"],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -57,10 +57,12 @@ declare type ApiQueryParams = Omit<IBBaseQueryParams, 'token'> & Record<string,
57
57
  declare type ApiResourceResponse<T> = IBResponse<T> | T;
58
58
 
59
59
  /**
60
- * Wire a DOM element as a selectable block: click selects it in the editor,
61
- * and editor-driven select/hover toggle outline classes. Honors the configured
62
- * scroll offset and only scrolls when the element isn't already in view.
63
- * Returns a cleanup function. No-op outside preview mode.
60
+ * Wire a DOM element as a selectable block. A click selects it in the editor
61
+ * and never reaches links or buttons inside it. Only the innermost editable
62
+ * under the pointer or matching the editor's selection is highlighted, with a
63
+ * label. Toggles `b10cks-selected`, `b10cks-hover`, and `b10cks-hidden` (while
64
+ * the editor hides the block) on the element. Returns a
65
+ * cleanup function. No-op outside preview mode.
64
66
  */
65
67
  export declare function attachEditable(el: HTMLElement, options: AttachEditableOptions): () => void;
66
68
 
@@ -84,10 +86,14 @@ export declare interface AttachEditableFieldOptions {
84
86
  * targets a complex value.
85
87
  */
86
88
  mode?: EditableFieldMode;
89
+ /** Label for `select` mode. Defaults to the field name. */
90
+ label?: string;
87
91
  }
88
92
 
89
93
  export declare interface AttachEditableOptions {
90
94
  id: string;
95
+ /** Shown on the selection and hover label. A slug like `hero_section` reads as `Hero section`. */
96
+ label?: string;
91
97
  onSelectChange?: (selected: boolean) => void;
92
98
  onHoverChange?: (hovered: boolean) => void;
93
99
  /** Scroll the element into view when it becomes selected. Default true. */
@@ -321,6 +327,19 @@ export declare interface B10cksLinkResolved {
321
327
  */
322
328
  export declare function bindPreviewStore<T>(store: PreviewStore<T>): () => void;
323
329
 
330
+ /** `hide` and `show` set the block's visibility and do nothing when it already is. */
331
+ export declare type BlockAction = 'move-up' | 'move-down' | 'duplicate' | 'delete' | 'insert-before' | 'insert-after' | 'hide' | 'show';
332
+
333
+ /**
334
+ * Ask the editor to run a structural action on a block. The editor validates
335
+ * it, applies it, and answers with CONTENT_UPDATE (and SELECT_UPDATE where the
336
+ * selection moves). `insert-*` opens the editor's block picker.
337
+ */
338
+ export declare type BlockActionEvent = {
339
+ itemId: string;
340
+ action: BlockAction;
341
+ };
342
+
324
343
  /**
325
344
  * Attributes that make a block addressable as a link anchor: `{ id: block.id }`.
326
345
  *
@@ -334,6 +353,21 @@ export declare function blockAnchorAttrs(block: {
334
353
  id?: string;
335
354
  };
336
355
 
356
+ /** Display names of the space's blocks, keyed by block slug. */
357
+ export declare type BlockLabelsEvent = {
358
+ labels: Record<string, string>;
359
+ };
360
+
361
+ /**
362
+ * Drag and drop: move block `itemId` before or after block `targetId`. The
363
+ * editor rejects moves its schema doesn't allow and answers like BLOCK_ACTION.
364
+ */
365
+ export declare type BlockMoveEvent = {
366
+ itemId: string;
367
+ targetId: string;
368
+ position: 'before' | 'after';
369
+ };
370
+
337
371
  /**
338
372
  * Renders a trail as a schema.org `BreadcrumbList`, ready to be serialized into
339
373
  * an `application/ld+json` script tag.
@@ -363,12 +397,27 @@ export declare interface BreadcrumbListJsonLd {
363
397
  itemListElement: BreadcrumbListItem[];
364
398
  }
365
399
 
400
+ /**
401
+ * Bridge protocol version, sent with the ready announcement. Previews that
402
+ * announce without a payload (protocol 0) understand CONTENT_UPDATE,
403
+ * SELECT_UPDATE, HOVER_UPDATE, and CONTENT_PATCH relative to the root only, so
404
+ * the editor must not send them block-relative patches or labels. Protocol 1
405
+ * adds those and the block actions. Protocol 2 adds HIDDEN_BLOCKS and the `hide` and `show` block
406
+ * actions.
407
+ */
408
+ export declare const BRIDGE_PROTOCOL = 2;
409
+
366
410
  export declare type BridgeEvent = {
367
411
  type: EventType;
368
412
  payload: EventPayloadMap[EventType];
369
413
  b10cksId?: string;
370
414
  };
371
415
 
416
+ /** Payload of the ready announcement. */
417
+ export declare type BridgeReadyPayload = {
418
+ protocol: number;
419
+ };
420
+
372
421
  /**
373
422
  * Combines a b10cks `full_slug` and `language_iso` into a rooted, locale-prefixed path.
374
423
  *
@@ -381,8 +430,12 @@ export declare interface CollectionFetchOptions {
381
430
  allPages?: boolean;
382
431
  }
383
432
 
384
- /** Granular update: replace the value at `path` within the content tree. */
433
+ /**
434
+ * Granular update: replace the value at `path`. With `itemId`, `path` is
435
+ * relative to that block; without it, relative to the content tree's root.
436
+ */
385
437
  export declare type ContentPatchEvent = {
438
+ itemId?: string;
386
439
  path: FieldPath;
387
440
  value: unknown;
388
441
  };
@@ -433,10 +486,11 @@ export declare type EditableFieldMode = 'inline' | 'select';
433
486
  export declare type Endpoint = 'blocks' | `blocks/${string}` | `breadcrumbs/${string}` | 'contents' | `contents/${string}` | `datasources/${string}/entries` | 'datasources' | 'redirects' | 'search' | 'sitemap' | `sitemaps/${string}` | 'spaces/me';
434
487
 
435
488
  /**
436
- * Inject the preview outline styles once. Selected/hovered blocks get an
437
- * outline; `.b10cks-preview` carries a `scroll-margin-top` so scroll-into-view
438
- * clears a fixed app header. Set the offset via {@link setPreviewScrollOffset}
439
- * or the `--b10cks-scroll-offset` CSS variable.
489
+ * Inject the preview styles once: `.b10cks-preview` carries a
490
+ * `scroll-margin-top` so scroll-into-view clears a fixed app header. Set the
491
+ * offset via {@link setPreviewScrollOffset} or the `--b10cks-scroll-offset`
492
+ * CSS variable. Blocks the editor hides carry `b10cks-hidden` and are dimmed.
493
+ * Selection and hover are drawn in a separate overlay layer.
440
494
  */
441
495
  export declare function ensurePreviewStyles(): void;
442
496
 
@@ -449,9 +503,13 @@ export declare type EventPayloadMap = {
449
503
  HOVER_UPDATE: SelectUpdateEvent;
450
504
  FIELD_UPDATE: FieldUpdateEvent;
451
505
  FIELD_SELECT: FieldSelectEvent;
506
+ BLOCK_LABELS: BlockLabelsEvent;
507
+ HIDDEN_BLOCKS: HiddenBlocksEvent;
508
+ BLOCK_ACTION: BlockActionEvent;
509
+ BLOCK_MOVE: BlockMoveEvent;
452
510
  };
453
511
 
454
- export declare type EventType = 'CONTENT_UPDATE' | 'CONTENT_PATCH' | 'SELECT_UPDATE' | 'HOVER_UPDATE' | 'FIELD_UPDATE' | 'FIELD_SELECT';
512
+ export declare type EventType = 'CONTENT_UPDATE' | 'CONTENT_PATCH' | 'SELECT_UPDATE' | 'HOVER_UPDATE' | 'FIELD_UPDATE' | 'FIELD_SELECT' | 'BLOCK_LABELS' | 'HIDDEN_BLOCKS' | 'BLOCK_ACTION' | 'BLOCK_MOVE';
455
513
 
456
514
  export declare type FetchClient = (input: URL | string | RequestInfo, init?: RequestInit) => Promise<unknown>;
457
515
 
@@ -499,6 +557,14 @@ export declare interface GetConfigOptions extends Omit<IBContentQueryParams, 'to
499
557
  bypassCache?: boolean;
500
558
  }
501
559
 
560
+ /**
561
+ * Ids of every block in the edited content, at any depth, that is hidden.
562
+ * Sent whenever that set changes. Protocol 2.
563
+ */
564
+ export declare type HiddenBlocksEvent = {
565
+ ids: string[];
566
+ };
567
+
502
568
  export declare interface IBBaseQueryParams extends IBPaginationParams, IBSortParams {
503
569
  vid?: string;
504
570
  version?: string;
@@ -864,6 +930,8 @@ export declare function normalizePathSegment(value: string | null | undefined):
864
930
  export declare class PreviewBridge {
865
931
  private static instance;
866
932
  private readonly listeners;
933
+ /** Last payload received per event type, for consumers that attach late. */
934
+ private readonly received;
867
935
  private initialized;
868
936
  private allowedOrigins;
869
937
  /** Origin of the editor, captured from the first trusted message. */
@@ -874,6 +942,11 @@ export declare class PreviewBridge {
874
942
  destroy(): void;
875
943
  isInPreviewMode(): boolean;
876
944
  on<T extends EventType>(eventType: T, callback: EventCallback<EventPayloadMap[T]>): () => void;
945
+ /**
946
+ * The last payload the editor sent for `eventType`. The editor replays state
947
+ * right after the ready announcement, often before components mount.
948
+ */
949
+ latest<T extends EventType>(eventType: T): EventPayloadMap[T] | undefined;
877
950
  selectItem(selectedItem: string): void;
878
951
  /** Deep-select a nested field (e.g. a rich text field) in the editor. */
879
952
  selectField(itemId: string, path: FieldPath): void;
@@ -881,6 +954,10 @@ export declare class PreviewBridge {
881
954
  updateField(itemId: string, field: string, value: string): void;
882
955
  /** Stream an inline edit back to the editor, addressed by path. */
883
956
  updateFieldAt(itemId: string, path: FieldPath, value: unknown): void;
957
+ /** Ask the editor to move, duplicate, delete, hide, show, or insert next to a block. */
958
+ blockAction(itemId: string, action: BlockAction): void;
959
+ /** Ask the editor to move a block before or after another block. */
960
+ moveBlock(itemId: string, targetId: string, position: BlockMoveEvent['position']): void;
884
961
  private post;
885
962
  private handleMessage;
886
963
  private isOriginTrusted;
@@ -916,7 +993,11 @@ export declare class PreviewStore<T = Record<string, unknown>> {
916
993
  * Unknown ids are ignored and do not notify subscribers.
917
994
  */
918
995
  applyContentUpdate(update: Record<string, unknown>): void;
919
- patch(path: FieldPath, value: unknown): void;
996
+ /**
997
+ * Replace the value at `path`. With `itemId`, `path` is relative to that
998
+ * block (the root when its id matches). Unknown ids are ignored.
999
+ */
1000
+ patch(path: FieldPath, value: unknown, itemId?: string): void;
920
1001
  private emit;
921
1002
  }
922
1003
 
@@ -960,8 +1041,9 @@ export declare type RootBlock<T> = T & {
960
1041
  block: string;
961
1042
  };
962
1043
 
1044
+ /** `selectedItem` is null when the editor clears the selection or hover. */
963
1045
  export declare type SelectUpdateEvent = {
964
- selectedItem: string;
1046
+ selectedItem: string | null;
965
1047
  };
966
1048
 
967
1049
  export declare function serializeFilter(filter: Record<string, unknown>): Record<string, string>;