@refrakt-md/runes 0.7.2 → 0.8.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.
Files changed (193) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +81 -24
  3. package/dist/config.js.map +1 -1
  4. package/dist/documents/page.js +3 -3
  5. package/dist/documents/page.js.map +1 -1
  6. package/dist/examples.d.ts.map +1 -1
  7. package/dist/examples.js +5 -1
  8. package/dist/examples.js.map +1 -1
  9. package/dist/index.d.ts +11 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +36 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/lib/annotations/annotation.d.ts +1 -1
  14. package/dist/lib/annotations/annotation.d.ts.map +1 -1
  15. package/dist/lib/annotations/annotation.js +20 -2
  16. package/dist/lib/annotations/annotation.js.map +1 -1
  17. package/dist/lib/component.d.ts +10 -2
  18. package/dist/lib/component.d.ts.map +1 -1
  19. package/dist/lib/component.js +16 -3
  20. package/dist/lib/component.js.map +1 -1
  21. package/dist/lib/index.d.ts +40 -2
  22. package/dist/lib/index.d.ts.map +1 -1
  23. package/dist/lib/index.js +302 -3
  24. package/dist/lib/index.js.map +1 -1
  25. package/dist/lib/model.d.ts +4 -0
  26. package/dist/lib/model.d.ts.map +1 -1
  27. package/dist/lib/model.js +17 -0
  28. package/dist/lib/model.js.map +1 -1
  29. package/dist/lib/renderable.d.ts.map +1 -1
  30. package/dist/lib/renderable.js +2 -1
  31. package/dist/lib/renderable.js.map +1 -1
  32. package/dist/lib/resolver.d.ts +73 -0
  33. package/dist/lib/resolver.d.ts.map +1 -0
  34. package/dist/lib/resolver.js +500 -0
  35. package/dist/lib/resolver.js.map +1 -0
  36. package/dist/nodes.js +2 -2
  37. package/dist/nodes.js.map +1 -1
  38. package/dist/packages.d.ts +2 -0
  39. package/dist/packages.d.ts.map +1 -1
  40. package/dist/packages.js +7 -0
  41. package/dist/packages.js.map +1 -1
  42. package/dist/registry.d.ts +8 -0
  43. package/dist/registry.d.ts.map +1 -1
  44. package/dist/registry.js +16 -8
  45. package/dist/registry.js.map +1 -1
  46. package/dist/schema/annotate.d.ts +1 -1
  47. package/dist/schema/annotate.d.ts.map +1 -1
  48. package/dist/schema/annotate.js +1 -1
  49. package/dist/schema/annotate.js.map +1 -1
  50. package/dist/schema/bg.d.ts +11 -0
  51. package/dist/schema/bg.d.ts.map +1 -0
  52. package/dist/schema/bg.js +13 -0
  53. package/dist/schema/bg.js.map +1 -0
  54. package/dist/schema/budget.d.ts +1 -1
  55. package/dist/schema/budget.d.ts.map +1 -1
  56. package/dist/schema/budget.js +1 -1
  57. package/dist/schema/budget.js.map +1 -1
  58. package/dist/schema/form.d.ts +1 -1
  59. package/dist/schema/form.d.ts.map +1 -1
  60. package/dist/schema/form.js +1 -1
  61. package/dist/schema/form.js.map +1 -1
  62. package/dist/schema/gallery.d.ts +8 -0
  63. package/dist/schema/gallery.d.ts.map +1 -0
  64. package/dist/schema/gallery.js +10 -0
  65. package/dist/schema/gallery.js.map +1 -0
  66. package/dist/schema/pullquote.d.ts +1 -1
  67. package/dist/schema/pullquote.d.ts.map +1 -1
  68. package/dist/schema/pullquote.js +1 -1
  69. package/dist/schema/pullquote.js.map +1 -1
  70. package/dist/schema/showcase.d.ts +8 -0
  71. package/dist/schema/showcase.d.ts.map +1 -0
  72. package/dist/schema/showcase.js +10 -0
  73. package/dist/schema/showcase.js.map +1 -0
  74. package/dist/schema/sidenote.d.ts +1 -1
  75. package/dist/schema/sidenote.d.ts.map +1 -1
  76. package/dist/schema/sidenote.js +1 -1
  77. package/dist/schema/sidenote.js.map +1 -1
  78. package/dist/schema/tint.d.ts +5 -0
  79. package/dist/schema/tint.d.ts.map +1 -0
  80. package/dist/schema/tint.js +7 -0
  81. package/dist/schema/tint.js.map +1 -0
  82. package/dist/seo.d.ts +7 -7
  83. package/dist/seo.d.ts.map +1 -1
  84. package/dist/seo.js +99 -391
  85. package/dist/seo.js.map +1 -1
  86. package/dist/tags/accordion.d.ts.map +1 -1
  87. package/dist/tags/accordion.js +63 -55
  88. package/dist/tags/accordion.js.map +1 -1
  89. package/dist/tags/annotate.d.ts.map +1 -1
  90. package/dist/tags/annotate.js +31 -34
  91. package/dist/tags/annotate.js.map +1 -1
  92. package/dist/tags/bg.d.ts +10 -0
  93. package/dist/tags/bg.d.ts.map +1 -0
  94. package/dist/tags/bg.js +56 -0
  95. package/dist/tags/bg.js.map +1 -0
  96. package/dist/tags/breadcrumb.d.ts.map +1 -1
  97. package/dist/tags/breadcrumb.js +42 -39
  98. package/dist/tags/breadcrumb.js.map +1 -1
  99. package/dist/tags/budget.d.ts.map +1 -1
  100. package/dist/tags/budget.js +69 -96
  101. package/dist/tags/budget.js.map +1 -1
  102. package/dist/tags/chart.d.ts.map +1 -1
  103. package/dist/tags/chart.js +21 -38
  104. package/dist/tags/chart.js.map +1 -1
  105. package/dist/tags/codegroup.d.ts.map +1 -1
  106. package/dist/tags/codegroup.js +32 -34
  107. package/dist/tags/codegroup.js.map +1 -1
  108. package/dist/tags/common.d.ts +9 -0
  109. package/dist/tags/common.d.ts.map +1 -1
  110. package/dist/tags/common.js +32 -0
  111. package/dist/tags/common.js.map +1 -1
  112. package/dist/tags/compare.d.ts.map +1 -1
  113. package/dist/tags/compare.js +21 -31
  114. package/dist/tags/compare.js.map +1 -1
  115. package/dist/tags/conversation.d.ts.map +1 -1
  116. package/dist/tags/conversation.js +58 -62
  117. package/dist/tags/conversation.js.map +1 -1
  118. package/dist/tags/datatable.d.ts.map +1 -1
  119. package/dist/tags/datatable.js +23 -43
  120. package/dist/tags/datatable.js.map +1 -1
  121. package/dist/tags/details.d.ts.map +1 -1
  122. package/dist/tags/details.js +20 -39
  123. package/dist/tags/details.js.map +1 -1
  124. package/dist/tags/diagram.d.ts.map +1 -1
  125. package/dist/tags/diagram.js +22 -38
  126. package/dist/tags/diagram.js.map +1 -1
  127. package/dist/tags/diff.d.ts.map +1 -1
  128. package/dist/tags/diff.js +25 -44
  129. package/dist/tags/diff.js.map +1 -1
  130. package/dist/tags/embed.d.ts.map +1 -1
  131. package/dist/tags/embed.js +30 -43
  132. package/dist/tags/embed.js.map +1 -1
  133. package/dist/tags/error.d.ts.map +1 -1
  134. package/dist/tags/error.js +20 -35
  135. package/dist/tags/error.js.map +1 -1
  136. package/dist/tags/figure.d.ts.map +1 -1
  137. package/dist/tags/figure.js +27 -38
  138. package/dist/tags/figure.js.map +1 -1
  139. package/dist/tags/form.d.ts.map +1 -1
  140. package/dist/tags/form.js +157 -184
  141. package/dist/tags/form.js.map +1 -1
  142. package/dist/tags/gallery.d.ts +3 -0
  143. package/dist/tags/gallery.d.ts.map +1 -0
  144. package/dist/tags/gallery.js +63 -0
  145. package/dist/tags/gallery.js.map +1 -0
  146. package/dist/tags/grid.d.ts +2 -1
  147. package/dist/tags/grid.d.ts.map +1 -1
  148. package/dist/tags/grid.js +73 -45
  149. package/dist/tags/grid.js.map +1 -1
  150. package/dist/tags/hint.d.ts.map +1 -1
  151. package/dist/tags/hint.js +20 -27
  152. package/dist/tags/hint.js.map +1 -1
  153. package/dist/tags/layout.d.ts.map +1 -1
  154. package/dist/tags/layout.js +17 -27
  155. package/dist/tags/layout.js.map +1 -1
  156. package/dist/tags/mediatext.d.ts.map +1 -1
  157. package/dist/tags/mediatext.js +24 -37
  158. package/dist/tags/mediatext.js.map +1 -1
  159. package/dist/tags/nav.d.ts.map +1 -1
  160. package/dist/tags/nav.js +61 -76
  161. package/dist/tags/nav.js.map +1 -1
  162. package/dist/tags/pullquote.d.ts.map +1 -1
  163. package/dist/tags/pullquote.js +22 -34
  164. package/dist/tags/pullquote.js.map +1 -1
  165. package/dist/tags/region.d.ts.map +1 -1
  166. package/dist/tags/region.js +19 -32
  167. package/dist/tags/region.js.map +1 -1
  168. package/dist/tags/reveal.d.ts.map +1 -1
  169. package/dist/tags/reveal.js +35 -55
  170. package/dist/tags/reveal.js.map +1 -1
  171. package/dist/tags/sandbox.js +1 -1
  172. package/dist/tags/sandbox.js.map +1 -1
  173. package/dist/tags/showcase.d.ts +3 -0
  174. package/dist/tags/showcase.d.ts.map +1 -0
  175. package/dist/tags/showcase.js +72 -0
  176. package/dist/tags/showcase.js.map +1 -0
  177. package/dist/tags/sidenote.d.ts.map +1 -1
  178. package/dist/tags/sidenote.js +21 -29
  179. package/dist/tags/sidenote.js.map +1 -1
  180. package/dist/tags/tabs.d.ts.map +1 -1
  181. package/dist/tags/tabs.js +52 -58
  182. package/dist/tags/tabs.js.map +1 -1
  183. package/dist/tags/textblock.d.ts.map +1 -1
  184. package/dist/tags/textblock.js +27 -43
  185. package/dist/tags/textblock.js.map +1 -1
  186. package/dist/tags/tint.d.ts +12 -0
  187. package/dist/tags/tint.d.ts.map +1 -0
  188. package/dist/tags/tint.js +88 -0
  189. package/dist/tags/tint.js.map +1 -0
  190. package/dist/tags/toc.d.ts.map +1 -1
  191. package/dist/tags/toc.js +17 -32
  192. package/dist/tags/toc.js.map +1 -1
  193. package/package.json +3 -3
