@refrakt-md/marketing 0.33.0 → 0.35.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.
@@ -1,10 +1,17 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
2
  const { Ast, Tag } = Markdoc;
3
- import { createComponentRenderable, createContentModelSchema, asNodes, RenderableNodeCursor, headingsToList, descriptionHelper as description, pageSectionProperties } from '@refrakt-md/runes';
3
+ import { createComponentRenderable, createContentModelSchema, asNodes, RenderableNodeCursor, headingsToList, descriptionHelper as description, pageSectionProperties, } from '@refrakt-md/runes';
4
4
  const NAME_PRICE_PATTERN = /^(.+?)\s*[-–—]\s*(.+)$/;
5
5
  const CURRENCY_SYMBOLS = {
6
- '$': 'USD', '€': 'EUR', '£': 'GBP', '¥': 'JPY', '₹': 'INR',
7
- 'kr': 'SEK', 'CHF': 'CHF', 'A$': 'AUD', 'C$': 'CAD',
6
+ $: 'USD',
7
+ '€': 'EUR',
8
+ '£': 'GBP',
9
+ '¥': 'JPY',
10
+ '₹': 'INR',
11
+ kr: 'SEK',
12
+ CHF: 'CHF',
13
+ A$: 'AUD',
14
+ C$: 'CAD',
8
15
  };
