@bison-lab/payload-blocks 3.11.0 → 3.20.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 +38 -32
- package/dist/admin.d.mts +5 -2
- package/dist/admin.d.mts.map +1 -1
- package/dist/admin.mjs +818 -5
- package/dist/admin.mjs.map +1 -1
- package/dist/header-CznT9Uwv.mjs +203 -0
- package/dist/header-CznT9Uwv.mjs.map +1 -0
- package/dist/index.d.mts +30 -4
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +44 -5
- package/dist/index.mjs.map +1 -1
- package/dist/link-32261jXB.mjs +49 -0
- package/dist/link-32261jXB.mjs.map +1 -0
- package/dist/react.d.mts +4 -3
- package/dist/react.d.mts.map +1 -1
- package/dist/react.mjs +4 -144
- package/dist/react.mjs.map +1 -1
- package/dist/rich-text.d.mts +1 -1
- package/dist/rich-text.mjs +2 -1
- package/dist/rich-text.mjs.map +1 -1
- package/dist/{seam-CmLb3BSo.mjs → seam-Cz7oiQ5z.mjs} +2 -47
- package/dist/seam-Cz7oiQ5z.mjs.map +1 -0
- package/dist/{types-ODMRyOpH.d.mts → types-DWEoAURf.d.mts} +3 -3
- package/dist/{types-ODMRyOpH.d.mts.map → types-DWEoAURf.d.mts.map} +1 -1
- package/package.json +5 -2
- package/dist/link-CnwLtm47.mjs +0 -41
- package/dist/link-CnwLtm47.mjs.map +0 -1
- package/dist/seam-CmLb3BSo.mjs.map +0 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Payload site already has).
|
|
|
24
24
|
| `@bison-lab/payload-blocks` | Block configs, field builders, row types, `resolveMedia` | Node. This is what `payload.config.ts` imports, and it touches no React. |
|
|
25
25
|
| `@bison-lab/payload-blocks/react` | Renderers, `RenderBlocks`, the image and link seams, the rendering types | Client (`"use client"`). |
|
|
26
26
|
| `@bison-lab/payload-blocks/rich-text` | The `richText` renderer, `internalDocToHrefFrom`, and `richTextBlockRenderer()` to build one that resolves internal links | Client. Split out because it is the only thing that needs `@payloadcms/richtext-lexical`. |
|
|
27
|
-
| `@bison-lab/payload-blocks/admin` | `MinRowsArrayField` and `
|
|
27
|
+
| `@bison-lab/payload-blocks/admin` | `MinRowsArrayField`, `LinkField`, and `NavItemsField`, the admin fields the configs reference by path | Client, inside the Payload admin. Resolved through the site's import map, never imported by hand. |
|
|
28
28
|
|
|
29
29
|
The renderers are client components because the blocks they render are: every
|
|
30
30
|
`@bison-lab/ui` export is a client reference, and these blocks are interactive
|
|
@@ -337,43 +337,49 @@ stylesheet scans both packages:
|
|
|
337
337
|
## Wiring a header
|
|
338
338
|
|
|
339
339
|
Two more blocks build a header rather than a page: `megaMenuBlock` and
|
|
340
|
-
`LinkBlock`. They go in
|
|
341
|
-
|
|
342
|
-
the icon list are the site's — the CMS only ever offers approved values
|
|
340
|
+
`LinkBlock`. They go in `createNavigation({ blocks })`'s `header.items`.
|
|
341
|
+
`megaMenuBlock` is a factory because the featured-link variants and
|
|
342
|
+
the icon list are the site's — the CMS only ever offers approved values.
|
|
343
|
+
The items field uses `NAV_ITEMS_FIELD` (the kit editor) instead of
|
|
344
|
+
Payload's stock blocks UI:
|
|
343
345
|
|
|
344
346
|
```ts
|
|
347
|
+
import { createNavigation } from '@bison-lab/payload-core'
|
|
345
348
|
import { LinkBlock, megaMenuBlock } from '@bison-lab/payload-blocks'
|
|
346
349
|
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
LinkBlock,
|
|
362
|
-
],
|
|
363
|
-
},
|
|
364
|
-
],
|
|
365
|
-
}
|
|
350
|
+
globals: [
|
|
351
|
+
...createNavigation({
|
|
352
|
+
blocks: [
|
|
353
|
+
megaMenuBlock({
|
|
354
|
+
variants: [
|
|
355
|
+
{ label: 'Lumbar', value: 'lumbar' },
|
|
356
|
+
{ label: 'SI joint', value: 'si' },
|
|
357
|
+
],
|
|
358
|
+
icons: [{ label: 'Help', value: 'help' }],
|
|
359
|
+
}),
|
|
360
|
+
LinkBlock,
|
|
361
|
+
],
|
|
362
|
+
}),
|
|
363
|
+
]
|
|
366
364
|
```
|
|
367
365
|
|
|
368
|
-
Then `payload generate:types
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
366
|
+
Then `payload generate:types`, `payload generate:importmap`, and
|
|
367
|
+
`payload migrate:create`. Until the import map includes
|
|
368
|
+
`@bison-lab/payload-blocks/admin#NavItemsField`, the items field renders
|
|
369
|
+
as nothing, not the stock blocks UI.
|
|
370
|
+
|
|
371
|
+
An editor sees a rail of bar items (Link vs Mega type cards from
|
|
372
|
+
`@bison-lab/admin-ui`), destinations
|
|
373
|
+
through `LINK_FIELD`, a two-up column builder, and a sticky
|
|
374
|
+
`FloatingNavBlock` preview under the published theme. Advanced CSS
|
|
375
|
+
column widths stay on the schema so existing rows do not migrate; the
|
|
376
|
+
kit does not render them. The column widths, read as fractions, must add
|
|
377
|
+
up to 100%: the rule is the array's own `validate`, so the editor sees
|
|
378
|
+
"The columns add up to 75%. They need to add up to 100%." as they build,
|
|
379
|
+
and the global's publish refuses the same. Custom widths skip it. The
|
|
380
|
+
mega trigger's landing page is now the same `type` / `page` / `href`
|
|
381
|
+
picker as every other destination — a schema change, so sites run
|
|
382
|
+
`payload migrate:create`.
|
|
377
383
|
|
|
378
384
|
In the site header, one call turns the rows into `FloatingNavBlock` items.
|
|
379
385
|
The variants and icons here are the looks behind the values above:
|
package/dist/admin.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import { ArrayFieldClientComponent, RowFieldClientComponent } from "payload";
|
|
2
|
+
import { ArrayFieldClientComponent, BlocksFieldClientComponent, RowFieldClientComponent } from "payload";
|
|
3
3
|
|
|
4
4
|
//#region src/admin/link-field.d.ts
|
|
5
5
|
declare const LinkField: RowFieldClientComponent;
|
|
@@ -26,5 +26,8 @@ declare const LinkField: RowFieldClientComponent;
|
|
|
26
26
|
*/
|
|
27
27
|
declare const MinRowsArrayField: ArrayFieldClientComponent;
|
|
28
28
|
//#endregion
|
|
29
|
-
|
|
29
|
+
//#region src/admin/nav-items-field.d.ts
|
|
30
|
+
declare const NavItemsField: BlocksFieldClientComponent;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { LinkField, MinRowsArrayField, NavItemsField };
|
|
30
33
|
//# sourceMappingURL=admin.d.mts.map
|
package/dist/admin.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.mts","names":[],"sources":["../src/admin/link-field.tsx","../src/admin/min-rows-array-field.tsx"],"mappings":";;;;cAuEa,SAAA,EAAW,uBAAA;;;;;AAAxB;;;;;;;;AChDA
|
|
1
|
+
{"version":3,"file":"admin.d.mts","names":[],"sources":["../src/admin/link-field.tsx","../src/admin/min-rows-array-field.tsx","../src/admin/nav-items-field.tsx"],"mappings":";;;;cAuEa,SAAA,EAAW,uBAAA;;;;;AAAxB;;;;;;;;AChDA;;;;;;;;ACqKA;cDrKa,iBAAA,EAAmB,yBAAA;;;cCqKnB,aAAA,EAAe,0BAAA"}
|