@@ -1,29 +1,28 @@
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
3
  import { schema } from '../registry.js';
13
- import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
4
+ import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
5
+ import { RenderableNodeCursor } from '../lib/renderable.js';
14
6
  const layoutType = ['side-by-side', 'stacked'];
15
- class CompareModel extends Model {
16
- constructor() {
17
- super(...arguments);
18
- this.layout = 'side-by-side';
19
- this.labels = '';
20
- }
21
- transform() {
22
- const children = this.transformChildren();
23
- const layoutMeta = new Tag('meta', { content: this.layout });
7
+ export const compare = createContentModelSchema({
8
+ attributes: {
9
+ layout: { type: String, required: false, matches: layoutType.slice() },
10
+ labels: { type: String, required: false },
11
+ },
12
+ contentModel: {
13
+ type: 'sequence',
14
+ fields: [
15
+ { name: 'body', match: 'any', optional: true, greedy: true },
16
+ ],
17
+ },
18
+ transform(resolved, attrs, config) {
19
+ const children = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.body), config));
20
+ const layout = attrs.layout ?? 'side-by-side';
21
+ const labels = attrs.labels ?? '';
22
+ const layoutMeta = new Tag('meta', { content: layout });
24
23
  // Collect all <pre> code blocks from children
25
24
  const panels = [];
26
- const customLabels = this.labels ? this.labels.split(',').map(l => l.trim()) : [];
25
+ const customLabels = labels ? labels.split(',').map((l) => l.trim()) : [];
27
26
  let panelIndex = 0;
28
27
  for (const node of children.toArray()) {
29
28
  if (Tag.isTag(node) && node.name === 'pre') {
@@ -47,15 +46,6 @@ class CompareModel extends Model {
47
46
  },
48
47
  children: [layoutMeta, panelsDiv],
49
48
  });
50
- }
51
- }
52
- __decorate([
53
- attribute({ type: String, required: false, matches: layoutType.slice() }),
54
- __metadata("design:type", Object)
55
- ], CompareModel.prototype, "layout", void 0);
56
- __decorate([
57
- attribute({ type: String, required: false }),
58
- __metadata("design:type", String)
59
- ], CompareModel.prototype, "labels", void 0);
60
- export const compare = createSchema(CompareModel);
49
+ },
50
+ });
61
51
  //# sourceMappingURL=compare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/tags/compare.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,UAAU,GAAG,CAAC,cAAc,EAAE,SAAS,CAAU,CAAC;AAExD,MAAM,YAAa,SAAQ,KAAK;IAAhC;;QAEC,WAAM,GAA8B,cAAc,CAAC;QAGnD,WAAM,GAAW,EAAE,CAAC;IAqCrB,CAAC;IAnCA,SAAS;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAE7D,8CAA8C;QAC9C,MAAM,MAAM,GAAU,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAElF,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;gBAC5C,4EAA4E;gBAC5E,MAAM,KAAK,GAAG,YAAY,CAAC,UAAU,CAAC;uBAClC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;uBAChC,SAAS,UAAU,GAAG,CAAC,EAAE,CAAC;gBAE9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;gBAClE,MAAM,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;gBACtE,UAAU,EAAE,CAAC;YACd,CAAC;QACF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QAElE,OAAO,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,MAAM,EAAE,UAAU;aAClB;YACD,IAAI,EAAE;gBACL,MAAM,EAAE,SAAS;aACjB;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;SACjC,CAAC,CAAC;IACJ,CAAC;CACD;AAxCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC;;4CACvB;AAGnD;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;4CACzB;AAuCrB,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/tags/compare.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/tags/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAyGvC,eAAO,MAAM,mBAAmB,gBAAyC,CAAC;AAC1E,eAAO,MAAM,YAAY,gBAAkC,CAAC"}