9
16
  function inferCurrency(priceText) {
10
17
  for (const [symbol, code] of Object.entries(CURRENCY_SYMBOLS)) {
@@ -15,10 +22,13 @@ function inferCurrency(priceText) {
15
22
  }
16
23
  function convertHeadings(nodes) {
17
24
  // Auto-detect heading level from the first heading that matches "Name — Price"
18
- const level = nodes.find(n => {
25
+ const level = nodes.find((n) => {
19
26
  if (n.type !== 'heading')
20
27
  return false;
21
- const text = Array.from(n.walk()).filter(c => c.type === 'text').map(t => t.attributes.content).join(' ');
28
+ const text = Array.from(n.walk())
29
+ .filter((c) => c.type === 'text')
30
+ .map((t) => t.attributes.content)
31
+ .join(' ');
22
32
  return NAME_PRICE_PATTERN.test(text);
23
33
  })?.attributes.level;
24
34
  if (!level)
@@ -32,8 +42,8 @@ function convertHeadings(nodes) {
32
42
  for (const item of converted[n].children) {
33
43
  const heading = item.children[0];
34
44
  const headingText = Array.from(heading.walk())
35
- .filter(n => n.type === 'text')
36
- .map(t => t.attributes.content)
45
+ .filter((n) => n.type === 'text')
46
+ .map((t) => t.attributes.content)
37
47
  .join(' ');
38
48
  const match = headingText.match(NAME_PRICE_PATTERN);
39
49
  if (match) {
@@ -49,15 +59,36 @@ function convertHeadings(nodes) {
49
59
  // SPEC-125 Phase 2 — join tables the rune declares about itself. Referenced
50
60
  // from the theme config rather than owned by it: a theme may not redefine
51
61
  // what a section *is* (ADR-028).
52
- export const pricingSections = { preamble: 'preamble', headline: 'title', blurb: 'description' };
62
+ export const pricingSections = {
63
+ preamble: 'preamble',
64
+ headline: 'title',
65
+ blurb: 'description',
66
+ };
67
+ // SPEC-130 / WORK-568 — Group B, and where D6 shows. `offers` is declared a
68
+ // list, so a one-tier pricing block serialises `"offers": [{…}]` instead of the
69
+ // bare object it used to emit — the shape no longer varies with how much content
70
+ // an author wrote.
71
+ //
72
+ // The tiers are retyped from here rather than from `tier` itself (D9): the
73
+ // property that holds a child and the child's type are one declaration, and only
74
+ // the parent can supply the property. `featured-tier` is the same rune under a
75
+ // different name, so both keys are listed.
76
+ export const pricingSchema = {
77
+ type: 'Product',
78
+ properties: { headline: 'name', blurb: 'description' },
79
+ lists: ['offers'],
80
+ children: {
81
+ tier: { type: 'Offer', property: 'offers' },
82
+ 'featured-tier': { type: 'Offer', property: 'offers' },
83
+ },
84
+ };
53
85
  export const pricing = createContentModelSchema({
86
+ schema: pricingSchema,
54
87
  sections: pricingSections,
55
88
  attributes: {},
56
89
  contentModel: {
57
90
  type: 'sequence',
58
- fields: [
59
- { name: 'content', match: 'any', optional: true, greedy: true },
60
- ],
91
+ fields: [{ name: 'content', match: 'any', optional: true, greedy: true }],
61
92
  },
62
93
  transform(resolved, attrs, config) {
63
94
  const processed = convertHeadings(asNodes(resolved.content));
@@ -66,8 +97,12 @@ export const pricing = createContentModelSchema({
66
97
  const header = allNodes.tags('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p');
67
98
  const tiers = allNodes.tag('li');
68
99
  const sectionProps = pageSectionProperties(header);
69
- const tiersList = tiers.wrap('ul', { 'data-layout': 'grid', 'data-columns': tiers.nodes.length });
70
- return createComponentRenderable({ rune: 'pricing', schemaOrgType: 'Product',
100
+ const tiersList = tiers.wrap('ul', {
101
+ 'data-layout': 'grid',
102
+ 'data-columns': tiers.nodes.length,
103
+ });
104
+ return createComponentRenderable({
105
+ rune: 'pricing',
71
106
  tag: 'section',
72
107
  property: 'contentSection',
73
108
  properties: {
@@ -77,19 +112,26 @@ export const pricing = createContentModelSchema({
77
112
  ...sectionProps,
78
113
  tiers: tiersList.tag('ul'),
79
114
  },
80
- schema: {
81
- name: sectionProps.headline,
82
- description: sectionProps.blurb,
83
- offers: tiers,
84
- },
85
- children: [
86
- header.wrap('header').next(),
87
- tiersList.next(),
88
- ]
115
+ children: [header.wrap('header').next(), tiersList.next()],
89
116
  });
90
117
  },
91
118
  });
119
+ // SPEC-130 / WORK-568 — Group B, and the pair's careful half. `parsedPrice` and
120
+ // `resolvedCurrency` survived only *because* the rune declared them in `schema:`
121
+ // — that is the `isSeoMeta` check in `createComponentRenderable`. With the
122
+ // declaration gone they are dropped as pure data, and the applier rebuilds them
123
+ // from the field bag, which works only because WORK-561 put them there. Had this
124
+ // landed first, the price would have vanished from the structured data while the
125
+ // HTML looked identical.
126
+ //
127
+ // `pricing` restates this type in its `children` row: a standalone `{% tier %}`
128
+ // is still an `Offer`, and inside a `{% pricing %}` the parent is what nests it.
129
+ export const tierSchema = {
130
+ type: 'Offer',
131
+ properties: { name: 'name', parsedPrice: 'price', resolvedCurrency: 'priceCurrency' },
132
+ };
92
133
  export const tier = createContentModelSchema({
134
+ schema: tierSchema,
93
135
  attributes: {
94
136
  name: { type: String, required: true },
95
137
  price: { type: String, required: false },
@@ -99,9 +141,7 @@ export const tier = createContentModelSchema({
99
141
  },
100
142
  contentModel: {
101
143
  type: 'sequence',
102
- fields: [
103
- { name: 'body', match: 'any', optional: true, greedy: true },
104
- ],
144
+ fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
105
145
  },
106
146
  transform(resolved, attrs, config) {
107
147
  const runeName = attrs.featured ? 'featured-tier' : 'tier';
@@ -113,26 +153,44 @@ export const tier = createContentModelSchema({
113
153
  const currencyMeta = attrs.currency ? new Tag('meta', { content: attrs.currency }) : undefined;
114
154
  // Schema.org price parsing: extract numeric value and infer currency
115
155
  const numericMatch = priceValue.match(/[\d.]+/);
116
- const parsedPriceMeta = new Tag('meta', { content: numericMatch ? numericMatch[0] : priceValue });
117
- const resolvedCurrencyMeta = new Tag('meta', { content: attrs.currency || inferCurrency(priceValue) });
118
- return createComponentRenderable({ rune: runeName, schemaOrgType: 'Offer',
156
+ const parsedPriceMeta = new Tag('meta', {
157
+ content: numericMatch ? numericMatch[0] : priceValue,
158
+ });
159
+ const resolvedCurrencyMeta = new Tag('meta', {
160
+ content: attrs.currency || inferCurrency(priceValue),
161
+ });
162
+ return createComponentRenderable({
163
+ rune: runeName,
119
164
  tag: 'li',
120
165
  properties: {
121
166
  description: description(children),
122
167
  ...(currencyMeta ? { currency: currencyMeta } : {}),
123
168
  url: children.flatten().tag('a'),
169
+ // WORK-561 — value-only SEO carriers, addressable by name for
170
+ // WORK-565's applier. Both stay in `schema:`, so they keep their
171
+ // `property=` and are not dropped; the bag entry is additional.
172
+ //
173
+ // Deliberately *not* named `price`/`currency`: `price` is already the
174
+ // `<p>` ref (the rendered price, "$19") and `currency` is already the
175
+ // author's raw attribute. These two are the parsed numeric value and
176
+ // the resolved-or-inferred code — different nodes with different
177
+ // values, so they get their own names rather than shadowing.
178
+ parsedPrice: parsedPriceMeta,
179
+ resolvedCurrency: resolvedCurrencyMeta,
124
180
  },
125
181
  refs: {
126
182
  body: body.tag('div'),
127
183
  name: nameTag,
128
184
  price: priceTag,
129
185
  },
130
- schema: {
131
- name: nameTag,
132
- price: parsedPriceMeta,
133
- priceCurrency: resolvedCurrencyMeta,
134
- },
135
- children: [nameTag, priceTag, parsedPriceMeta, resolvedCurrencyMeta, ...(currencyMeta ? [currencyMeta] : []), body.next()],
186
+ children: [
187
+ nameTag,
188
+ priceTag,
189
+ parsedPriceMeta,
190
+ resolvedCurrencyMeta,
191
+ ...(currencyMeta ? [currencyMeta] : []),
192
+ body.next(),
193
+ ],
136
194
  });
137
195
  },
138
196
  });
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/tags/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../src/tags/pricing.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAUvC,eAAO,MAAM,cAAc;;CAA8B,CAAC;AAE1D,eAAO,MAAM,IAAI,gBAoEf,CAAC;AAKH,eAAO,MAAM,aAAa;;;;CAA6E,CAAC;AAExG,eAAO,MAAM,KAAK,gBA+EhB,CAAC"}
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAmBvC,eAAO,MAAM,cAAc;;CAA8B,CAAC;AAE1D,eAAO,MAAM,IAAI,gBA2Ef,CAAC;AAKH,eAAO,MAAM,aAAa;;;;CAIhB,CAAC;AAEX,eAAO,MAAM,KAAK,gBA2EhB,CAAC"}
@@ -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({ ...attrs, 'media-position': attrs['media-position'] ?? 'bottom' });
46
- const { mediaPosition: mediaPositionMeta, mediaRatio: mediaRatioMeta, valign: valignMeta, collapse: collapseMeta } = layoutMetas;
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({ rune: 'step',
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 = { preamble: 'preamble', headline: 'title', blurb: 'description' };
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
- ? [...headerNodes.toArray(), stepList]
122
- : [stepList];
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: {
@@ -1 +1 @@
1
- {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"steps.js","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"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"}
@@ -5,5 +5,28 @@ export declare const testimonialSections: {
5
5
  export declare const testimonialMediaSlots: {
6
6
  readonly avatar: "portrait";
7
7
  };
8
+ export declare const testimonialSchema: {
9
+ readonly type: "Review";
10
+ readonly properties: {
11
+ readonly quote: "reviewBody";
12
+ };
13
+ readonly entities: {
14
+ readonly author: {
15
+ readonly type: "Person";
16
+ readonly property: "author";
17
+ readonly properties: {
18
+ readonly 'author-name': "name";
19
+ readonly 'author-role': "jobTitle";
20
+ };
21
+ };
22
+ readonly rating: {
23
+ readonly type: "Rating";
24
+ readonly property: "reviewRating";
25
+ readonly properties: {
26
+ readonly rating: "ratingValue";
27
+ };
28
+ };
29
+ };
30
+ };
8
31
  export declare const testimonial: Markdoc.Schema;
9
32
  //# sourceMappingURL=testimonial.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testimonial.d.ts","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAUvC,eAAO,MAAM,mBAAmB;;CAA+B,CAAC;AAChE,eAAO,MAAM,qBAAqB;;CAAkC,CAAC;AAErE,eAAO,MAAM,WAAW,gBA8GtB,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;AAWrE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;CAepB,CAAC;AAEX,eAAO,MAAM,WAAW,gBAyGtB,CAAC"}
@@ -1,24 +1,57 @@
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
7
7
  // what a section *is* (ADR-028).
8
8
  export const testimonialSections = { avatar: 'media' };
9
9
  export const testimonialMediaSlots = { avatar: 'portrait' };
10
+ // SPEC-130 / WORK-565 — the rune's schema.org mapping, as data. Beside
11
+ // `sections` and `mediaSlots` because it is the same kind of fact: what this
12
+ // rune *is*, not how a theme renders it (ADR-028).
13
+ //
14
+ // The two nested entities were hand-built spans below. `entities:` carries them
15
+ // declaratively, and the applier resolves each source by name — `quote` and
16
+ // `author-name` survive in the output as refs, while `rating`'s meta is dropped
17
+ // by `createComponentRenderable` as pure data and is rebuilt from the field bag.
18
+ // That third case is what settled the mechanism's shape.
19
+ export const testimonialSchema = {
20
+ type: 'Review',
21
+ properties: { quote: 'reviewBody' },
22
+ entities: {
23
+ author: {
24
+ type: 'Person',
25
+ property: 'author',
26
+ properties: { 'author-name': 'name', 'author-role': 'jobTitle' },
27
+ },
28
+ rating: {
29
+ type: 'Rating',
30
+ property: 'reviewRating',
31
+ properties: { rating: 'ratingValue' },
32
+ },
33
+ },
34
+ };
10
35
  export const testimonial = createContentModelSchema({
11
36
  sections: testimonialSections,
12
37
  mediaSlots: testimonialMediaSlots,
38
+ schema: testimonialSchema,
13
39
  attributes: {
14
- rating: { type: Number, required: false, description: 'Star rating value (1-5) shown alongside the testimonial' },
15
- variant: { type: String, required: false, matches: variantType.slice(), description: 'Visual style: card with border, inline with text flow, or quote with large quotation marks' },
40
+ rating: {
41
+ type: Number,
42
+ required: false,
43
+ description: 'Star rating value (1-5) shown alongside the testimonial',
44
+ },
45
+ variant: {
46
+ type: String,
47
+ required: false,
48
+ matches: variantType.slice(),
49
+ description: 'Visual style: card with border, inline with text flow, or quote with large quotation marks',
50
+ },
16
51
  },
17
52
  contentModel: {
18
53
  type: 'sequence',
19
- fields: [
20
- { name: 'body', match: 'any', optional: true, greedy: true },
21
- ],
54
+ fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
22
55
  },
23
56
  deprecations: {
24
57
  layout: { newName: 'variant' },
@@ -44,7 +77,8 @@ export const testimonial = createContentModelSchema({
44
77
  authorNameTag = new Tag('span', {}, [nameText]);
45
78
  // Get the role text after the strong tag
46
79
  const idx = node.children.indexOf(child);
47
- const rest = node.children.slice(idx + 1)
80
+ const rest = node.children
81
+ .slice(idx + 1)
48
82
  .filter((c) => typeof c === 'string')
49
83
  .join('')
50
84
  .replace(/^\s*[-–—]\s*/, '')
@@ -55,7 +89,8 @@ export const testimonial = createContentModelSchema({
55
89
  }
56
90
  }
57
91
  }
58
- else if (isMediaNode(node) || (node.name === 'p' && node.children.some((c) => isMediaNode(c)))) {
92
+ else if (isMediaNode(node) ||
93
+ (node.name === 'p' && node.children.some((c) => isMediaNode(c)))) {
59
94
  // Extract the avatar — an <img> or a scheme-resolved <svg>
60
95
  // (placeholder:/icon:), direct or wrapped in a paragraph (SPEC-106).
61
96
  if (isMediaNode(node)) {
@@ -82,22 +117,8 @@ export const testimonial = createContentModelSchema({
82
117
  resultChildren.push(variantMeta);
83
118
  if (avatarTag)
84
119
  resultChildren.push(avatarTag);
85
- // Schema.org nested entities for Person author and Rating
86
- if (authorNameTag) {
87
- const authorMetas = [
88
- new Tag('meta', { property: 'name', content: authorNameTag.children.filter((c) => typeof c === 'string').join('') }),
89
- ];
90
- if (authorRoleTag) {
91
- authorMetas.push(new Tag('meta', { property: 'jobTitle', content: authorRoleTag.children.filter((c) => typeof c === 'string').join('') }));
92
- }
93
- resultChildren.push(new Tag('span', { typeof: 'Person', property: 'author' }, authorMetas));
94
- }
95
- if (rating !== undefined) {
96
- resultChildren.push(new Tag('span', { typeof: 'Rating', property: 'reviewRating' }, [
97
- new Tag('meta', { property: 'ratingValue', content: rating }),
98
- ]));
99
- }
100
- return createComponentRenderable({ rune: 'testimonial', schemaOrgType: 'Review',
120
+ return createComponentRenderable({
121
+ rune: 'testimonial',
101
122
  tag: 'article',
102
123
  properties: {
103
124
  rating: ratingMeta,
@@ -108,9 +129,6 @@ export const testimonial = createContentModelSchema({
108
129
  'author-role': authorRoleTag,
109
130
  avatar: avatarTag,
110
131
  },
111
- schema: {
112
- reviewBody: quoteTag,
113
- },
114
132
  children: resultChildren,
115
133
  });
116
134
  },
@@ -1 +1 @@
1
- {"version":3,"file":"testimonial.js","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"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"}
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,EACN,wBAAwB,EACxB,yBAAyB,EACzB,OAAO,EACP,oBAAoB,EACpB,WAAW,GACX,MAAM,mBAAmB,CAAC;AAE3B,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAU,CAAC;AAEzD,4EAA4E;AAC5E,0EAA0E;AAC1E,iCAAiC;AACjC,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,MAAM,EAAE,OAAO,EAAW,CAAC;AAChE,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,MAAM,EAAE,UAAU,EAAW,CAAC;AAErE,uEAAuE;AACvE,6EAA6E;AAC7E,mDAAmD;AACnD,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,gFAAgF;AAChF,iFAAiF;AACjF,yDAAyD;AACzD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAChC,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE;IACnC,QAAQ,EAAE;QACT,MAAM,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE;SAChE;QACD,MAAM,EAAE;YACP,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,cAAc;YACxB,UAAU,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE;SACrC;KACD;CACQ,CAAC;AAEX,MAAM,CAAC,MAAM,WAAW,GAAG,wBAAwB,CAAC;IACnD,QAAQ,EAAE,mBAAmB;IAC7B,UAAU,EAAE,qBAAqB;IACjC,MAAM,EAAE,iBAAiB;IACzB,UAAU,EAAE;QACX,MAAM,EAAE;YACP,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,WAAW,EAAE,yDAAyD;SACtE;QACD,OAAO,EAAE;YACR,IAAI,EAAE,MAAM;YACZ,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE;YAC5B,WAAW,EACV,4FAA4F;SAC7F;KACD;IACD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KACtE;IACD,YAAY,EAAE;QACb,MAAM,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;KAC9B;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;QAChC,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACxC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAyB,CACzE,CAAC;QAEF,8CAA8C;QAC9C,IAAI,QAAa,CAAC;QAClB,IAAI,aAAkB,CAAC;QACvB,IAAI,aAAkB,CAAC;QACvB,IAAI,SAAc,CAAC;QAEnB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YAE/B,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7C,QAAQ,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;gBAChD,0DAA0D;gBAC1D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACnC,IAAI,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;wBACnE,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;wBACnF,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAEhD,yCAAyC;wBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ;6BACxB,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;6BACd,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;6BACzC,IAAI,CAAC,EAAE,CAAC;6BACR,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;6BAC3B,IAAI,EAAE,CAAC;wBAET,IAAI,IAAI,EAAE,CAAC;4BACV,aAAa,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;wBAC7C,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,IACN,WAAW,CAAC,IAAI,CAAC;gBACjB,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,IAAK,IAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,EAC7E,CAAC;gBACF,2DAA2D;gBAC3D,qEAAqE;gBACrE,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvB,SAAS,GAAG,IAAI,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACP,SAAS,GAAI,IAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrE,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC;QAExC,MAAM,UAAU,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE1D,MAAM,cAAc,GAAU,EAAE,CAAC;QACjC,IAAI,QAAQ;YAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,aAAa;YAAE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,aAAa;YAAE,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,UAAU;YAAE,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChD,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,IAAI,SAAS;YAAE,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9C,OAAO,yBAAyB,CAAC;YAChC,IAAI,EAAE,aAAa;YACnB,GAAG,EAAE,SAAS;YACd,UAAU,EAAE;gBACX,MAAM,EAAE,UAAU;aAClB;YACD,IAAI,EAAE;gBACL,KAAK,EAAE,QAAQ;gBACf,aAAa,EAAE,aAAa;gBAC5B,aAAa,EAAE,aAAa;gBAC5B,MAAM,EAAE,SAAS;aACjB;YACD,QAAQ,EAAE,cAAc;SACxB,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
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.33.0",
4
+ "version": "0.35.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.33.0",
25
- "@refrakt-md/transform": "0.33.0",
26
- "@refrakt-md/runes": "0.33.0",
24
+ "@refrakt-md/types": "0.35.0",
25
+ "@refrakt-md/transform": "0.35.0",
26
+ "@refrakt-md/runes": "0.35.0",
27
27
  "@markdoc/markdoc": "0.4.0",
28
28
  "reflect-metadata": "^0.2.0"
29
29
  }