@refrakt-md/marketing 0.32.0 → 0.34.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/dist/config.d.ts.map +1 -1
- package/dist/config.js +81 -12
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +100 -20
- package/dist/index.js.map +1 -1
- package/dist/props.d.ts.map +1 -1
- package/dist/tags/bento.d.ts.map +1 -1
- package/dist/tags/bento.js +107 -26
- package/dist/tags/bento.js.map +1 -1
- package/dist/tags/comparison.d.ts.map +1 -1
- package/dist/tags/comparison.js +73 -34
- package/dist/tags/comparison.js.map +1 -1
- package/dist/tags/cta.d.ts.map +1 -1
- package/dist/tags/cta.js +12 -8
- package/dist/tags/cta.js.map +1 -1
- package/dist/tags/feature.d.ts.map +1 -1
- package/dist/tags/feature.js +54 -26
- package/dist/tags/feature.js.map +1 -1
- package/dist/tags/hero.d.ts.map +1 -1
- package/dist/tags/hero.js +46 -19
- package/dist/tags/hero.js.map +1 -1
- package/dist/tags/pricing.d.ts.map +1 -1
- package/dist/tags/pricing.js +49 -24
- package/dist/tags/pricing.js.map +1 -1
- package/dist/tags/steps.d.ts.map +1 -1
- package/dist/tags/steps.js +21 -20
- package/dist/tags/steps.js.map +1 -1
- package/dist/tags/testimonial.d.ts.map +1 -1
- package/dist/tags/testimonial.js +28 -11
- package/dist/tags/testimonial.js.map +1 -1
- package/package.json +4 -4
package/dist/tags/steps.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
2
|
const { Ast, Tag } = Markdoc;
|
|
3
|
-
import { createComponentRenderable, createContentModelSchema, SplitLayoutModel, buildLayoutMetas, nameHelper as name, pageSectionProperties, asNodes, unwrapParagraphImages } from '@refrakt-md/runes';
|
|
3
|
+
import { createComponentRenderable, createContentModelSchema, SplitLayoutModel, buildLayoutMetas, nameHelper as name, pageSectionProperties, asNodes, unwrapParagraphImages, } from '@refrakt-md/runes';
|
|
4
4
|
import { RenderableNodeCursor } from '@refrakt-md/runes';
|
|
5
5
|
// SPEC-125 Phase 2 — join tables the rune declares about itself. Referenced
|
|
6
6
|
// from the theme config rather than owned by it: a theme may not redefine
|
|
@@ -18,17 +18,13 @@ export const step = createContentModelSchema({
|
|
|
18
18
|
{
|
|
19
19
|
name: 'media',
|
|
20
20
|
type: 'sequence',
|
|
21
|
-
fields: [
|
|
22
|
-
{ name: 'content', match: 'any', optional: true, greedy: true },
|
|
23
|
-
],
|
|
21
|
+
fields: [{ name: 'content', match: 'any', optional: true, greedy: true }],
|
|
24
22
|
},
|
|
25
23
|
{
|
|
26
24
|
name: 'content',
|
|
27
25
|
primary: true,
|
|
28
26
|
type: 'sequence',
|
|
29
|
-
fields: [
|
|
30
|
-
{ name: 'content', match: 'any', optional: true, greedy: true },
|
|
31
|
-
],
|
|
27
|
+
fields: [{ name: 'content', match: 'any', optional: true, greedy: true }],
|
|
32
28
|
},
|
|
33
29
|
],
|
|
34
30
|
},
|
|
@@ -42,14 +38,18 @@ export const step = createContentModelSchema({
|
|
|
42
38
|
const mainContent = main.wrap('div');
|
|
43
39
|
const sideContent = side.wrap('div');
|
|
44
40
|
// Content-first DOM → the truthful stacked default is `bottom` (BUG-001).
|
|
45
|
-
const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas({
|
|
46
|
-
|
|
41
|
+
const { metas: layoutMetas, children: layoutChildren } = buildLayoutMetas({
|
|
42
|
+
...attrs,
|
|
43
|
+
'media-position': attrs['media-position'] ?? 'bottom',
|
|
44
|
+
});
|
|
45
|
+
const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta, } = layoutMetas;
|
|
47
46
|
const children = [
|
|
48
47
|
...layoutChildren,
|
|
49
48
|
mainContent.next(),
|
|
50
49
|
...(side.toArray().length > 0 ? [sideContent.next()] : []),
|
|
51
50
|
];
|
|
52
|
-
return createComponentRenderable({
|
|
51
|
+
return createComponentRenderable({
|
|
52
|
+
rune: 'step',
|
|
53
53
|
tag: 'li',
|
|
54
54
|
properties: {
|
|
55
55
|
name: name(main),
|
|
@@ -69,7 +69,11 @@ export const step = createContentModelSchema({
|
|
|
69
69
|
// SPEC-125 Phase 2 — join tables the rune declares about itself. Referenced
|
|
70
70
|
// from the theme config rather than owned by it: a theme may not redefine
|
|
71
71
|
// what a section *is* (ADR-028).
|
|
72
|
-
export const stepsSections = {
|
|
72
|
+
export const stepsSections = {
|
|
73
|
+
preamble: 'preamble',
|
|
74
|
+
headline: 'title',
|
|
75
|
+
blurb: 'description',
|
|
76
|
+
};
|
|
73
77
|
export const steps = createContentModelSchema({
|
|
74
78
|
sections: stepsSections,
|
|
75
79
|
attributes: {},
|
|
@@ -80,9 +84,7 @@ export const steps = createContentModelSchema({
|
|
|
80
84
|
model: {
|
|
81
85
|
type: 'sections',
|
|
82
86
|
sectionHeading: 'heading',
|
|
83
|
-
fields: [
|
|
84
|
-
{ name: 'header', match: 'heading|paragraph', optional: true, greedy: true },
|
|
85
|
-
],
|
|
87
|
+
fields: [{ name: 'header', match: 'heading|paragraph', optional: true, greedy: true }],
|
|
86
88
|
sectionModel: {
|
|
87
89
|
type: 'sequence',
|
|
88
90
|
fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
|
|
@@ -104,7 +106,7 @@ export const steps = createContentModelSchema({
|
|
|
104
106
|
if (resolved.sections) {
|
|
105
107
|
// Heading-based steps: build step tags from resolved sections
|
|
106
108
|
const sections = resolved.sections;
|
|
107
|
-
const stepTagNodes = sections.map(section => new Ast.Node('tag', {}, [section.$headingNode, ...asNodes(section.body)], 'step'));
|
|
109
|
+
const stepTagNodes = sections.map((section) => new Ast.Node('tag', {}, [section.$headingNode, ...asNodes(section.body)], 'step'));
|
|
108
110
|
const stepStream = new RenderableNodeCursor(Markdoc.transform(stepTagNodes, config));
|
|
109
111
|
stepItems = stepStream.tag('li').typeof('Step');
|
|
110
112
|
}
|
|
@@ -112,15 +114,14 @@ export const steps = createContentModelSchema({
|
|
|
112
114
|
// List-based steps: convert ordered list items to step tags
|
|
113
115
|
const listNode = asNodes(resolved.list)[0];
|
|
114
116
|
const itemNodes = listNode?.children ?? [];
|
|
115
|
-
const stepTagNodes = itemNodes.map(item => new Ast.Node('tag', {}, item.children, 'step'));
|
|
117
|
+
const stepTagNodes = itemNodes.map((item) => new Ast.Node('tag', {}, item.children, 'step'));
|
|
116
118
|
const stepStream = new RenderableNodeCursor(Markdoc.transform(stepTagNodes, config));
|
|
117
119
|
stepItems = stepStream.tag('li').typeof('Step');
|
|
118
120
|
}
|
|
119
121
|
const stepList = new Tag('ol', {}, stepItems.toArray());
|
|
120
|
-
const children = headerNodes.count() > 0
|
|
121
|
-
|
|
122
|
-
:
|
|
123
|
-
return createComponentRenderable({ rune: 'steps',
|
|
122
|
+
const children = headerNodes.count() > 0 ? [...headerNodes.toArray(), stepList] : [stepList];
|
|
123
|
+
return createComponentRenderable({
|
|
124
|
+
rune: 'steps',
|
|
124
125
|
tag: 'section',
|
|
125
126
|
property: 'contentSection',
|
|
126
127
|
properties: {
|
package/dist/tags/steps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAGvC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AAC7B,OAAO,
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testimonial.d.ts","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"testimonial.d.ts","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAgBvC,eAAO,MAAM,mBAAmB;;CAA+B,CAAC;AAChE,eAAO,MAAM,qBAAqB;;CAAkC,CAAC;AAErE,eAAO,MAAM,WAAW,gBAsItB,CAAC"}
|
package/dist/tags/testimonial.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
2
|
const { Tag } = Markdoc;
|
|
3
|
-
import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor, isMediaNode } from '@refrakt-md/runes';
|
|
3
|
+
import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor, isMediaNode, } from '@refrakt-md/runes';
|
|
4
4
|
const variantType = ['card', 'inline', 'quote'];
|
|
5
5
|
// SPEC-125 Phase 2 — join tables the rune declares about itself. Referenced
|
|
6
6
|
// from the theme config rather than owned by it: a theme may not redefine
|
|
@@ -11,14 +11,21 @@ export const testimonial = createContentModelSchema({
|
|
|
11
11
|
sections: testimonialSections,
|
|
12
12
|
mediaSlots: testimonialMediaSlots,
|
|
13
13
|
attributes: {
|
|
14
|
-
rating: {
|
|
15
|
-
|
|
14
|
+
rating: {
|
|
15
|
+
type: Number,
|
|
16
|
+
required: false,
|
|
17
|
+
description: 'Star rating value (1-5) shown alongside the testimonial',
|
|
18
|
+
},
|
|
19
|
+
variant: {
|
|
20
|
+
type: String,
|
|
21
|
+
required: false,
|
|
22
|
+
matches: variantType.slice(),
|
|
23
|
+
description: 'Visual style: card with border, inline with text flow, or quote with large quotation marks',
|
|
24
|
+
},
|
|
16
25
|
},
|
|
17
26
|
contentModel: {
|
|
18
27
|
type: 'sequence',
|
|
19
|
-
fields: [
|
|
20
|
-
{ name: 'body', match: 'any', optional: true, greedy: true },
|
|
21
|
-
],
|
|
28
|
+
fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
|
|
22
29
|
},
|
|
23
30
|
deprecations: {
|
|
24
31
|
layout: { newName: 'variant' },
|
|
@@ -44,7 +51,8 @@ export const testimonial = createContentModelSchema({
|
|
|
44
51
|
authorNameTag = new Tag('span', {}, [nameText]);
|
|
45
52
|
// Get the role text after the strong tag
|
|
46
53
|
const idx = node.children.indexOf(child);
|
|
47
|
-
const rest = node.children
|
|
54
|
+
const rest = node.children
|
|
55
|
+
.slice(idx + 1)
|
|
48
56
|
.filter((c) => typeof c === 'string')
|
|
49
57
|
.join('')
|
|
50
58
|
.replace(/^\s*[-–—]\s*/, '')
|
|
@@ -55,7 +63,8 @@ export const testimonial = createContentModelSchema({
|
|
|
55
63
|
}
|
|
56
64
|
}
|
|
57
65
|
}
|
|
58
|
-
else if (isMediaNode(node) ||
|
|
66
|
+
else if (isMediaNode(node) ||
|
|
67
|
+
(node.name === 'p' && node.children.some((c) => isMediaNode(c)))) {
|
|
59
68
|
// Extract the avatar — an <img> or a scheme-resolved <svg>
|
|
60
69
|
// (placeholder:/icon:), direct or wrapped in a paragraph (SPEC-106).
|
|
61
70
|
if (isMediaNode(node)) {
|
|
@@ -85,10 +94,16 @@ export const testimonial = createContentModelSchema({
|
|
|
85
94
|
// Schema.org nested entities for Person author and Rating
|
|
86
95
|
if (authorNameTag) {
|
|
87
96
|
const authorMetas = [
|
|
88
|
-
new Tag('meta', {
|
|
97
|
+
new Tag('meta', {
|
|
98
|
+
property: 'name',
|
|
99
|
+
content: authorNameTag.children.filter((c) => typeof c === 'string').join(''),
|
|
100
|
+
}),
|
|
89
101
|
];
|
|
90
102
|
if (authorRoleTag) {
|
|
91
|
-
authorMetas.push(new Tag('meta', {
|
|
103
|
+
authorMetas.push(new Tag('meta', {
|
|
104
|
+
property: 'jobTitle',
|
|
105
|
+
content: authorRoleTag.children.filter((c) => typeof c === 'string').join(''),
|
|
106
|
+
}));
|
|
92
107
|
}
|
|
93
108
|
resultChildren.push(new Tag('span', { typeof: 'Person', property: 'author' }, authorMetas));
|
|
94
109
|
}
|
|
@@ -97,7 +112,9 @@ export const testimonial = createContentModelSchema({
|
|
|
97
112
|
new Tag('meta', { property: 'ratingValue', content: rating }),
|
|
98
113
|
]));
|
|
99
114
|
}
|
|
100
|
-
return createComponentRenderable({
|
|
115
|
+
return createComponentRenderable({
|
|
116
|
+
rune: 'testimonial',
|
|
117
|
+
schemaOrgType: 'Review',
|
|
101
118
|
tag: 'article',
|
|
102
119
|
properties: {
|
|
103
120
|
rating: ratingMeta,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testimonial.js","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,
|
|
1
|
+
{"version":3,"file":"testimonial.js","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@refrakt-md/marketing",
|
|
3
3
|
"description": "Marketing runes for refrakt.md — hero, CTA, pricing, and more",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.34.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"repository": {
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"build": "tsc"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@refrakt-md/types": "0.
|
|
25
|
-
"@refrakt-md/transform": "0.
|
|
26
|
-
"@refrakt-md/runes": "0.
|
|
24
|
+
"@refrakt-md/types": "0.34.0",
|
|
25
|
+
"@refrakt-md/transform": "0.34.0",
|
|
26
|
+
"@refrakt-md/runes": "0.34.0",
|
|
27
27
|
"@markdoc/markdoc": "0.4.0",
|
|
28
28
|
"reflect-metadata": "^0.2.0"
|
|
29
29
|
}
|