1
+ {"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/tags/conversation.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAiCvC,eAAO,MAAM,mBAAmB,gBAAyC,CAAC;AAkD1E,eAAO,MAAM,YAAY,gBA2BvB,CAAC"}
@@ -10,28 +10,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import Markdoc from '@markdoc/markdoc';
11
11
  const { Ast, Tag } = Markdoc;
12
12
  import { schema } from '../registry.js';
13
- import { attribute, group, Model, createComponentRenderable, createSchema } from '../lib/index.js';
14
- import { NodeStream } from '../lib/node.js';
13
+ import { attribute, Model, createComponentRenderable, createContentModelSchema, createSchema, asNodes } from '../lib/index.js';
14
+ import { RenderableNodeCursor } from '../lib/renderable.js';
15
15
  class ConversationMessageModel extends Model {
16
16
  constructor() {
17
17
  super(...arguments);
18
18
  this.speaker = '';
19
- this.alignment = 'left';
19
+ this.align = 'left';
20
20
  }
21
21
  transform() {
22
22
  const speakerTag = new Tag('span', {}, [this.speaker]);
23
- const alignmentMeta = new Tag('meta', { content: this.alignment });
23
+ const alignMeta = new Tag('meta', { content: this.align });
24
24
  const body = this.transformChildren().wrap('div');
25
25
  return createComponentRenderable(schema.ConversationMessage, {
26
26
  tag: 'div',
27
27
  properties: {
28
28
  speaker: speakerTag,
29
- alignment: alignmentMeta,
29
+ align: alignMeta,
30
30
  },
31
31
  refs: {
32
32
  body: body.tag('div'),
33
33
  },
34
- children: [speakerTag, alignmentMeta, body.next()],
34
+ children: [speakerTag, alignMeta, body.next()],
35
35
  });
36
36
  }
37
37
  }
