@refrakt-md/marketing 0.7.2 → 0.8.1

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.
Files changed (47) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +78 -20
  3. package/dist/config.js.map +1 -1
  4. package/dist/index.js +1 -1
  5. package/dist/schema/bento.d.ts +4 -1
  6. package/dist/schema/bento.d.ts.map +1 -1
  7. package/dist/schema/bento.js +3 -0
  8. package/dist/schema/bento.js.map +1 -1
  9. package/dist/schema/comparison.d.ts +2 -2
  10. package/dist/schema/comparison.d.ts.map +1 -1
  11. package/dist/schema/comparison.js +2 -2
  12. package/dist/schema/comparison.js.map +1 -1
  13. package/dist/schema/hero.d.ts +0 -2
  14. package/dist/schema/hero.d.ts.map +1 -1
  15. package/dist/schema/hero.js +0 -2
  16. package/dist/schema/hero.js.map +1 -1
  17. package/dist/tags/bento.d.ts.map +1 -1
  18. package/dist/tags/bento.js +145 -78
  19. package/dist/tags/bento.js.map +1 -1
  20. package/dist/tags/comparison.d.ts.map +1 -1
  21. package/dist/tags/comparison.js +151 -165
  22. package/dist/tags/comparison.js.map +1 -1
  23. package/dist/tags/cta.d.ts.map +1 -1
  24. package/dist/tags/cta.js +32 -38
  25. package/dist/tags/cta.js.map +1 -1
  26. package/dist/tags/feature.d.ts +1 -6
  27. package/dist/tags/feature.d.ts.map +1 -1
  28. package/dist/tags/feature.js +111 -69
  29. package/dist/tags/feature.js.map +1 -1
  30. package/dist/tags/hero.d.ts.map +1 -1
  31. package/dist/tags/hero.js +101 -66
  32. package/dist/tags/hero.js.map +1 -1
  33. package/dist/tags/pricing.d.ts.map +1 -1
  34. package/dist/tags/pricing.js +76 -61
  35. package/dist/tags/pricing.js.map +1 -1
  36. package/dist/tags/steps.d.ts +1 -1
  37. package/dist/tags/steps.d.ts.map +1 -1
  38. package/dist/tags/steps.js +62 -55
  39. package/dist/tags/steps.js.map +1 -1
  40. package/dist/tags/testimonial.d.ts.map +1 -1
  41. package/dist/tags/testimonial.js +45 -35
  42. package/dist/tags/testimonial.js.map +1 -1
  43. package/dist/types.d.ts +1 -5
  44. package/dist/types.d.ts.map +1 -1
  45. package/dist/types.js +6 -9
  46. package/dist/types.js.map +1 -1
  47. package/package.json +4 -4
@@ -9,85 +9,91 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Ast, Tag } = Markdoc;
12
- import { attribute, group, Model, createComponentRenderable, createSchema, NodeStream, headingsToList, descriptionHelper as description, pageSectionProperties } from '@refrakt-md/runes';
12
+ import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes, RenderableNodeCursor, headingsToList, descriptionHelper as description, pageSectionProperties } from '@refrakt-md/runes';
13
13
  import { schema } from '../types.js';
14
14
  const NAME_PRICE_PATTERN = /^(.+?)\s*[-–—]\s*(.+)$/;
