@redneckz/wildless-cms-uni-blocks 0.6.19 → 0.6.21
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/bin/migration-scripts/0.6.19.js +21 -0
- package/bin/migration-scripts/0.6.21.js +15 -0
- package/bundle/bundle.umd.js +49 -22
- package/bundle/bundle.umd.min.js +1 -1
- package/bundle/components/Blocks.d.ts +2 -41
- package/bundle/components/Blocks.mobile.d.ts +2 -18
- package/bundle/components/ContentPage/ContentPage.d.ts +2 -2
- package/bundle/components/ContentPage/mapSlot.d.ts +2 -0
- package/bundle/components/ContentPage/normalizeBlock.d.ts +3 -11
- package/bundle/components/ContentPage/normalizeBlock.mobile.d.ts +3 -2
- package/bundle/components/ContentPage/renderBlock.d.ts +7 -3
- package/bundle/components/ContentPage/renderBlockList.d.ts +14 -0
- package/bundle/components/ContentPage/renderSlots.d.ts +12 -0
- package/bundle/model/BlockDecorator.d.ts +4 -3
- package/bundle/model/BlocksRegistry.d.ts +1 -1
- package/bundle/model/ContentPageDef.d.ts +1 -4
- package/bundle/model/JSXBlock.d.ts +3 -1
- package/dist/components/Blocks.d.ts +2 -41
- package/dist/components/Blocks.js.map +1 -1
- package/dist/components/Blocks.mobile.d.ts +2 -18
- package/dist/components/Blocks.mobile.js.map +1 -1
- package/dist/components/ContentPage/ContentPage.d.ts +2 -2
- package/dist/components/ContentPage/ContentPage.js +12 -11
- package/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/dist/components/ContentPage/mapSlot.d.ts +2 -0
- package/dist/components/ContentPage/mapSlot.js +14 -0
- package/dist/components/ContentPage/mapSlot.js.map +1 -0
- package/dist/components/ContentPage/normalizeBlock.d.ts +3 -11
- package/dist/components/ContentPage/normalizeBlock.js +13 -3
- package/dist/components/ContentPage/normalizeBlock.js.map +1 -1
- package/dist/components/ContentPage/normalizeBlock.mobile.d.ts +3 -2
- package/dist/components/ContentPage/normalizeBlock.mobile.js +18 -3
- package/dist/components/ContentPage/normalizeBlock.mobile.js.map +1 -1
- package/dist/components/ContentPage/normalizePage.js +2 -14
- package/dist/components/ContentPage/normalizePage.js.map +1 -1
- package/dist/components/ContentPage/renderBlock.d.ts +7 -3
- package/dist/components/ContentPage/renderBlock.js +9 -9
- package/dist/components/ContentPage/renderBlock.js.map +1 -1
- package/dist/components/ContentPage/renderBlockList.d.ts +14 -0
- package/dist/components/ContentPage/renderBlockList.js +18 -0
- package/dist/components/ContentPage/renderBlockList.js.map +1 -0
- package/dist/components/ContentPage/renderSlots.d.ts +12 -0
- package/dist/components/ContentPage/renderSlots.js +17 -0
- package/dist/components/ContentPage/renderSlots.js.map +1 -0
- package/dist/model/BlockDecorator.d.ts +4 -3
- package/dist/model/BlockDecorator.js +1 -2
- package/dist/model/BlockDecorator.js.map +1 -1
- package/dist/model/BlocksRegistry.d.ts +1 -1
- package/dist/model/ContentPageDef.d.ts +1 -4
- package/dist/model/JSXBlock.d.ts +3 -1
- package/dist/model/getParentBlockDef.js +5 -2
- package/dist/model/getParentBlockDef.js.map +1 -1
- package/lib/components/Blocks.d.ts +2 -41
- package/lib/components/Blocks.js.map +1 -1
- package/lib/components/Blocks.mobile.d.ts +2 -18
- package/lib/components/Blocks.mobile.js.map +1 -1
- package/lib/components/ContentPage/ContentPage.d.ts +2 -2
- package/lib/components/ContentPage/ContentPage.js +12 -11
- package/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/lib/components/ContentPage/mapSlot.d.ts +2 -0
- package/lib/components/ContentPage/mapSlot.js +11 -0
- package/lib/components/ContentPage/mapSlot.js.map +1 -0
- package/lib/components/ContentPage/normalizeBlock.d.ts +3 -11
- package/lib/components/ContentPage/normalizeBlock.js +13 -3
- package/lib/components/ContentPage/normalizeBlock.js.map +1 -1
- package/lib/components/ContentPage/normalizeBlock.mobile.d.ts +3 -2
- package/lib/components/ContentPage/normalizeBlock.mobile.js +18 -3
- package/lib/components/ContentPage/normalizeBlock.mobile.js.map +1 -1
- package/lib/components/ContentPage/normalizePage.js +2 -14
- package/lib/components/ContentPage/normalizePage.js.map +1 -1
- package/lib/components/ContentPage/renderBlock.d.ts +7 -3
- package/lib/components/ContentPage/renderBlock.js +9 -9
- package/lib/components/ContentPage/renderBlock.js.map +1 -1
- package/lib/components/ContentPage/renderBlockList.d.ts +14 -0
- package/lib/components/ContentPage/renderBlockList.js +15 -0
- package/lib/components/ContentPage/renderBlockList.js.map +1 -0
- package/lib/components/ContentPage/renderSlots.d.ts +12 -0
- package/lib/components/ContentPage/renderSlots.js +14 -0
- package/lib/components/ContentPage/renderSlots.js.map +1 -0
- package/lib/model/BlockDecorator.d.ts +4 -3
- package/lib/model/BlockDecorator.js +0 -1
- package/lib/model/BlockDecorator.js.map +1 -1
- package/lib/model/BlocksRegistry.d.ts +1 -1
- package/lib/model/ContentPageDef.d.ts +1 -4
- package/lib/model/JSXBlock.d.ts +3 -1
- package/lib/model/getParentBlockDef.js +5 -2
- package/lib/model/getParentBlockDef.js.map +1 -1
- package/mobile/bundle/bundle.umd.js +49 -22
- package/mobile/bundle/bundle.umd.min.js +1 -1
- package/mobile/bundle/components/Blocks.d.ts +2 -18
- package/mobile/bundle/components/ContentPage/ContentPage.d.ts +2 -2
- package/mobile/bundle/components/ContentPage/mapSlot.d.ts +2 -0
- package/mobile/bundle/components/ContentPage/normalizeBlock.d.ts +3 -2
- package/mobile/bundle/components/ContentPage/renderBlock.d.ts +7 -3
- package/mobile/bundle/components/ContentPage/renderBlockList.d.ts +14 -0
- package/mobile/bundle/components/ContentPage/renderSlots.d.ts +12 -0
- package/mobile/bundle/model/BlockDecorator.d.ts +4 -3
- package/mobile/bundle/model/BlocksRegistry.d.ts +1 -1
- package/mobile/bundle/model/ContentPageDef.d.ts +1 -4
- package/mobile/bundle/model/JSXBlock.d.ts +3 -1
- package/mobile/dist/components/Blocks.d.ts +2 -18
- package/mobile/dist/components/Blocks.js.map +1 -1
- package/mobile/dist/components/ContentPage/ContentPage.d.ts +2 -2
- package/mobile/dist/components/ContentPage/ContentPage.js +12 -11
- package/mobile/dist/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/dist/components/ContentPage/mapSlot.d.ts +2 -0
- package/mobile/dist/components/ContentPage/mapSlot.js +14 -0
- package/mobile/dist/components/ContentPage/mapSlot.js.map +1 -0
- package/mobile/dist/components/ContentPage/normalizeBlock.d.ts +3 -2
- package/mobile/dist/components/ContentPage/normalizeBlock.js +18 -3
- package/mobile/dist/components/ContentPage/normalizeBlock.js.map +1 -1
- package/mobile/dist/components/ContentPage/normalizePage.js +2 -14
- package/mobile/dist/components/ContentPage/normalizePage.js.map +1 -1
- package/mobile/dist/components/ContentPage/renderBlock.d.ts +7 -3
- package/mobile/dist/components/ContentPage/renderBlock.js +9 -9
- package/mobile/dist/components/ContentPage/renderBlock.js.map +1 -1
- package/mobile/dist/components/ContentPage/renderBlockList.d.ts +14 -0
- package/mobile/dist/components/ContentPage/renderBlockList.js +18 -0
- package/mobile/dist/components/ContentPage/renderBlockList.js.map +1 -0
- package/mobile/dist/components/ContentPage/renderSlots.d.ts +12 -0
- package/mobile/dist/components/ContentPage/renderSlots.js +17 -0
- package/mobile/dist/components/ContentPage/renderSlots.js.map +1 -0
- package/mobile/dist/model/BlockDecorator.d.ts +4 -3
- package/mobile/dist/model/BlockDecorator.js +1 -2
- package/mobile/dist/model/BlockDecorator.js.map +1 -1
- package/mobile/dist/model/BlocksRegistry.d.ts +1 -1
- package/mobile/dist/model/ContentPageDef.d.ts +1 -4
- package/mobile/dist/model/JSXBlock.d.ts +3 -1
- package/mobile/dist/model/getParentBlockDef.js +5 -2
- package/mobile/dist/model/getParentBlockDef.js.map +1 -1
- package/mobile/lib/components/Blocks.d.ts +2 -18
- package/mobile/lib/components/Blocks.js.map +1 -1
- package/mobile/lib/components/ContentPage/ContentPage.d.ts +2 -2
- package/mobile/lib/components/ContentPage/ContentPage.js +12 -11
- package/mobile/lib/components/ContentPage/ContentPage.js.map +1 -1
- package/mobile/lib/components/ContentPage/mapSlot.d.ts +2 -0
- package/mobile/lib/components/ContentPage/mapSlot.js +11 -0
- package/mobile/lib/components/ContentPage/mapSlot.js.map +1 -0
- package/mobile/lib/components/ContentPage/normalizeBlock.d.ts +3 -2
- package/mobile/lib/components/ContentPage/normalizeBlock.js +18 -3
- package/mobile/lib/components/ContentPage/normalizeBlock.js.map +1 -1
- package/mobile/lib/components/ContentPage/normalizePage.js +2 -14
- package/mobile/lib/components/ContentPage/normalizePage.js.map +1 -1
- package/mobile/lib/components/ContentPage/renderBlock.d.ts +7 -3
- package/mobile/lib/components/ContentPage/renderBlock.js +9 -9
- package/mobile/lib/components/ContentPage/renderBlock.js.map +1 -1
- package/mobile/lib/components/ContentPage/renderBlockList.d.ts +14 -0
- package/mobile/lib/components/ContentPage/renderBlockList.js +15 -0
- package/mobile/lib/components/ContentPage/renderBlockList.js.map +1 -0
- package/mobile/lib/components/ContentPage/renderSlots.d.ts +12 -0
- package/mobile/lib/components/ContentPage/renderSlots.js +14 -0
- package/mobile/lib/components/ContentPage/renderSlots.js.map +1 -0
- package/mobile/lib/model/BlockDecorator.d.ts +4 -3
- package/mobile/lib/model/BlockDecorator.js +0 -1
- package/mobile/lib/model/BlockDecorator.js.map +1 -1
- package/mobile/lib/model/BlocksRegistry.d.ts +1 -1
- package/mobile/lib/model/ContentPageDef.d.ts +1 -4
- package/mobile/lib/model/JSXBlock.d.ts +3 -1
- package/mobile/lib/model/getParentBlockDef.js +5 -2
- package/mobile/lib/model/getParentBlockDef.js.map +1 -1
- package/mobile/src/components/Blocks.ts +2 -1
- package/mobile/src/components/ContentPage/ContentPage.page.json +131 -133
- package/mobile/src/components/ContentPage/ContentPage.tsx +25 -28
- package/mobile/src/components/ContentPage/mapSlot.ts +17 -0
- package/mobile/src/components/ContentPage/normalizeBlock.ts +26 -4
- package/mobile/src/components/ContentPage/normalizePage.ts +3 -20
- package/mobile/src/components/ContentPage/renderBlock.tsx +16 -18
- package/mobile/src/components/ContentPage/renderBlockList.tsx +39 -0
- package/mobile/src/components/ContentPage/renderSlots.tsx +33 -0
- package/mobile/src/model/BlockDecorator.ts +4 -4
- package/mobile/src/model/BlocksRegistry.ts +1 -1
- package/mobile/src/model/ContentPageDef.ts +1 -5
- package/mobile/src/model/JSXBlock.ts +3 -1
- package/mobile/src/model/getParentBlockDef.ts +6 -2
- package/package.json +1 -1
- package/src/components/Accordion/Accordion.fixture.mobile.tsx +16 -4
- package/src/components/Blocks.mobile.ts +2 -1
- package/src/components/Blocks.ts +2 -1
- package/src/components/ContentPage/ContentPage.page.json +131 -133
- package/src/components/ContentPage/ContentPage.tsx +25 -28
- package/src/components/ContentPage/mapSlot.ts +17 -0
- package/src/components/ContentPage/normalizeBlock.mobile.ts +26 -4
- package/src/components/ContentPage/normalizeBlock.ts +17 -4
- package/src/components/ContentPage/normalizePage.ts +3 -20
- package/src/components/ContentPage/renderBlock.tsx +16 -18
- package/src/components/ContentPage/renderBlockList.tsx +39 -0
- package/src/components/ContentPage/renderSlots.tsx +33 -0
- package/src/model/BlockDecorator.ts +4 -4
- package/src/model/BlocksRegistry.ts +1 -1
- package/src/model/ContentPageDef.ts +1 -5
- package/src/model/JSXBlock.ts +3 -1
- package/src/model/getParentBlockDef.ts +6 -2
- package/bin/migration-scripts/0.4.0.js +0 -3
- package/bin/migration-scripts/0.4.1.js +0 -3
- package/bundle/components/ContentPage/filterBlocks.d.ts +0 -12
- package/bundle/components/ContentPage/filterBlocks.mobile.d.ts +0 -12
- package/dist/components/ContentPage/filterBlocks.d.ts +0 -12
- package/dist/components/ContentPage/filterBlocks.js +0 -6
- package/dist/components/ContentPage/filterBlocks.js.map +0 -1
- package/dist/components/ContentPage/filterBlocks.mobile.d.ts +0 -12
- package/dist/components/ContentPage/filterBlocks.mobile.js +0 -8
- package/dist/components/ContentPage/filterBlocks.mobile.js.map +0 -1
- package/lib/components/ContentPage/filterBlocks.d.ts +0 -12
- package/lib/components/ContentPage/filterBlocks.js +0 -3
- package/lib/components/ContentPage/filterBlocks.js.map +0 -1
- package/lib/components/ContentPage/filterBlocks.mobile.d.ts +0 -12
- package/lib/components/ContentPage/filterBlocks.mobile.js +0 -5
- package/lib/components/ContentPage/filterBlocks.mobile.js.map +0 -1
- package/mobile/bundle/components/ContentPage/filterBlocks.d.ts +0 -3
- package/mobile/dist/components/ContentPage/filterBlocks.d.ts +0 -3
- package/mobile/dist/components/ContentPage/filterBlocks.js +0 -8
- package/mobile/dist/components/ContentPage/filterBlocks.js.map +0 -1
- package/mobile/lib/components/ContentPage/filterBlocks.d.ts +0 -3
- package/mobile/lib/components/ContentPage/filterBlocks.js +0 -5
- package/mobile/lib/components/ContentPage/filterBlocks.js.map +0 -1
- package/mobile/src/components/ContentPage/filterBlocks.ts +0 -11
- package/src/components/ContentPage/filterBlocks.mobile.ts +0 -11
- package/src/components/ContentPage/filterBlocks.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderBlock.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderBlock.tsx"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"renderBlock.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderBlock.tsx"],"names":[],"mappings":";;;AAGA,iEAA8D;AAE9D,uDAAqD;AACrD,+CAA4C;AAgB5C,SAAgB,WAAW,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAoB;IACnF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEnD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,cAAc,CAAC,EAAE;QACrC,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,CAAC;KACvD;IAED,MAAM,cAAc,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,mBAAmB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,IAAA,kCAAgB,EAAC,EAAE,GAAG,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAA,yBAAW,EAAC,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E,OAAO,cAAc,CACnB;QACE,cAAc,EAAE,gBAAgB,IAAA,iCAAe,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC9D,KAAK;QACL,SAAS;QACT,iDAAiD;QACjD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,EAAE,EAAE;YAC3E,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;YAE3D,OAAO,cAAc,CAAC,CAAC,CAAC,CACtB,uBAAC,cAAc,IAEb,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,KACb,OAAO,YAEV,QAAQ,IAXJ,GAAG,CAYO,CAClB,CAAC,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;KACF,EACD,GAAG,CACJ,CAAC;AACJ,CAAC;AA3CD,kCA2CC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SlotName } from '../../model/BlockDecorator';
|
|
2
|
+
import { BlockAncestors } from '../../model/BlockDecorator';
|
|
3
|
+
import type { BlockDef, Slot } from '../../model/ContentPageDef';
|
|
4
|
+
import type { VNode } from '../../model/VNode';
|
|
5
|
+
import { RenderBlockOptions } from './renderBlock';
|
|
6
|
+
interface RenderBlockListProps {
|
|
7
|
+
blocks?: BlockDef[];
|
|
8
|
+
parent: Slot;
|
|
9
|
+
slotName?: SlotName;
|
|
10
|
+
options: RenderBlockOptions;
|
|
11
|
+
ancestors?: BlockAncestors;
|
|
12
|
+
}
|
|
13
|
+
export declare function renderBlocksList({ blocks, parent, slotName, options, ancestors, }: RenderBlockListProps): Record<string, VNode>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.renderBlocksList = void 0;
|
|
3
|
+
const BlockDecorator_1 = require("../../model/BlockDecorator");
|
|
4
|
+
const renderBlock_1 = require("./renderBlock");
|
|
5
|
+
const defaultChildRenderer = (_) => _;
|
|
6
|
+
function renderBlocksList({ blocks = [], parent, slotName = BlockDecorator_1.DEFAULT_SLOT_NAME, options, ancestors = [], }) {
|
|
7
|
+
const { blocksRegistry = {} } = options;
|
|
8
|
+
const { type } = parent;
|
|
9
|
+
const BlockComponent = type && blocksRegistry[type];
|
|
10
|
+
const { renderChild = defaultChildRenderer } = BlockComponent || {};
|
|
11
|
+
return blocks.map((_, j) => renderChild((0, renderBlock_1.renderBlock)({
|
|
12
|
+
block: _,
|
|
13
|
+
options: { ...options, key: `${options.key ? options.key : _.type}-${j}` },
|
|
14
|
+
ancestors: [...ancestors, [parent, slotName]],
|
|
15
|
+
}), j));
|
|
16
|
+
}
|
|
17
|
+
exports.renderBlocksList = renderBlocksList;
|
|
18
|
+
//# sourceMappingURL=renderBlockList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderBlockList.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderBlockList.tsx"],"names":[],"mappings":";;AACA,+DAA+E;AAG/E,+CAAgE;AAUhE,MAAM,oBAAoB,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAE7C,SAAgB,gBAAgB,CAAC,EAC/B,MAAM,GAAG,EAAE,EACX,MAAM,EACN,QAAQ,GAAG,kCAAiB,EAC5B,OAAO,EACP,SAAS,GAAG,EAAE,GACO;IACrB,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAkB,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,WAAW,GAAG,oBAAoB,EAAE,GAAG,cAAc,IAAI,EAAE,CAAC;IAEpE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,CAAS,EAAE,EAAE,CAC3C,WAAW,CACT,IAAA,yBAAW,EAAC;QACV,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;QAC1E,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC9C,CAAC,EACF,CAAC,CACF,CACF,CAAC;AACJ,CAAC;AAtBD,4CAsBC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BlockAncestors } from '../../model/BlockDecorator';
|
|
2
|
+
import type { BlockDef, Slot } from '../../model/ContentPageDef';
|
|
3
|
+
import type { VNode } from '../../model/VNode';
|
|
4
|
+
import type { RenderBlockOptions } from './renderBlock';
|
|
5
|
+
interface RenderSlotsProps {
|
|
6
|
+
slots?: Record<string, BlockDef[]>;
|
|
7
|
+
parent: Slot;
|
|
8
|
+
options: RenderBlockOptions;
|
|
9
|
+
ancestors?: BlockAncestors;
|
|
10
|
+
}
|
|
11
|
+
export declare function renderSlots({ slots, parent, options, ancestors, }: RenderSlotsProps): Record<string, VNode>;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
exports.renderSlots = void 0;
|
|
3
|
+
const renderBlockList_1 = require("./renderBlockList");
|
|
4
|
+
function renderSlots({ slots = {}, parent, options, ancestors = [], }) {
|
|
5
|
+
return Object.entries(slots).reduce((res, [slotName, slotBlocks]) => ({
|
|
6
|
+
...res,
|
|
7
|
+
[slotName]: (0, renderBlockList_1.renderBlocksList)({
|
|
8
|
+
blocks: slotBlocks,
|
|
9
|
+
parent,
|
|
10
|
+
slotName,
|
|
11
|
+
options,
|
|
12
|
+
ancestors,
|
|
13
|
+
}),
|
|
14
|
+
}), {});
|
|
15
|
+
}
|
|
16
|
+
exports.renderSlots = renderSlots;
|
|
17
|
+
//# sourceMappingURL=renderSlots.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderSlots.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderSlots.tsx"],"names":[],"mappings":";;AAIA,uDAAqD;AASrD,SAAgB,WAAW,CAAC,EAC1B,KAAK,GAAG,EAAE,EACV,MAAM,EACN,OAAO,EACP,SAAS,GAAG,EAAE,GACG;IACjB,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;QAChC,GAAG,GAAG;QACN,CAAC,QAAQ,CAAC,EAAE,IAAA,kCAAgB,EAAC;YAC3B,MAAM,EAAE,UAAU;YAClB,MAAM;YACN,QAAQ;YACR,OAAO;YACP,SAAS;SACV,CAAC;KACH,CAAC,EACF,EAAE,CACH,CAAC;AACJ,CAAC;AAnBD,kCAmBC"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { BlockDef, Slot
|
|
1
|
+
import type { BlockDef, Slot } from './ContentPageDef';
|
|
2
2
|
export declare const DEFAULT_SLOT_NAME: null;
|
|
3
|
-
export declare type
|
|
4
|
-
export declare
|
|
3
|
+
export declare type SlotName = string | typeof DEFAULT_SLOT_NAME;
|
|
4
|
+
export declare type BlockAncestorItem = [Slot, SlotName];
|
|
5
|
+
export declare type BlockAncestors = BlockAncestorItem[];
|
|
5
6
|
interface BlockDecoratorProps<VNode> {
|
|
6
7
|
blockClassName: string;
|
|
7
8
|
block: BlockDef;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
-
exports.
|
|
2
|
+
exports.DEFAULT_SLOT_NAME = void 0;
|
|
3
3
|
exports.DEFAULT_SLOT_NAME = null;
|
|
4
|
-
exports.DEFAULT_ANCESTORS = [exports.DEFAULT_SLOT_NAME];
|
|
5
4
|
//# sourceMappingURL=BlockDecorator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockDecorator.js","sourceRoot":"","sources":["../../src/model/BlockDecorator.ts"],"names":[],"mappings":";;AAEa,QAAA,iBAAiB,GAAG,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"BlockDecorator.js","sourceRoot":"","sources":["../../src/model/BlockDecorator.ts"],"names":[],"mappings":";;AAEa,QAAA,iBAAiB,GAAG,IAAI,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { JSXBlock } from './JSXBlock';
|
|
2
|
-
export declare type BlocksRegistry
|
|
2
|
+
export declare type BlocksRegistry = Record<string, JSXBlock<any>>;
|
|
@@ -18,9 +18,7 @@ export interface BlockDef extends BaseBlockDef {
|
|
|
18
18
|
export interface Slot {
|
|
19
19
|
style?: string[];
|
|
20
20
|
blocks?: BlockDef[];
|
|
21
|
-
|
|
22
|
-
export interface SlotsMap {
|
|
23
|
-
header?: Slot;
|
|
21
|
+
slots?: Record<string, BlockDef[]>;
|
|
24
22
|
}
|
|
25
23
|
export interface ContentPageMeta {
|
|
26
24
|
title?: string;
|
|
@@ -37,7 +35,6 @@ export interface ContentPageMeta {
|
|
|
37
35
|
}
|
|
38
36
|
export interface ContentPageDef extends ContentPageMeta, Slot {
|
|
39
37
|
_customPageType?: string;
|
|
40
|
-
slots?: SlotsMap;
|
|
41
38
|
fallback?: Record<string, unknown>;
|
|
42
39
|
likeControl?: boolean;
|
|
43
40
|
colorPalette?: ColorPalette;
|
package/dist/model/JSXBlock.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { UNIComponent } from '@redneckz/uni-jsx';
|
|
2
2
|
import type { ContentPageContext } from '../components/ContentPage/ContentPageContext';
|
|
3
|
-
import type { BlockAncestors } from './BlockDecorator';
|
|
3
|
+
import type { BlockAncestors, SlotName } from './BlockDecorator';
|
|
4
4
|
import type { ContentPageDef } from './ContentPageDef';
|
|
5
5
|
import type { VNode } from './VNode';
|
|
6
6
|
export interface UniBlockProps {
|
|
@@ -10,8 +10,10 @@ export interface UniBlockProps {
|
|
|
10
10
|
ancestors?: BlockAncestors;
|
|
11
11
|
labels?: string[];
|
|
12
12
|
anchor?: string;
|
|
13
|
+
slots?: Record<string, VNode>;
|
|
13
14
|
}
|
|
14
15
|
export declare type JSXBlock<BlockProps = Record<string, any>> = UNIComponent<BlockProps & UniBlockProps, any, VNode | VNode[]> & {
|
|
15
16
|
childrenTypes?: string[];
|
|
17
|
+
slots?: (props: BlockProps) => SlotName[];
|
|
16
18
|
renderChild?: (child: VNode, i: number) => VNode;
|
|
17
19
|
};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
2
|
exports.getParentBlockDef = void 0;
|
|
3
3
|
function getParentBlockDef(ancestors, type) {
|
|
4
|
-
const [
|
|
5
|
-
|
|
4
|
+
const [block] = (ancestors || [])
|
|
5
|
+
.map((item) => item)
|
|
6
|
+
.reverse()
|
|
7
|
+
.find(([_]) => _ && 'type' in _ && (!type || type === _.type)) || [];
|
|
8
|
+
return block || {};
|
|
6
9
|
}
|
|
7
10
|
exports.getParentBlockDef = getParentBlockDef;
|
|
8
11
|
//# sourceMappingURL=getParentBlockDef.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getParentBlockDef.js","sourceRoot":"","sources":["../../src/model/getParentBlockDef.ts"],"names":[],"mappings":";;AAGA,SAAgB,iBAAiB,CAAC,SAAqC,EAAE,IAAa;IACpF,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"getParentBlockDef.js","sourceRoot":"","sources":["../../src/model/getParentBlockDef.ts"],"names":[],"mappings":";;AAGA,SAAgB,iBAAiB,CAAC,SAAqC,EAAE,IAAa;IACpF,MAAM,CAAC,KAAK,CAAC,GACX,CAAC,SAAS,IAAI,EAAE,CAAC;SACd,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC;SACnB,OAAO,EAAE;SACT,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,KAAM,CAAc,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvF,OAAO,KAAK,IAAI,EAAE,CAAC;AACrB,CAAC;AARD,8CAQC"}
|
|
@@ -1,41 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
AccordionItem: import("../model/JSXBlock").JSXBlock<import("./AccordionItem/AccordionItemProps").AccordionItemProps>;
|
|
4
|
-
BenefitsBlock: import("@redneckz/uni-jsx").UNIComponent<import("./BenefitsBlock/BenefitsBlock").BenefitsBlockProps, any, any>;
|
|
5
|
-
Bonus: import("@redneckz/uni-jsx").UNIComponent<import("./Bonus/Bonus").BonusProps, any, any>;
|
|
6
|
-
CardTransfer: import("@redneckz/uni-jsx").UNIComponent<import("./CardTransfer/CardTransfer").CardTransferProps, any, any>;
|
|
7
|
-
ComparisonTable: import("@redneckz/uni-jsx").UNIComponent<import("./ComparisonTable/ComparisonTable").ComparisonTableProps, any, any>;
|
|
8
|
-
Calculator: import("@redneckz/uni-jsx").UNIComponent<import("./Calculator/Calculator").CalculatorProps, any, any>;
|
|
9
|
-
Catalog: import("@redneckz/uni-jsx").UNIComponent<import("./Catalog/Catalog").CatalogProps, any, any>;
|
|
10
|
-
ContactsBlock: import("@redneckz/uni-jsx").UNIComponent<import("./ContactsBlock/ContactsBlock").ContactsBlockProps, any, any>;
|
|
11
|
-
ExchangeRateTile: import("@redneckz/uni-jsx").UNIComponent<import("./ExchangeRateTile/ExchangeRateTile").ExchangeRateTileProps, any, any>;
|
|
12
|
-
Footer: import("@redneckz/uni-jsx").UNIComponent<import("./Footer/Footer").FooterProps, any, any>;
|
|
13
|
-
Gallery: import("@redneckz/uni-jsx").UNIComponent<import("./Gallery/GalleryProps").GalleryProps, any, any>;
|
|
14
|
-
GracePeriod: import("@redneckz/uni-jsx").UNIComponent<import("./GracePeriod/GracePeriod").GracePeriodProps, any, any>;
|
|
15
|
-
Header: import("@redneckz/uni-jsx").UNIComponent<import("./Header/Header").HeaderProps, any, any>;
|
|
16
|
-
Headline: import("@redneckz/uni-jsx").UNIComponent<import("./Headline/Headline").HeadlineProps, any, any>;
|
|
17
|
-
InsuranceAmountBlock: import("@redneckz/uni-jsx").UNIComponent<import("./InsuranceAmountBlock/InsuranceAmountBlock").InsuranceAmountBlockProps, any, any>;
|
|
18
|
-
InvestmentInfo: import("@redneckz/uni-jsx").UNIComponent<import("./InvestmentInfo/InvestmentInfo").InvestmentInfoProps, any, any>;
|
|
19
|
-
LinkDocs: import("@redneckz/uni-jsx").UNIComponent<import("./LinkDocs/LinkDocs").LinkDocsProps, any, any>;
|
|
20
|
-
MiniGallery: import("@redneckz/uni-jsx").UNIComponent<import("./MiniGallery/MiniGallery").MiniGalleryProps, any, any>;
|
|
21
|
-
MobileAppTile: import("@redneckz/uni-jsx").UNIComponent<import("./MobileAppTile/MobileAppTile").MobileAppTileProps, any, any>;
|
|
22
|
-
PictureText: import("@redneckz/uni-jsx").UNIComponent<import("./PictureText/PictureText").PictureTextProps, any, any>;
|
|
23
|
-
ProductBlock: import("@redneckz/uni-jsx").UNIComponent<import("./ProductBlock/ProductBlock").ProductBlockProps, any, any>;
|
|
24
|
-
ProductGallery: import("@redneckz/uni-jsx").UNIComponent<import("./ProductGallery/ProductGallery").ProductGalleryProps, any, any>;
|
|
25
|
-
ProductTile: import("@redneckz/uni-jsx").UNIComponent<import("./ProductTile/ProductTile").ProductTileProps, any, any>;
|
|
26
|
-
PromoTile: import("@redneckz/uni-jsx").UNIComponent<import("./PromoTile/PromoTile").PromoTileProps, any, any>;
|
|
27
|
-
OfficeMap: import("@redneckz/uni-jsx").UNIComponent<import("../model/JSXBlock").UniBlockProps, any, any>;
|
|
28
|
-
OfficeServicesBlock: import("@redneckz/uni-jsx").UNIComponent<import("./OfficeServicesBlock/OfficeServicesBlock").OfficeServicesBlockProps, any, any>;
|
|
29
|
-
OtherProducts: import("../model/JSXBlock").JSXBlock<import("./OtherProducts/OtherProducts").OtherProductsProps>;
|
|
30
|
-
OtherProductsItem: import("../model/JSXBlock").JSXBlock<import("./OtherProductsItem/OtherProductsItem").OtherProductsItemProps>;
|
|
31
|
-
Recommendation: import("@redneckz/uni-jsx").UNIComponent<import("./Recommendation/Recommendation").RecommendationProps, any, any>;
|
|
32
|
-
StepsBlock: import("@redneckz/uni-jsx").UNIComponent<import("./StepsBlock/StepsBlock").StepsBlockProps, any, any>;
|
|
33
|
-
TariffsTable: import("@redneckz/uni-jsx").UNIComponent<import("./TariffsTable/TariffsTable").TariffsTableProps, any, any>;
|
|
34
|
-
TextBlock: import("@redneckz/uni-jsx").UNIComponent<import("./TextBlock/TextBlock").TextBlockProps, any, any>;
|
|
35
|
-
Tile: import("@redneckz/uni-jsx").UNIComponent<import("./Tile/Tile").TileProps, any, any>;
|
|
36
|
-
Placeholder: import("@redneckz/uni-jsx").UNIComponent<import("./Placeholder/Placeholder").PlaceholderProps, any, any>;
|
|
37
|
-
BonusBenefitsBlock: import("@redneckz/uni-jsx").UNIComponent<import("./BonusBenefitsBlock/BonusBenefitsBlock").BenefitsBlockProps, any, any>;
|
|
38
|
-
SafeDepositRental: import("@redneckz/uni-jsx").UNIComponent<import("./SafeDepositRental/SafeDepositRental").SafeDepositRentalProps, any, any>;
|
|
39
|
-
Tabs: import("@redneckz/uni-jsx").UNIComponent<import("./Tabs/Tabs").TabsBlockProps, any, any>;
|
|
40
|
-
ErrorBlock: import("@redneckz/uni-jsx").UNIComponent<import("./ErrorBlock/ErrorBlock").ErrorBlockProps, any, any>;
|
|
41
|
-
};
|
|
1
|
+
import type { BlocksRegistry } from '../model/BlocksRegistry';
|
|
2
|
+
export declare const Blocks: BlocksRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/components/Blocks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Blocks.js","sourceRoot":"","sources":["../../src/components/Blocks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACnF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,SAAS;IACT,aAAa;IACb,aAAa;IACb,KAAK;IACL,YAAY;IACZ,eAAe;IACf,UAAU;IACV,OAAO;IACP,aAAa;IACb,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,WAAW;IACX,MAAM;IACN,QAAQ;IACR,oBAAoB;IACpB,cAAc;IACd,QAAQ;IACR,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;IACZ,cAAc;IACd,WAAW;IACX,SAAS;IACT,SAAS;IACT,mBAAmB;IACnB,aAAa;IACb,iBAAiB;IACjB,cAAc;IACd,UAAU;IACV,YAAY;IACZ,SAAS;IACT,IAAI;IACJ,WAAW;IACX,kBAAkB;IAClB,iBAAiB;IACjB,IAAI;IACJ,UAAU;CACX,CAAC"}
|
|
@@ -1,18 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
AccordionItem: import("../model/JSXBlock").JSXBlock<import("./AccordionItem/AccordionItemProps").AccordionItemProps>;
|
|
4
|
-
ComparisonTable: import("@redneckz/uni-jsx").UNIComponent<import("./ComparisonTable/ComparisonTable").ComparisonTableProps, any, any>;
|
|
5
|
-
Footer: import("@redneckz/uni-jsx").UNIComponent<import("./Footer/Footer").FooterProps, any, any>;
|
|
6
|
-
Gallery: import("@redneckz/uni-jsx").UNIComponent<import("./Gallery/GalleryProps").GalleryProps, any, any>;
|
|
7
|
-
Header: import("@redneckz/uni-jsx").UNIComponent<import("./Header/Header").HeaderProps, any, any>;
|
|
8
|
-
Headline: import("@redneckz/uni-jsx").UNIComponent<import("./Headline/Headline").HeadlineProps, any, any>;
|
|
9
|
-
LinkDocs: import("@redneckz/uni-jsx").UNIComponent<import("./LinkDocs/LinkDocs").LinkDocsProps, any, any>;
|
|
10
|
-
LinkList: import("@redneckz/uni-jsx").UNIComponent<import("./LinkList/LinkList").LinkListProps, any, any>;
|
|
11
|
-
MobileAppTile: import("@redneckz/uni-jsx").UNIComponent<import("./MobileAppTile/MobileAppTile").MobileAppTileProps, any, any>;
|
|
12
|
-
ProductBlock: import("@redneckz/uni-jsx").UNIComponent<import("./ProductBlock/ProductBlock").ProductBlockProps, any, any>;
|
|
13
|
-
ProductGallery: import("@redneckz/uni-jsx").UNIComponent<import("./ProductGallery/ProductGallery").ProductGalleryProps, any, any>;
|
|
14
|
-
StepsBlock: import("@redneckz/uni-jsx").UNIComponent<import("./StepsBlock/StepsBlock").StepsBlockProps, any, any>;
|
|
15
|
-
TariffsTable: import("@redneckz/uni-jsx").UNIComponent<import("./TariffsTable/TariffsTable").TariffsTableProps, any, any>;
|
|
16
|
-
TextBlock: import("@redneckz/uni-jsx").UNIComponent<import("./TextBlock/TextBlock").TextBlockProps, any, any>;
|
|
17
|
-
Placeholder: import("@redneckz/uni-jsx").UNIComponent<import("./Placeholder/Placeholder").PlaceholderProps, any, any>;
|
|
18
|
-
};
|
|
1
|
+
import type { BlocksRegistry } from '../model/BlocksRegistry';
|
|
2
|
+
export declare const Blocks: BlocksRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Blocks.mobile.js","sourceRoot":"","sources":["../../src/components/Blocks.mobile.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Blocks.mobile.js","sourceRoot":"","sources":["../../src/components/Blocks.mobile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,SAAS;IACT,aAAa;IACb,eAAe;IACf,MAAM;IACN,OAAO;IACP,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,YAAY;IACZ,cAAc;IACd,UAAU;IACV,YAAY;IACZ,SAAS;IACT,WAAW;CACZ,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { BlockDecorator } from '../../model/BlockDecorator';
|
|
2
2
|
import type { BlocksRegistry } from '../../model/BlocksRegistry';
|
|
3
3
|
import type { ContentPageDef } from '../../model/ContentPageDef';
|
|
4
|
-
import type { UniBlockProps } from '../../model/JSXBlock';
|
|
4
|
+
import type { JSXBlock, UniBlockProps } from '../../model/JSXBlock';
|
|
5
5
|
interface ContentPageProps extends UniBlockProps {
|
|
6
6
|
blocksRegistry: BlocksRegistry;
|
|
7
7
|
data?: ContentPageDef;
|
|
8
8
|
blockDecorator?: BlockDecorator;
|
|
9
9
|
}
|
|
10
|
-
export declare const ContentPage:
|
|
10
|
+
export declare const ContentPage: JSXBlock<ContentPageProps>;
|
|
11
11
|
export {};
|
|
@@ -2,23 +2,24 @@ import { jsx as _jsx, jsxs as _jsxs } from "@redneckz/uni-jsx/jsx-runtime";
|
|
|
2
2
|
import { JSX } from '@redneckz/uni-jsx';
|
|
3
3
|
import { style2className } from '../../utils/style2className.js';
|
|
4
4
|
import { LikeControl } from '../LikeControl/LikeControl.js';
|
|
5
|
-
import {
|
|
5
|
+
import { renderBlocksList } from './renderBlockList.js';
|
|
6
|
+
import { renderSlots } from './renderSlots.js';
|
|
6
7
|
const defaultBlockDecorator = ({ blockClassName, block, render }) => render({ blockClassName, block });
|
|
7
8
|
export const ContentPage = JSX((props) => {
|
|
8
|
-
const { className = '', context, data = {} } = props;
|
|
9
|
+
const { className = '', blocksRegistry, blockDecorator, context, data = {} } = props;
|
|
9
10
|
const { style: pageStyle, blocks, slots, likeControl, colorPalette = 'pc' } = data;
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
});
|
|
13
|
-
function renderBlocksList({ blocksRegistry, data, blockDecorator, context }) {
|
|
14
|
-
return (blocks, ancestors) => blocks.map((block, i) => renderBlock(block, {
|
|
15
|
-
key: `${block.type || '#'}-${i}`,
|
|
11
|
+
const options = {
|
|
12
|
+
key: '',
|
|
16
13
|
blocksRegistry,
|
|
17
|
-
page: data
|
|
14
|
+
page: data,
|
|
18
15
|
blockDecorator: blockDecorator || defaultBlockDecorator,
|
|
19
16
|
context,
|
|
20
|
-
}
|
|
21
|
-
}
|
|
17
|
+
};
|
|
18
|
+
const pageSlots = renderSlots({ slots, parent: data, options });
|
|
19
|
+
return (_jsxs("section", { className: `relative ${style2className(pageStyle)} ${className}`, "data-theme": colorPalette, children: [pageSlots?.header ? (_jsx("div", { className: "mb-5 shadow-[0_8px_32px_0px_#00000014]", children: pageSlots.header })) : null, blocks?.length ? (_jsxs("div", { className: "container grid grid-cols-12 gap-1", children: [renderBlocksList({ blocks, parent: data, options }), pageSlots?.footer ? pageSlots.footer : null] })) : null, likeControl ? renderLikeControl(context) : null] }));
|
|
20
|
+
});
|
|
21
|
+
ContentPage.childrenTypes = [];
|
|
22
|
+
ContentPage.slots = () => ['header', 'footer'];
|
|
22
23
|
function renderLikeControl(context) {
|
|
23
24
|
return (_jsx("div", { className: "flex items-end absolute bottom-0 right-0 h-full pointer-events-none", children: _jsx(LikeControl, { className: "rounded-tl-lg sticky bottom-0 pointer-events-auto", context: context }, "LikeControl") }));
|
|
24
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/ContentPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAKxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ContentPage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/ContentPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAKxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAQ5C,MAAM,qBAAqB,GAAmB,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAClF,MAAM,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;AAEpC,MAAM,CAAC,MAAM,WAAW,GAA+B,GAAG,CAAmB,CAAC,KAAK,EAAE,EAAE;IACrF,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,KAAK,CAAC;IAErF,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEnF,MAAM,OAAO,GAAuB;QAClC,GAAG,EAAE,EAAE;QACP,cAAc;QACd,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,cAAc,IAAI,qBAAqB;QACvD,OAAO;KACR,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAEhE,OAAO,CACL,mBACE,SAAS,EAAE,YAAY,eAAe,CAAC,SAAS,CAAC,IAAI,SAAS,EAAE,gBACpD,YAAY,aAEvB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CACnB,cAAK,SAAS,EAAC,wCAAwC,YAAE,SAAS,CAAC,MAAM,GAAO,CACjF,CAAC,CAAC,CAAC,IAAI,EAEP,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAChB,eAAK,SAAS,EAAC,mCAAmC,aAC/C,gBAAgB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EACnD,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IACxC,CACP,CAAC,CAAC,CAAC,IAAI,EAEP,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,IACxC,CACX,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,WAAW,CAAC,aAAa,GAAG,EAAE,CAAC;AAC/B,WAAW,CAAC,KAAK,GAAG,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAE/C,SAAS,iBAAiB,CAAC,OAA2B;IACpD,OAAO,CACL,cAAK,SAAS,EAAC,qEAAqE,YAClF,KAAC,WAAW,IAEV,SAAS,EAAC,mDAAmD,EAC7D,OAAO,EAAE,OAAO,IAFZ,aAAa,CAGjB,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const mapSlot = (mapper) => (slot) => ({
|
|
2
|
+
...slot,
|
|
3
|
+
blocks: mapper(slot.blocks),
|
|
4
|
+
slots: slot.slots
|
|
5
|
+
? Object.entries(slot.slots).reduce((res, [slotKey, slotBlocks]) => ({
|
|
6
|
+
...res,
|
|
7
|
+
[slotKey]: mapper(slotBlocks),
|
|
8
|
+
}), {})
|
|
9
|
+
: {},
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=mapSlot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapSlot.js","sourceRoot":"","sources":["../../../src/components/ContentPage/mapSlot.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,OAAO,GAClB,CAAC,MAA2C,EAAE,EAAE,CAChD,CAAiB,IAAO,EAAK,EAAE,CAAC,CAAC;IAC/B,GAAG,IAAI;IACP,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;QACf,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAC/B,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,GAAG;YACN,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;SAC9B,CAAC,EACF,EAAE,CACH;QACH,CAAC,CAAC,EAAE;CACP,CAAC,CAAC"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
content?: Record<string, any> | undefined;
|
|
5
|
-
version?: import("../../model/BlockVersion").BlockVersion | undefined;
|
|
6
|
-
hidden?: boolean | undefined;
|
|
7
|
-
anchor?: string | undefined;
|
|
8
|
-
labels?: string[] | undefined;
|
|
9
|
-
style?: string[] | undefined;
|
|
10
|
-
blocks?: BlockDef[] | undefined;
|
|
11
|
-
};
|
|
1
|
+
import type { BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
|
+
import type { Slot } from '../../model/ContentPageDef';
|
|
3
|
+
export declare function normalizeBlock<S extends Slot>(block?: S, blocksRegistry?: BlocksRegistry): S;
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
|
|
1
|
+
import { mapSlot } from './mapSlot.js';
|
|
2
|
+
export function normalizeBlock(block, blocksRegistry) {
|
|
2
3
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3
|
-
const { mobile, ...rest } = block;
|
|
4
|
-
return
|
|
4
|
+
const { mobile, ...rest } = (block || {});
|
|
5
|
+
return {
|
|
6
|
+
...mapSlot((blocks) => filterBlocks(blocks, blocksRegistry))({ ...rest }),
|
|
7
|
+
};
|
|
5
8
|
}
|
|
9
|
+
const filterBlocks = (blocks, blocksRegistry) => blocks
|
|
10
|
+
? blocks
|
|
11
|
+
.filter((block) => blocksRegistry && (block?.type || '') in blocksRegistry)
|
|
12
|
+
.map((block) => ({
|
|
13
|
+
...normalizeBlock(block, blocksRegistry),
|
|
14
|
+
}))
|
|
15
|
+
: [];
|
|
6
16
|
//# sourceMappingURL=normalizeBlock.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeBlock.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizeBlock.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,
|
|
1
|
+
{"version":3,"file":"normalizeBlock.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizeBlock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc,CAAiB,KAAS,EAAE,cAA+B;IACvF,6DAA6D;IAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAa,CAAC;IAEtD,OAAO;QACL,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;KACrE,CAAC;AACT,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,cAA+B,EAAE,EAAE,CAC5E,MAAM;IACJ,CAAC,CAAC,MAAM;SACH,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,cAAc,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,cAAc,CAAC;SAC1E,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC;KACzC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import type { BlocksRegistry } from '../../model/BlocksRegistry';
|
|
2
|
+
import type { Slot } from '../../model/ContentPageDef';
|
|
3
|
+
export declare function normalizeBlock<S extends Slot>(block?: S, blocksRegistry?: BlocksRegistry): S;
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { mapSlot } from './mapSlot.js';
|
|
2
|
+
export function normalizeBlock(block, blocksRegistry) {
|
|
3
|
+
const { mobile, ...rest } = (block || {});
|
|
4
|
+
const normalizedBlock = mobile
|
|
5
|
+
? { ...rest, ...mobile, content: { ...rest.content, ...mobile.content } }
|
|
6
|
+
: block;
|
|
7
|
+
return {
|
|
8
|
+
...mapSlot((blocks) => filterBlocks(blocks, blocksRegistry))(normalizedBlock || {}),
|
|
9
|
+
};
|
|
4
10
|
}
|
|
11
|
+
const filterBlocks = (blocks, blocksRegistry) => blocks
|
|
12
|
+
? blocks
|
|
13
|
+
?.filter((block) => blocksRegistry &&
|
|
14
|
+
(block?.type || block?.mobile?.type || '') in blocksRegistry &&
|
|
15
|
+
!block.mobile?.hidden)
|
|
16
|
+
.map((block) => ({
|
|
17
|
+
...normalizeBlock(block, blocksRegistry),
|
|
18
|
+
}))
|
|
19
|
+
: [];
|
|
5
20
|
//# sourceMappingURL=normalizeBlock.mobile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeBlock.mobile.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizeBlock.mobile.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,cAAc,
|
|
1
|
+
{"version":3,"file":"normalizeBlock.mobile.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizeBlock.mobile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,UAAU,cAAc,CAAiB,KAAS,EAAE,cAA+B;IACvF,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAa,CAAC;IAEtD,MAAM,eAAe,GAAG,MAAM;QAC5B,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,EAAE,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE;QACzE,CAAC,CAAC,KAAK,CAAC;IAEV,OAAO;QACL,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC;KAC/E,CAAC;AACT,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,cAA+B,EAAE,EAAE,CAC5E,MAAM;IACJ,CAAC,CAAC,MAAM;QACJ,EAAE,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CACR,cAAc;QACd,CAAC,KAAK,EAAE,IAAI,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC,IAAI,cAAc;QAC5D,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CACxB;SACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,GAAG,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC;KACzC,CAAC,CAAC;IACP,CAAC,CAAC,EAAE,CAAC"}
|
|
@@ -1,20 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { normalizeBlock } from './normalizeBlock.js';
|
|
2
2
|
export const normalizePage = (blocksRegistry) => (contentPage) => {
|
|
3
3
|
if (!contentPage) {
|
|
4
4
|
return undefined;
|
|
5
5
|
}
|
|
6
|
-
|
|
7
|
-
return {
|
|
8
|
-
...contentPage,
|
|
9
|
-
blocks: filterBlocks(blocks, blocksRegistry),
|
|
10
|
-
slots: slots &&
|
|
11
|
-
Object.keys(slots).reduce((res, key) => ({
|
|
12
|
-
...res,
|
|
13
|
-
[key]: {
|
|
14
|
-
...slots[key],
|
|
15
|
-
blocks: filterBlocks(slots[key].blocks || [], blocksRegistry),
|
|
16
|
-
},
|
|
17
|
-
}), {}),
|
|
18
|
-
};
|
|
6
|
+
return normalizeBlock(contentPage, blocksRegistry);
|
|
19
7
|
};
|
|
20
8
|
//# sourceMappingURL=normalizePage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizePage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizePage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"normalizePage.js","sourceRoot":"","sources":["../../../src/components/ContentPage/normalizePage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GACxB,CAAC,cAA8B,EAAE,EAAE,CACnC,CAAC,WAA8C,EAA8B,EAAE;IAC7E,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,SAAS,CAAC;KAClB;IAED,OAAO,cAAc,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -2,12 +2,16 @@ import { BlockAncestors, BlockDecorator } from '../../model/BlockDecorator';
|
|
|
2
2
|
import type { BlocksRegistry } from '../../model/BlocksRegistry';
|
|
3
3
|
import type { BlockDef, ContentPageDef } from '../../model/ContentPageDef';
|
|
4
4
|
import type { ContentPageContext } from './ContentPageContext';
|
|
5
|
-
interface RenderBlockOptions {
|
|
5
|
+
export interface RenderBlockOptions {
|
|
6
6
|
key: string;
|
|
7
7
|
page: ContentPageDef;
|
|
8
8
|
blockDecorator: BlockDecorator;
|
|
9
9
|
blocksRegistry: BlocksRegistry;
|
|
10
10
|
context: ContentPageContext;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
13
|
-
|
|
12
|
+
export interface RenderBlockProps {
|
|
13
|
+
block?: BlockDef;
|
|
14
|
+
options: RenderBlockOptions;
|
|
15
|
+
ancestors?: BlockAncestors;
|
|
16
|
+
}
|
|
17
|
+
export declare function renderBlock({ block, options, ancestors }: RenderBlockProps): any;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@redneckz/uni-jsx/jsx-runtime";
|
|
2
|
-
import { DEFAULT_ANCESTORS } from '../../model/BlockDecorator.js';
|
|
3
2
|
import { style2className } from '../../utils/style2className.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const {
|
|
3
|
+
import { renderBlocksList } from './renderBlockList.js';
|
|
4
|
+
import { renderSlots } from './renderSlots.js';
|
|
5
|
+
export function renderBlock({ block = {}, options, ancestors = [] }) {
|
|
6
|
+
const { key, page, blockDecorator, blocksRegistry = {}, context } = options;
|
|
7
|
+
const { type, slots, blocks: childBlocks } = block;
|
|
8
8
|
if (!(type && type in blocksRegistry)) {
|
|
9
9
|
console.warn(`No block with "${type}" is registered`);
|
|
10
10
|
}
|
|
11
11
|
const BlockComponent = type && blocksRegistry[type];
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
12
|
+
const subBlockRenderProps = { parent: block, options, ancestors };
|
|
13
|
+
const children = renderBlocksList({ ...subBlockRenderProps, blocks: childBlocks });
|
|
14
|
+
const blockSlots = slots ? renderSlots({ ...subBlockRenderProps, slots }) : {};
|
|
15
15
|
return blockDecorator({
|
|
16
16
|
blockClassName: `scroll-mt-12 ${style2className(block.style)}`,
|
|
17
17
|
block,
|
|
@@ -19,7 +19,7 @@ export function renderBlock(block, options, ancestors = DEFAULT_ANCESTORS) {
|
|
|
19
19
|
// Adjusted by decorator block and blockClassName
|
|
20
20
|
render: ({ block: adjustedBlock, blockClassName: adjustedBlockClassName }) => {
|
|
21
21
|
const { version, anchor, labels, content } = adjustedBlock;
|
|
22
|
-
return BlockComponent ? (_jsx(BlockComponent, { className: adjustedBlockClassName, context: context, page: page, ancestors: ancestors, version: version, anchor: anchor, labels: labels, ...content, children: children }, key)) : null;
|
|
22
|
+
return BlockComponent ? (_jsx(BlockComponent, { className: adjustedBlockClassName, context: context, page: page, ancestors: ancestors, version: version, anchor: anchor, labels: labels, slots: blockSlots, ...content, children: children }, key)) : null;
|
|
23
23
|
},
|
|
24
24
|
}, key);
|
|
25
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderBlock.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderBlock.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"renderBlock.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderBlock.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAgB5C,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,GAAG,EAAE,EAAoB;IACnF,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAG,EAAE,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5E,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAEnD,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,IAAI,cAAc,CAAC,EAAE;QACrC,OAAO,CAAC,IAAI,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,CAAC;KACvD;IAED,MAAM,cAAc,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IAEpD,MAAM,mBAAmB,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,gBAAgB,CAAC,EAAE,GAAG,mBAAmB,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,GAAG,mBAAmB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE/E,OAAO,cAAc,CACnB;QACE,cAAc,EAAE,gBAAgB,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QAC9D,KAAK;QACL,SAAS;QACT,iDAAiD;QACjD,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,sBAAsB,EAAE,EAAE,EAAE;YAC3E,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC;YAE3D,OAAO,cAAc,CAAC,CAAC,CAAC,CACtB,KAAC,cAAc,IAEb,SAAS,EAAE,sBAAsB,EACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,UAAU,KACb,OAAO,YAEV,QAAQ,IAXJ,GAAG,CAYO,CAClB,CAAC,CAAC,CAAC,IAAI,CAAC;QACX,CAAC;KACF,EACD,GAAG,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { SlotName } from '../../model/BlockDecorator';
|
|
2
|
+
import { BlockAncestors } from '../../model/BlockDecorator';
|
|
3
|
+
import type { BlockDef, Slot } from '../../model/ContentPageDef';
|
|
4
|
+
import type { VNode } from '../../model/VNode';
|
|
5
|
+
import { RenderBlockOptions } from './renderBlock';
|
|
6
|
+
interface RenderBlockListProps {
|
|
7
|
+
blocks?: BlockDef[];
|
|
8
|
+
parent: Slot;
|
|
9
|
+
slotName?: SlotName;
|
|
10
|
+
options: RenderBlockOptions;
|
|
11
|
+
ancestors?: BlockAncestors;
|
|
12
|
+
}
|
|
13
|
+
export declare function renderBlocksList({ blocks, parent, slotName, options, ancestors, }: RenderBlockListProps): Record<string, VNode>;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { DEFAULT_SLOT_NAME } from '../../model/BlockDecorator.js';
|
|
2
|
+
import { renderBlock } from './renderBlock.js';
|
|
3
|
+
const defaultChildRenderer = (_) => _;
|
|
4
|
+
export function renderBlocksList({ blocks = [], parent, slotName = DEFAULT_SLOT_NAME, options, ancestors = [], }) {
|
|
5
|
+
const { blocksRegistry = {} } = options;
|
|
6
|
+
const { type } = parent;
|
|
7
|
+
const BlockComponent = type && blocksRegistry[type];
|
|
8
|
+
const { renderChild = defaultChildRenderer } = BlockComponent || {};
|
|
9
|
+
return blocks.map((_, j) => renderChild(renderBlock({
|
|
10
|
+
block: _,
|
|
11
|
+
options: { ...options, key: `${options.key ? options.key : _.type}-${j}` },
|
|
12
|
+
ancestors: [...ancestors, [parent, slotName]],
|
|
13
|
+
}), j));
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=renderBlockList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderBlockList.js","sourceRoot":"","sources":["../../../src/components/ContentPage/renderBlockList.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/E,OAAO,EAAE,WAAW,EAAsB,MAAM,eAAe,CAAC;AAUhE,MAAM,oBAAoB,GAAG,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;AAE7C,MAAM,UAAU,gBAAgB,CAAC,EAC/B,MAAM,GAAG,EAAE,EACX,MAAM,EACN,QAAQ,GAAG,iBAAiB,EAC5B,OAAO,EACP,SAAS,GAAG,EAAE,GACO;IACrB,MAAM,EAAE,cAAc,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAkB,CAAC;IACpC,MAAM,cAAc,GAAG,IAAI,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,EAAE,WAAW,GAAG,oBAAoB,EAAE,GAAG,cAAc,IAAI,EAAE,CAAC;IAEpE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAW,EAAE,CAAS,EAAE,EAAE,CAC3C,WAAW,CACT,WAAW,CAAC;QACV,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;QAC1E,SAAS,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;KAC9C,CAAC,EACF,CAAC,CACF,CACF,CAAC;AACJ,CAAC"}
|