@@ -40,56 +40,62 @@ __decorate([
40
40
  __metadata("design:type", String)
41
41
  ], ConversationMessageModel.prototype, "speaker", void 0);
42
42
  __decorate([
43
- attribute({ type: String, required: false }),
43
+ attribute({ type: String, required: false, matches: ['left', 'right'] }),
44
44
  __metadata("design:type", String)
45
- ], ConversationMessageModel.prototype, "alignment", void 0);
46
- class ConversationModel extends Model {
47
- constructor() {
48
- super(...arguments);
49
- this.speakers = '';
50
- }
51
- processChildren(nodes) {
52
- const speakerList = this.speakers
53
- ? this.speakers.split(',').map(s => s.trim())
54
- : [];
55
- const converted = [];
56
- let messageIndex = 0;
57
- for (const node of nodes) {
58
- if (node.type === 'blockquote') {
59
- let speaker = '';
60
- const children = [...node.children];
61
- // Try to extract speaker from first paragraph's bold text: **Name:** ...
62
- if (children.length > 0 && children[0].type === 'paragraph') {
63
- const firstPara = children[0];
64
- const firstChild = firstPara.children[0];
65
- if (firstChild && firstChild.type === 'strong') {
66
- const nameText = Array.from(firstChild.walk())
67
- .filter(n => n.type === 'text')
68
- .map(n => n.attributes.content)
69
- .join('')
70
- .replace(/:\s*$/, '');
71
- speaker = nameText;
72
- }
73
- }
74
- // Fall back to alternating from speakers list
75
- if (!speaker && speakerList.length > 0) {
76
- speaker = speakerList[messageIndex % speakerList.length];
45
+ ], ConversationMessageModel.prototype, "align", void 0);
46
+ export const conversationMessage = createSchema(ConversationMessageModel);
47
+ function convertConversationChildren(nodes, attrs) {
48
+ const speakerList = attrs.speakers
49
+ ? String(attrs.speakers).split(',').map(s => s.trim())
50
+ : [];
51
+ const converted = [];
52
+ let messageIndex = 0;
53
+ for (const node of nodes) {
54
+ if (node.type === 'blockquote') {
55
+ let speaker = '';
56
+ const children = [...node.children];
57
+ // Try to extract speaker from first paragraph's bold text: **Name:** ...
58
+ if (children.length > 0 && children[0].type === 'paragraph') {
59
+ const firstPara = children[0];
60
+ const firstChild = firstPara.children[0];
61
+ if (firstChild && firstChild.type === 'strong') {
62
+ const nameText = Array.from(firstChild.walk())
63
+ .filter(n => n.type === 'text')
64
+ .map(n => n.attributes.content)
65
+ .join('')
66
+ .replace(/:\s*$/, '');
67
+ speaker = nameText;
77
68
  }
78
- const alignment = messageIndex % 2 === 0 ? 'left' : 'right';
79
- converted.push(new Ast.Node('tag', {
80
- speaker,
81
- alignment,
82
- }, node.children, 'conversation-message'));
83
- messageIndex++;
84
69
  }
85
- else {
86
- converted.push(node);
70
+ // Fall back to alternating from speakers list
71
+ if (!speaker && speakerList.length > 0) {
72
+ speaker = speakerList[messageIndex % speakerList.length];
87
73
  }
74
+ const align = messageIndex % 2 === 0 ? 'left' : 'right';
75
+ converted.push(new Ast.Node('tag', {
76
+ speaker,
77
+ align,
78
+ }, node.children, 'conversation-message'));
79
+ messageIndex++;
80
+ }
81
+ else {
82
+ converted.push(node);
88
83
  }
89
- return super.processChildren(converted);
90
84
  }
91
- transform() {
92
- const body = this.body.transform();
85
+ return converted;
86
+ }
87
+ export const conversation = createContentModelSchema({
88
+ attributes: {
89
+ speakers: { type: String, required: false },
90
+ },
91
+ contentModel: {
92
+ type: 'custom',
93
+ processChildren: (nodes, attrs) => convertConversationChildren(nodes, attrs),
94
+ description: 'Converts blockquotes to conversation messages with alternating left/right alignment. '
95
+ + 'Extracts speaker name from bold text in first paragraph, falls back to speakers list.',
96
+ },
97
+ transform(resolved, attrs, config) {
98
+ const body = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.children), config));
93
99
  const messages = body.tag('div').typeof('ConversationMessage');
94
100
  const messagesContainer = messages.wrap('div');
95
101
  return createComponentRenderable(schema.Conversation, {
@@ -100,16 +106,6 @@ class ConversationModel extends Model {
100
106
  refs: { messages: messagesContainer },
101
107
  children: [messagesContainer.next()],
102
108
  });
103
- }
104
- }
105
- __decorate([
106
- attribute({ type: String, required: false }),
107
- __metadata("design:type", String)
108
- ], ConversationModel.prototype, "speakers", void 0);
109
- __decorate([
110
- group({ include: ['tag'] }),
111
- __metadata("design:type", NodeStream)
112
- ], ConversationModel.prototype, "body", void 0);
113
- export const conversationMessage = createSchema(ConversationMessageModel);
114
- export const conversation = createSchema(ConversationModel);
109
+ },
110
+ });
115
111
  //# sourceMappingURL=conversation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/tags/conversation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation.js","sourceRoot":"","sources":["../../src/tags/conversation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../src/tags/datatable.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA+CvC,eAAO,MAAM,SAAS,gBAA+B,CAAC"}
1
+ {"version":3,"file":"datatable.d.ts","sourceRoot":"","sources":["../../src/tags/datatable.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAOvC,eAAO,MAAM,SAAS,gBAyCpB,CAAC"}
@@ -1,30 +1,27 @@
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
3
  import { schema } from '../registry.js';
13
- import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
14
- class DataTableModel extends Model {
15
- constructor() {
16
- super(...arguments);
17
- this.sortable = '';
18
- this.searchable = false;
19
- this.pageSize = 0;
20
- this.defaultSort = '';
21
- }
22
- transform() {
23
- const children = this.transformChildren();
24
- const sortableMeta = new Tag('meta', { content: this.sortable });
25
- const searchableMeta = new Tag('meta', { content: String(this.searchable) });
26
- const pageSizeMeta = new Tag('meta', { content: String(this.pageSize) });
27
- const defaultSortMeta = new Tag('meta', { content: this.defaultSort });
4
+ import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
5
+ import { RenderableNodeCursor } from '../lib/renderable.js';
6
+ export const datatable = createContentModelSchema({
7
+ attributes: {
8
+ sortable: { type: String, required: false },
9
+ searchable: { type: Boolean, required: false },
10
+ pageSize: { type: Number, required: false },
11
+ defaultSort: { type: String, required: false },
12
+ },
13
+ contentModel: {
14
+ type: 'sequence',
15
+ fields: [
16
+ { name: 'body', match: 'any', optional: true, greedy: true },
17
+ ],
18
+ },
19
+ transform(resolved, attrs, config) {
20
+ const children = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.body), config));
21
+ const sortableMeta = new Tag('meta', { content: attrs.sortable ?? '' });
22
+ const searchableMeta = new Tag('meta', { content: String(attrs.searchable ?? false) });
23
+ const pageSizeMeta = new Tag('meta', { content: String(attrs.pageSize ?? 0) });
24
+ const defaultSortMeta = new Tag('meta', { content: attrs.defaultSort ?? '' });
28
25
  // Find the table element from children
29
26
  const table = children.tag('table');
30
27
  const tableTag = table.count() > 0 ? table.next() : new Tag('table', {}, []);
@@ -41,23 +38,6 @@ class DataTableModel extends Model {
41
38
  },
42
39
  children: [sortableMeta, searchableMeta, pageSizeMeta, defaultSortMeta, tableTag],
43
40
  });
44
- }
45
- }
46
- __decorate([
47
- attribute({ type: String, required: false }),
48
- __metadata("design:type", String)
49
- ], DataTableModel.prototype, "sortable", void 0);
50
- __decorate([
51
- attribute({ type: Boolean, required: false }),
52
- __metadata("design:type", Boolean)
53
- ], DataTableModel.prototype, "searchable", void 0);
54
- __decorate([
55
- attribute({ type: Number, required: false }),
56
- __metadata("design:type", Number)
57
- ], DataTableModel.prototype, "pageSize", void 0);
58
- __decorate([
59
- attribute({ type: String, required: false }),
60
- __metadata("design:type", String)
61
- ], DataTableModel.prototype, "defaultSort", void 0);
62
- export const datatable = createSchema(DataTableModel);
41
+ },
42
+ });
63
43
  //# sourceMappingURL=datatable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datatable.js","sourceRoot":"","sources":["../../src/tags/datatable.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,cAAe,SAAQ,KAAK;IAAlC;;QAEC,aAAQ,GAAW,EAAE,CAAC;QAGtB,eAAU,GAAY,KAAK,CAAC;QAG5B,aAAQ,GAAW,CAAC,CAAC;QAGrB,gBAAW,GAAW,EAAE,CAAC;IA4B1B,CAAC;IA1BA,SAAS;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE1C,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC7E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAEvE,uCAAuC;QACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7E,OAAO,yBAAyB,CAAC,MAAM,CAAC,SAAS,EAAE;YAClD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,cAAc;gBAC1B,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,eAAe;aAC5B;YACD,IAAI,EAAE;gBACL,KAAK,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;SACjF,CAAC,CAAC;IACJ,CAAC;CACD;AArCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gDACvB;AAGtB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;kDAClB;AAG5B;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gDACxB;AAGrB;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;mDACpB;AA8B1B,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"datatable.js","sourceRoot":"","sources":["../../src/tags/datatable.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,SAAS,GAAG,wBAAwB,CAAC;IACjD,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC3C,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC3C,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KAC9C;IACD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5D;KACD;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,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC;QACxE,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QACvF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC,CAAC;QAE9E,uCAAuC;QACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAE7E,OAAO,yBAAyB,CAAC,MAAM,CAAC,SAAS,EAAE;YAClD,GAAG,EAAE,KAAK;YACV,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,UAAU,EAAE,cAAc;gBAC1B,QAAQ,EAAE,YAAY;gBACtB,WAAW,EAAE,eAAe;aAC5B;YACD,IAAI,EAAE;gBACL,KAAK,EAAE,QAAQ;aACf;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,eAAe,EAAE,QAAQ,CAAC;SACjF,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/tags/details.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA6CvC,eAAO,MAAM,OAAO,gBAA6B,CAAC"}