15
- class PricingModel extends Model {
16
- constructor() {
17
- super(...arguments);
18
- this.headingLevel = undefined;
15
+ const CURRENCY_SYMBOLS = {
16
+ '$': 'USD', '€': 'EUR', '£': 'GBP', '¥': 'JPY', '₹': 'INR',
17
+ 'kr': 'SEK', 'CHF': 'CHF', 'A$': 'AUD', 'C$': 'CAD',
18
+ };
19
+ function inferCurrency(priceText) {
20
+ for (const [symbol, code] of Object.entries(CURRENCY_SYMBOLS)) {
21
+ if (priceText.startsWith(symbol))
22
+ return code;
19
23
  }
20
- convertHeadings(nodes) {
21
- // Auto-detect heading level from the first heading that matches "Name — Price"
22
- const level = this.headingLevel ?? nodes.find(n => {
23
- if (n.type !== 'heading')
24
- return false;
25
- const text = Array.from(n.walk()).filter(c => c.type === 'text').map(t => t.attributes.content).join(' ');
26
- return NAME_PRICE_PATTERN.test(text);
27
- })?.attributes.level;
28
- if (!level)
29
- return nodes;
30
- const converted = headingsToList({ level })(nodes);
31
- const n = converted.length - 1;
32
- if (!converted[n] || converted[n].type !== 'list')
33
- return nodes;
34
- // Only convert items whose heading matches "Name — Price"; keep others as-is
35
- const result = converted.slice(0, n);
36
- for (const item of converted[n].children) {
37
- const heading = item.children[0];
38
- const headingText = Array.from(heading.walk())
39
- .filter(n => n.type === 'text')
40
- .map(t => t.attributes.content)
41
- .join(' ');
42
- const match = headingText.match(NAME_PRICE_PATTERN);
43
- if (match) {
44
- result.push(new Ast.Node('tag', { name: match[1].trim(), price: match[2].trim() }, item.children.slice(1), 'tier'));
45
- }
46
- else {
47
- // Non-matching heading: keep as original heading + body nodes
48
- result.push(heading, ...item.children.slice(1));
49
- }
24
+ return 'USD';
25
+ }
26
+ function convertHeadings(nodes) {
27
+ // Auto-detect heading level from the first heading that matches "Name — Price"
28
+ const level = nodes.find(n => {
29
+ if (n.type !== 'heading')
30
+ return false;
31
+ const text = Array.from(n.walk()).filter(c => c.type === 'text').map(t => t.attributes.content).join(' ');
32
+ return NAME_PRICE_PATTERN.test(text);
33
+ })?.attributes.level;
34
+ if (!level)
35
+ return nodes;
36
+ const converted = headingsToList({ level })(nodes);
37
+ const n = converted.length - 1;
38
+ if (!converted[n] || converted[n].type !== 'list')
39
+ return nodes;
40
+ // Only convert items whose heading matches "Name — Price"; keep others as-is
41
+ const result = converted.slice(0, n);
42
+ for (const item of converted[n].children) {
43
+ const heading = item.children[0];
44
+ const headingText = Array.from(heading.walk())
45
+ .filter(n => n.type === 'text')
46
+ .map(t => t.attributes.content)
47
+ .join(' ');
48
+ const match = headingText.match(NAME_PRICE_PATTERN);
49
+ if (match) {
50
+ result.push(new Ast.Node('tag', { name: match[1].trim(), price: match[2].trim() }, item.children.slice(1), 'tier'));
51
+ }
52
+ else {
53
+ // Non-matching heading: keep as original heading + body nodes
54
+ result.push(heading, ...item.children.slice(1));
50
55
  }
51
- return result;
52
- }
53
- processChildren(nodes) {
54
- return super.processChildren(this.convertHeadings(nodes));
55
56
  }
56
- transform() {
57
- const header = this.header.transform();
58
- const tiers = this.tiers.transform();
59
- const tierItems = tiers.tag('li');
57
+ return result;
58
+ }
59
+ export const pricing = createContentModelSchema({
60
+ attributes: {},
61
+ contentModel: {
62
+ type: 'sequence',
63
+ fields: [
64
+ { name: 'content', match: 'any', optional: true, greedy: true },
65
+ ],
66
+ },
67
+ transform(resolved, attrs, config) {
68
+ const processed = convertHeadings(asNodes(resolved.content));
69
+ const allNodes = new RenderableNodeCursor(Markdoc.transform(processed, config));
70
+ // Separate header (headings, paragraphs) from tiers (li items)
71
+ const header = allNodes.tags('h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'p');
72
+ const tiers = allNodes.tag('li');
73
+ const sectionProps = pageSectionProperties(header);
60
74
  const tiersList = tiers.wrap('ul', { 'data-layout': 'grid', 'data-columns': tiers.nodes.length });
61
75
  return createComponentRenderable(schema.Pricing, {
62
76
  tag: 'section',
63
77
  property: 'contentSection',
64
78
  properties: {
65
- ...pageSectionProperties(header),
66
- tier: tierItems,
79
+ ...sectionProps,
80
+ tier: tiers,
67
81
  },
68
82
  refs: {
69
83
  tiers: tiersList.tag('ul'),
70
84
  },
85
+ schema: {
86
+ name: sectionProps.headline,
87
+ description: sectionProps.blurb,
88
+ offers: tiers,
89
+ },
71
90
  children: [
72
91
  header.wrap('header').next(),
73
92
  tiersList.next(),
74
93
  ]
75
94
  });
76
- }
77
- }
78
- __decorate([
79
- attribute({ type: Number, required: false }),
80
- __metadata("design:type", Object)
81
- ], PricingModel.prototype, "headingLevel", void 0);
82
- __decorate([
83
- group({ include: ['heading', 'paragraph'] }),
84
- __metadata("design:type", NodeStream)
85
- ], PricingModel.prototype, "header", void 0);
86
- __decorate([
87
- group({ include: ['tag'] }),
88
- __metadata("design:type", NodeStream)
89
- ], PricingModel.prototype, "tiers", void 0);
90
- export const pricing = createSchema(PricingModel);
95
+ },
96
+ });
91
97
  export class TierModel extends Model {
92
98
  constructor() {
93
99
  super(...arguments);
@@ -105,6 +111,10 @@ export class TierModel extends Model {
105
111
  const children = this.transformChildren();
106
112
  const body = children.wrap('div');
107
113
  const currencyMeta = this.currency ? new Tag('meta', { content: this.currency }) : undefined;
114
+ // Schema.org price parsing: extract numeric value and infer currency
115
+ const numericMatch = priceValue.match(/[\d.]+/);
116
+ const parsedPriceMeta = new Tag('meta', { content: numericMatch ? numericMatch[0] : priceValue });
117
+ const resolvedCurrencyMeta = new Tag('meta', { content: this.currency || inferCurrency(priceValue) });
108
118
  return createComponentRenderable(type, {
109
119
  tag: 'li',
110
120
  properties: {
@@ -117,7 +127,12 @@ export class TierModel extends Model {
117
127
  refs: {
118
128
  body: body.tag('div'),
119
129
  },
120
- children: [nameTag, priceTag, ...(currencyMeta ? [currencyMeta] : []), body.next()],
130
+ schema: {
131
+ name: nameTag,
132
+ price: parsedPriceMeta,
133
+ priceCurrency: resolvedCurrencyMeta,
134
+ },
135
+ children: [nameTag, priceTag, parsedPriceMeta, resolvedCurrencyMeta, ...(currencyMeta ? [currencyMeta] : []), body.next()],
121
136
  });
122
137
  }
123
138
  }
@@ -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,4 +1,4 @@
1
1
  import Markdoc from '@markdoc/markdoc';
2
- export declare const steps: Markdoc.Schema;
3
2
  export declare const step: Markdoc.Schema;
3
+ export declare const steps: Markdoc.Schema;
4
4
  //# sourceMappingURL=steps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA8EvC,eAAO,MAAM,KAAK,gBAA2B,CAAC;AAE9C,eAAO,MAAM,IAAI,gBAA0B,CAAC"}
1
+ {"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../../src/tags/steps.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAoDvC,eAAO,MAAM,IAAI,gBAMf,CAAC;AAEH,eAAO,MAAM,KAAK,gBAgDhB,CAAC"}
@@ -9,54 +9,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Ast, Tag } = Markdoc;
12
- import { attribute, group, createComponentRenderable, createSchema, NodeStream, headingsToList, SplitablePageSectionModel, nameHelper as name, pageSectionProperties } from '@refrakt-md/runes';
12
+ import { group, createComponentRenderable, createContentModelSchema, createSchema, NodeStream, SplitLayoutModel, nameHelper as name, pageSectionProperties, asNodes } from '@refrakt-md/runes';
13
+ import { RenderableNodeCursor } from '@refrakt-md/runes';
13
14
  import { schema } from '../types.js';
14
- class StepsModel extends SplitablePageSectionModel {
15
- constructor() {
16
- super(...arguments);
17
- this.headingLevel = undefined;
18
- }
19
- processChildren(nodes) {
20
- return super.processChildren(headingsToList({ level: this.headingLevel })(nodes));
21
- }
22
- transform() {
23
- const children = this.transformChildren({
24
- list: 'ol',
25
- item: (node, config) => {
26
- return Markdoc.transform(new Ast.Node('tag', { split: node.attributes.split }, node.children, 'step'), config);
27
- }
28
- });
29
- return createComponentRenderable(schema.Steps, {
30
- tag: 'section',
31
- property: 'contentSection',
32
- properties: {
33
- ...pageSectionProperties(children),
34
- step: children.flatten().tag('li').typeof('Step')
35
- },
36
- children: children.toArray(),
37
- });
38
- }
39
- }
40
- __decorate([
41
- attribute({ type: Number, required: false }),
42
- __metadata("design:type", Object)
43
- ], StepsModel.prototype, "headingLevel", void 0);
44
- class StepModel extends SplitablePageSectionModel {
45
- constructor() {
46
- super(...arguments);
47
- this.split = false;
48
- this.mirror = false;
49
- }
15
+ class StepModel extends SplitLayoutModel {
50
16
  transform() {
51
17
  const main = this.main.transform();
52
18
  const side = this.side.transform();
53
- const mainContent = main.wrap('div', { 'data-name': 'main' });
54
- const sideContent = side.wrap('div', { 'data-name': 'showcase' });
55
- const splitMeta = this.split ? new Tag('meta', { content: 'split' }) : undefined;
56
- const mirrorMeta = this.mirror ? new Tag('meta', { content: 'mirror' }) : undefined;
19
+ const mainContent = main.wrap('div', { 'data-name': 'content' });
20
+ const sideContent = side.wrap('div', { 'data-name': 'media' });
21
+ const layoutMeta = new Tag('meta', { content: this.layout });
22
+ const ratioMeta = this.layout !== 'stacked' ? new Tag('meta', { content: this.ratio }) : undefined;
23
+ const valignMeta = this.layout !== 'stacked' ? new Tag('meta', { content: this.valign }) : undefined;
24
+ const gapMeta = this.gap !== 'default' ? new Tag('meta', { content: this.gap }) : undefined;
25
+ const collapseMeta = this.collapse ? new Tag('meta', { content: this.collapse }) : undefined;
57
26
  const children = [
58
- ...(splitMeta ? [splitMeta] : []),
59
- ...(mirrorMeta ? [mirrorMeta] : []),
27
+ layoutMeta,
28
+ ...(ratioMeta ? [ratioMeta] : []),
29
+ ...(valignMeta ? [valignMeta] : []),
30
+ ...(gapMeta ? [gapMeta] : []),
31
+ ...(collapseMeta ? [collapseMeta] : []),
60
32
  mainContent.next(),
61
33
  ...(side.toArray().length > 0 ? [sideContent.next()] : []),
62
34
  ];
@@ -64,21 +36,16 @@ class StepModel extends SplitablePageSectionModel {
64
36
  tag: 'li',
65
37
  properties: {
66
38
  name: name(main),
67
- split: splitMeta,
68
- mirror: mirrorMeta,
39
+ layout: layoutMeta,
40
+ ratio: ratioMeta,
41
+ valign: valignMeta,
42
+ gap: gapMeta,
43
+ collapse: collapseMeta,
69
44
  },
70
45
  children,
71
46
  });
72
47
  }
73
48
  }
74
- __decorate([
75
- attribute({ type: Boolean, required: false }),
76
- __metadata("design:type", Boolean)
77
- ], StepModel.prototype, "split", void 0);
78
- __decorate([
79
- attribute({ type: Boolean, required: false }),
80
- __metadata("design:type", Boolean)
81
- ], StepModel.prototype, "mirror", void 0);
82
49
  __decorate([
83
50
  group({ section: 0 }),
84
51
  __metadata("design:type", NodeStream)
@@ -87,6 +54,46 @@ __decorate([
87
54
  group({ section: 1 }),
88
55
  __metadata("design:type", NodeStream)
89
56
  ], StepModel.prototype, "side", void 0);
90
- export const steps = createSchema(StepsModel);
91
- export const step = createSchema(StepModel);
57
+ export const step = createSchema(StepModel, {
58
+ split: {
59
+ newName: 'layout',
60
+ transform: (val, attrs) => val ? (attrs.mirror ? 'split-reverse' : 'split') : undefined,
61
+ },
62
+ mirror: { newName: '_consumed' },
63
+ });
64
+ export const steps = createContentModelSchema({
65
+ attributes: {},
66
+ contentModel: () => ({
67
+ type: 'sections',
68
+ sectionHeading: 'heading',
69
+ fields: [
70
+ { name: 'header', match: 'heading|paragraph', optional: true, greedy: true },
71
+ ],
72
+ sectionModel: {
73
+ type: 'sequence',
74
+ fields: [{ name: 'body', match: 'any', optional: true, greedy: true }],
75
+ },
76
+ }),
77
+ transform(resolved, attrs, config) {
78
+ const headerNodes = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.header), config));
79
+ // Build step tag nodes from resolved sections, re-including the heading node
80
+ const sections = (resolved.sections ?? []);
81
+ const stepTagNodes = sections.map(section => new Ast.Node('tag', {}, [section.$headingNode, ...asNodes(section.body)], 'step'));
82
+ const stepStream = new RenderableNodeCursor(Markdoc.transform(stepTagNodes, config));
83
+ const stepItems = stepStream.tag('li').typeof('Step');
84
+ const stepList = new Tag('ol', {}, stepItems.toArray());
85
+ const children = headerNodes.count() > 0
86
+ ? [...headerNodes.toArray(), stepList]
87
+ : [stepList];
88
+ return createComponentRenderable(schema.Steps, {
89
+ tag: 'section',
90
+ property: 'contentSection',
91
+ properties: {
92
+ ...pageSectionProperties(headerNodes),
93
+ step: stepItems,
94
+ },
95
+ children,
96
+ });
97
+ },
98
+ });
92
99
  //# sourceMappingURL=steps.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"testimonial.d.ts","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAoFvC,eAAO,MAAM,WAAW,gBAAiC,CAAC"}
1
+ {"version":3,"file":"testimonial.d.ts","sourceRoot":"","sources":["../../src/tags/testimonial.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAQvC,eAAO,MAAM,WAAW,gBAyGtB,CAAC"}
@@ -1,25 +1,24 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
1
  import Markdoc from '@markdoc/markdoc';
11
2
  const { Tag } = Markdoc;
12
- import { attribute, Model, createComponentRenderable, createSchema } from '@refrakt-md/runes';
3
+ import { createContentModelSchema, createComponentRenderable, asNodes, RenderableNodeCursor } from '@refrakt-md/runes';
13
4
  import { schema } from '../types.js';
14
- const layoutType = ['card', 'inline', 'quote'];
15
- class TestimonialModel extends Model {
16
- constructor() {
17
- super(...arguments);
18
- this.rating = undefined;
19
- this.layout = 'card';
20
- }
21
- transform() {
22
- const children = this.transformChildren();
5
+ const variantType = ['card', 'inline', 'quote'];
6
+ export const testimonial = createContentModelSchema({
7
+ attributes: {
8
+ rating: { type: Number, required: false },
9
+ variant: { type: String, required: false, matches: variantType.slice() },
10
+ },
11
+ contentModel: {
12
+ type: 'sequence',
13
+ fields: [
14
+ { name: 'body', match: 'any', optional: true, greedy: true },
15
+ ],
16
+ },
17
+ deprecations: {
18
+ layout: { newName: 'variant' },
19
+ },
20
+ transform(resolved, attrs, config) {
21
+ const children = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.body), config));
23
22
  // Extract blockquote as the testimonial quote
24
23
  let quoteTag;
25
24
  let authorNameTag;
@@ -36,7 +35,7 @@ class TestimonialModel extends Model {
36
35
  for (const child of node.children) {
37
36
  if (Tag.isTag(child) && child.name === 'strong' && !authorNameTag) {
38
37
  const nameText = child.children.filter((c) => typeof c === 'string').join('');
39
- authorNameTag = new Tag('span', { property: 'authorName' }, [nameText]);
38
+ authorNameTag = new Tag('span', { 'data-field': 'author-name' }, [nameText]);
40
39
  // Get the role text after the strong tag
41
40
  const idx = node.children.indexOf(child);
42
41
  const rest = node.children.slice(idx + 1)
@@ -45,7 +44,7 @@ class TestimonialModel extends Model {
45
44
  .replace(/^\s*[-–—]\s*/, '')
46
45
  .trim();
47
46
  if (rest) {
48
- authorRoleTag = new Tag('span', { property: 'authorRole' }, [rest]);
47
+ authorRoleTag = new Tag('span', { 'data-field': 'author-role' }, [rest]);
49
48
  }
50
49
  }
51
50
  }
@@ -60,8 +59,10 @@ class TestimonialModel extends Model {
60
59
  }
61
60
  }
62
61
  }
63
- const ratingMeta = this.rating !== undefined ? new Tag('meta', { content: this.rating }) : undefined;
64
- const layoutMeta = new Tag('meta', { content: this.layout });
62
+ const rating = attrs.rating;
63
+ const variant = attrs.variant ?? 'card';
64
+ const ratingMeta = rating !== undefined ? new Tag('meta', { content: rating }) : undefined;
65
+ const variantMeta = new Tag('meta', { content: variant });
65
66
  const resultChildren = [];
66
67
  if (quoteTag)
67
68
  resultChildren.push(quoteTag);
@@ -71,9 +72,24 @@ class TestimonialModel extends Model {
71
72
  resultChildren.push(authorRoleTag);
72
73
  if (ratingMeta)
73
74
  resultChildren.push(ratingMeta);
74
- resultChildren.push(layoutMeta);
75
+ resultChildren.push(variantMeta);
75
76
  if (avatarTag)
76
77
  resultChildren.push(avatarTag);
78
+ // Schema.org nested entities for Person author and Rating
79
+ if (authorNameTag) {
80
+ const authorMetas = [
81
+ new Tag('meta', { property: 'name', content: authorNameTag.children.filter((c) => typeof c === 'string').join('') }),
82
+ ];
83
+ if (authorRoleTag) {
84
+ authorMetas.push(new Tag('meta', { property: 'jobTitle', content: authorRoleTag.children.filter((c) => typeof c === 'string').join('') }));
85
+ }
86
+ resultChildren.push(new Tag('span', { typeof: 'Person', property: 'author' }, authorMetas));
87
+ }
88
+ if (rating !== undefined) {
89
+ resultChildren.push(new Tag('span', { typeof: 'Rating', property: 'reviewRating' }, [
90
+ new Tag('meta', { property: 'ratingValue', content: rating }),
91
+ ]));
92
+ }
77
93
  return createComponentRenderable(schema.Testimonial, {
78
94
  tag: 'article',
79
95
  properties: {
@@ -83,17 +99,11 @@ class TestimonialModel extends Model {
83
99
  rating: ratingMeta,
84
100
  avatar: avatarTag,
85
101
  },
102
+ schema: {
103
+ reviewBody: quoteTag,
104
+ },
86
105
  children: resultChildren,
87
106
  });
88
- }
89
- }
90
- __decorate([
91
- attribute({ type: Number, required: false }),
92
- __metadata("design:type", Object)
93
- ], TestimonialModel.prototype, "rating", void 0);
94
- __decorate([
95
- attribute({ type: String, required: false, matches: layoutType.slice() }),
96
- __metadata("design:type", Object)
97
- ], TestimonialModel.prototype, "layout", void 0);
98
- export const testimonial = createSchema(TestimonialModel);
107
+ },
108
+ });
99
109
  //# sourceMappingURL=testimonial.js.map
@@ -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":"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"}
package/dist/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
- import { Command, LinkItem } from '@refrakt-md/types';
2
1
  import { Hero } from './schema/hero.js';
3
2
  import { CallToAction } from './schema/cta.js';
4
- import { Feature, FeatureDefinition } from './schema/feature.js';
3
+ import { Feature } from './schema/feature.js';
5
4
  import { Pricing, Tier } from './schema/pricing.js';
6
5
  import { Steps, Step } from './schema/steps.js';
7
6
  import { Bento, BentoCell } from './schema/bento.js';
@@ -10,10 +9,7 @@ import { Testimonial } from './schema/testimonial.js';
10
9
  export declare const schema: {
11
10
  Hero: import("@refrakt-md/types").Type<Hero>;
12
11
  CallToAction: import("@refrakt-md/types").Type<CallToAction>;
13
- Command: import("@refrakt-md/types").Type<Command>;
14
- LinkItem: import("@refrakt-md/types").Type<LinkItem>;
15
12
  Feature: import("@refrakt-md/types").Type<Feature>;
16
- FeatureDefinition: import("@refrakt-md/types").Type<FeatureDefinition>;
17
13
  Pricing: import("@refrakt-md/types").Type<Pricing>;
18
14
  Tier: import("@refrakt-md/types").Type<Tier>;
19
15
  FeaturedTier: import("@refrakt-md/types").Type<Tier>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,OAAO,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;CAkBlB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;CAelB,CAAC"}
package/dist/types.js CHANGED
@@ -1,7 +1,7 @@
1
- import { useSchema, Command, LinkItem } from '@refrakt-md/types';
1
+ import { useSchema } from '@refrakt-md/types';
2
2
  import { Hero } from './schema/hero.js';
3
3
  import { CallToAction } from './schema/cta.js';
4
- import { Feature, FeatureDefinition } from './schema/feature.js';
4
+ import { Feature } from './schema/feature.js';
5
5
  import { Pricing, Tier } from './schema/pricing.js';
6
6
  import { Steps, Step } from './schema/steps.js';
7
7
  import { Bento, BentoCell } from './schema/bento.js';
@@ -10,13 +10,10 @@ import { Testimonial } from './schema/testimonial.js';
10
10
  export const schema = {
11
11
  Hero: useSchema(Hero).defineType('Hero'),
12
12
  CallToAction: useSchema(CallToAction).defineType('CallToAction'),
13
- Command: useSchema(Command).defineType('Command'),
14
- LinkItem: useSchema(LinkItem).defineType('LinkItem'),
15
13
  Feature: useSchema(Feature).defineType('Feature'),
16
- FeatureDefinition: useSchema(FeatureDefinition).defineType('FeatureDefinition'),
17
- Pricing: useSchema(Pricing).defineType('Pricing'),
18
- Tier: useSchema(Tier).defineType('Tier'),
19
- FeaturedTier: useSchema(Tier).defineType('FeaturedTier'),
14
+ Pricing: useSchema(Pricing).defineType('Pricing', {}, 'Product'),
15
+ Tier: useSchema(Tier).defineType('Tier', {}, 'Offer'),
16
+ FeaturedTier: useSchema(Tier).defineType('FeaturedTier', {}, 'Offer'),
20
17
  Steps: useSchema(Steps).defineType('Steps'),
21
18
  Step: useSchema(Step).defineType('Step'),
22
19
  Bento: useSchema(Bento).defineType('Bento'),
@@ -24,6 +21,6 @@ export const schema = {
24
21
  Comparison: useSchema(Comparison).defineType('Comparison'),
25
22
  ComparisonColumn: useSchema(ComparisonColumn).defineType('ComparisonColumn'),
26
23
  ComparisonRow: useSchema(ComparisonRow).defineType('ComparisonRow'),
27
- Testimonial: useSchema(Testimonial).defineType('Testimonial'),
24
+ Testimonial: useSchema(Testimonial).defineType('Testimonial', {}, 'Review'),
28
25
  };
29
26
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAE,iBAAiB,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;IAChE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC;IACpD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,iBAAiB,EAAE,SAAS,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC;IAC/E,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;IACxD,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;IACvD,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;IAC1D,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC;IAC5E,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;IACnE,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;CAC9D,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,OAAO,EAAC,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,KAAK,EAAE,SAAS,EAAC,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAC,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAEpD,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACxC,YAAY,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC;IAChE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC;IACjD,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,EAAE,SAAS,CAAC;IAChE,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,EAAE,OAAO,CAAC;IACrD,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,EAAE,EAAE,OAAO,CAAC;IACrE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IAC3C,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;IAC3C,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;IACvD,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;IAC1D,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC;IAC5E,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,eAAe,CAAC;IACnE,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,UAAU,CAAC,aAAa,EAAE,EAAE,EAAE,QAAQ,CAAC;CAC5E,CAAC"}