1
+ {"version":3,"file":"details.d.ts","sourceRoot":"","sources":["../../src/tags/details.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAOvC,eAAO,MAAM,OAAO,gBAmClB,CAAC"}
@@ -1,33 +1,23 @@
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
3
  import { schema } from '../registry.js';
13
- import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
14
- class DetailsModel extends Model {
15
- constructor() {
16
- super(...arguments);
17
- this.summary = undefined;
18
- this.open = false;
19
- }
20
- transform() {
21
- const children = this.transformChildren();
22
- let summaryText = this.summary;
23
- if (!summaryText) {
24
- // Extract from first heading or strong text
25
- const heading = children.headings();
26
- if (heading.count() > 0) {
27
- summaryText = 'Details';
28
- }
29
- }
30
- const summaryTag = new Tag('summary', {}, [summaryText || 'Details']);
4
+ import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
5
+ import { RenderableNodeCursor } from '../lib/renderable.js';
6
+ export const details = createContentModelSchema({
7
+ attributes: {
8
+ summary: { type: String, required: false },
9
+ open: { type: Boolean, required: false },
10
+ },
11
+ contentModel: {
12
+ type: 'sequence',
13
+ fields: [
14
+ { name: 'body', match: 'any', optional: true, greedy: true },
15
+ ],
16
+ },
17
+ transform(resolved, attrs, config) {
18
+ const children = new RenderableNodeCursor(Markdoc.transform(asNodes(resolved.body), config));
19
+ const summaryText = attrs.summary || 'Details';
20
+ const summaryTag = new Tag('summary', {}, [summaryText]);
31
21
  const body = children.wrap('div');
32
22
  const tag = createComponentRenderable(schema.Details, {
33
23
  tag: 'details',
@@ -39,18 +29,9 @@ class DetailsModel extends Model {
39
29
  },
40
30
  children: [summaryTag, body.next()],
41
31
  });
42
- if (this.open)
32
+ if (attrs.open)
43
33
  tag.attributes.open = true;
44
34
  return tag;
45
- }
46
- }
47
- __decorate([
48
- attribute({ type: String, required: false }),
49
- __metadata("design:type", Object)
50
- ], DetailsModel.prototype, "summary", void 0);
51
- __decorate([
52
- attribute({ type: Boolean, required: false }),
53
- __metadata("design:type", Boolean)
54
- ], DetailsModel.prototype, "open", void 0);
55
- export const details = createSchema(DetailsModel);
35
+ },
36
+ });
56
37
  //# sourceMappingURL=details.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/tags/details.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,YAAa,SAAQ,KAAK;IAAhC;;QAEC,YAAO,GAAuB,SAAS,CAAC;QAGxC,SAAI,GAAY,KAAK,CAAC;IAiCvB,CAAC;IA/BA,SAAS;QACR,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE1C,IAAI,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,4CAA4C;YAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;gBACzB,WAAW,GAAG,SAAS,CAAC;YACzB,CAAC;QACF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC,CAAC;QACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YACrD,GAAG,EAAE,SAAS;YACd,UAAU,EAAE;gBACX,OAAO,EAAE,UAAU;aACnB;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;aACrB;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,IAAI;YAAG,GAAG,CAAC,UAAsC,CAAC,IAAI,GAAG,IAAI,CAAC;QAEvE,OAAO,GAAG,CAAC;IACZ,CAAC;CACD;AApCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;6CACL;AAGxC;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0CACxB;AAmCvB,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"details.js","sourceRoot":"","sources":["../../src/tags/details.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAwB,CAAC;IAC/C,UAAU,EAAE;QACX,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxC;IACD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;SAC5D;KACD;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,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,IAAI,SAAS,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAElC,MAAM,GAAG,GAAG,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YACrD,GAAG,EAAE,SAAS;YACd,UAAU,EAAE;gBACX,OAAO,EAAE,UAAU;aACnB;YACD,IAAI,EAAE;gBACL,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;aACrB;YACD,QAAQ,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;SACnC,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,IAAI;YAAG,GAAG,CAAC,UAAsC,CAAC,IAAI,GAAG,IAAI,CAAC;QAExE,OAAO,GAAG,CAAC;IACZ,CAAC;CACD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.d.ts","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA6CvC,eAAO,MAAM,OAAO,gBAA6B,CAAC"}
1
+ {"version":3,"file":"diagram.d.ts","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAOvC,eAAO,MAAM,OAAO,gBAqClB,CAAC"}
@@ -1,35 +1,28 @@
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
3
  import { schema } from '../registry.js';
13
- import { attribute, Model, createComponentRenderable, createSchema } from '../lib/index.js';
4
+ import { createContentModelSchema, createComponentRenderable, asNodes } from '../lib/index.js';
14
5
  const languageType = ['mermaid', 'plantuml', 'ascii'];
15
- class DiagramModel extends Model {
16
- constructor() {
17
- super(...arguments);
18
- this.language = 'mermaid';
19
- this.title = '';
20
- }
21
- transform() {
22
- const languageMeta = new Tag('meta', { content: this.language });
23
- const titleMeta = new Tag('meta', { content: this.title });
24
- // Extract source directly from AST node children (before transformation)
6
+ export const diagram = createContentModelSchema({
7
+ attributes: {
8
+ language: { type: String, required: false, matches: languageType.slice() },
9
+ title: { type: String, required: false },
10
+ },
11
+ contentModel: {
12
+ type: 'sequence',
13
+ fields: [
14
+ { name: 'source', match: 'fence' },
15
+ ],
16
+ },
17
+ transform(resolved, attrs) {
18
+ const language = attrs.language ?? 'mermaid';
19
+ const title = attrs.title ?? '';
20
+ const languageMeta = new Tag('meta', { content: language });
21
+ const titleMeta = new Tag('meta', { content: title });
22
+ // Extract source directly from resolved AST node
25
23
  // to avoid hljs failing on unknown languages like mermaid
26
- let source = '';
27
- for (const child of this.node.children) {
28
- if (child.type === 'fence') {
29
- source = child.attributes.content || '';
30
- break;
31
- }
32
- }
24
+ const sourceNode = asNodes(resolved.source)[0];
25
+ const source = sourceNode?.attributes?.content || '';
33
26
  const sourceMeta = new Tag('meta', { content: source });
34
27
  return createComponentRenderable(schema.Diagram, {
35
28
  tag: 'figure',
@@ -42,15 +35,6 @@ class DiagramModel extends Model {
42
35
  },
43
36
  children: [languageMeta, titleMeta, sourceMeta],
44
37
  });
45
- }
46
- }
47
- __decorate([
48
- attribute({ type: String, required: false, matches: languageType.slice() }),
49
- __metadata("design:type", Object)
50
- ], DiagramModel.prototype, "language", void 0);
51
- __decorate([
52
- attribute({ type: String, required: false }),
53
- __metadata("design:type", String)
54
- ], DiagramModel.prototype, "title", void 0);
55
- export const diagram = createSchema(DiagramModel);
38
+ },
39
+ });
56
40
  //# sourceMappingURL=diagram.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAEvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,yBAAyB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE5F,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAE/D,MAAM,YAAa,SAAQ,KAAK;IAAhC;;QAEC,aAAQ,GAAgC,SAAS,CAAC;QAGlD,UAAK,GAAW,EAAE,CAAC;IA8BpB,CAAC;IA5BA,SAAS;QACR,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjE,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3D,yEAAyE;QACzE,0DAA0D;QAC1D,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;gBACxC,MAAM;YACP,CAAC;QACF,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExD,OAAO,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACL,MAAM,EAAE,UAAU;aAClB;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;SAC/C,CAAC,CAAC;IACJ,CAAC;CACD;AAjCA;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE,CAAC;;8CAC1B;AAGlD;IADC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;2CAC1B;AAgCpB,MAAM,CAAC,MAAM,OAAO,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"diagram.js","sourceRoot":"","sources":["../../src/tags/diagram.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAE/F,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAU,CAAC;AAE/D,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAwB,CAAC;IAC/C,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,KAAK,EAAE,EAAE;QAC1E,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;KACxC;IACD,YAAY,EAAE;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;KACD;IACD,SAAS,CAAC,QAAQ,EAAE,KAAK;QACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QAEhC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAEtD,iDAAiD;QACjD,0DAA0D;QAC1D,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,UAAU,EAAE,UAAU,EAAE,OAAO,IAAI,EAAE,CAAC;QAErD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAExD,OAAO,yBAAyB,CAAC,MAAM,CAAC,OAAO,EAAE;YAChD,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE;gBACX,QAAQ,EAAE,YAAY;gBACtB,KAAK,EAAE,SAAS;aAChB;YACD,IAAI,EAAE;gBACL,MAAM,EAAE,UAAU;aAClB;YACD,QAAQ,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,UAAU,CAAC;SAC/C,CAAC,CAAC;IACJ,CAAC;CACD,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/tags/diff.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAiMvC,eAAO,MAAM,IAAI,gBAA0B,CAAC"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/tags/diff.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAmJvC,eAAO,MAAM,IAAI,gBAyCf,CAAC"}