@refrakt-md/runes 0.6.0 → 0.7.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 (270) hide show
  1. package/dist/config.d.ts +7 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.js +548 -0
  4. package/dist/config.js.map +1 -0
  5. package/dist/examples.d.ts.map +1 -1
  6. package/dist/examples.js +24 -281
  7. package/dist/examples.js.map +1 -1
  8. package/dist/index.d.ts +16 -42
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +57 -317
  11. package/dist/index.js.map +1 -1
  12. package/dist/layouts/grid.d.ts +1 -1
  13. package/dist/lib/renderable.d.ts +1 -1
  14. package/dist/packages.d.ts +79 -0
  15. package/dist/packages.d.ts.map +1 -0
  16. package/dist/packages.js +360 -0
  17. package/dist/packages.js.map +1 -0
  18. package/dist/registry.d.ts +36 -43
  19. package/dist/registry.d.ts.map +1 -1
  20. package/dist/registry.js +36 -56
  21. package/dist/registry.js.map +1 -1
  22. package/dist/rune.d.ts +3 -0
  23. package/dist/rune.d.ts.map +1 -1
  24. package/dist/rune.js +1 -0
  25. package/dist/rune.js.map +1 -1
  26. package/dist/schema/accordion.d.ts +27 -0
  27. package/dist/schema/accordion.d.ts.map +1 -0
  28. package/dist/schema/accordion.js +13 -0
  29. package/dist/schema/accordion.js.map +1 -0
  30. package/dist/schema/annotate.d.ts +24 -0
  31. package/dist/schema/annotate.d.ts.map +1 -0
  32. package/dist/schema/annotate.js +8 -0
  33. package/dist/schema/annotate.js.map +1 -0
  34. package/dist/schema/breadcrumb.d.ts +26 -0
  35. package/dist/schema/breadcrumb.d.ts.map +1 -0
  36. package/dist/schema/breadcrumb.js +12 -0
  37. package/dist/schema/breadcrumb.js.map +1 -0
  38. package/dist/schema/budget.d.ts +60 -0
  39. package/dist/schema/budget.d.ts.map +1 -0
  40. package/dist/schema/budget.js +27 -0
  41. package/dist/schema/budget.js.map +1 -0
  42. package/dist/schema/chart.d.ts +18 -0
  43. package/dist/schema/chart.d.ts.map +1 -0
  44. package/dist/schema/chart.js +8 -0
  45. package/dist/schema/chart.js.map +1 -0
  46. package/dist/schema/codegroup.d.ts +20 -0
  47. package/dist/schema/codegroup.d.ts.map +1 -0
  48. package/dist/schema/codegroup.js +8 -0
  49. package/dist/schema/codegroup.js.map +1 -0
  50. package/dist/schema/compare.d.ts +14 -0
  51. package/dist/schema/compare.d.ts.map +1 -0
  52. package/dist/schema/compare.js +6 -0
  53. package/dist/schema/compare.js.map +1 -0
  54. package/dist/schema/conversation.d.ts +28 -0
  55. package/dist/schema/conversation.d.ts.map +1 -0
  56. package/dist/schema/conversation.js +12 -0
  57. package/dist/schema/conversation.js.map +1 -0
  58. package/dist/schema/datatable.d.ts +20 -0
  59. package/dist/schema/datatable.d.ts.map +1 -0
  60. package/dist/schema/datatable.js +9 -0
  61. package/dist/schema/datatable.js.map +1 -0
  62. package/dist/schema/details.d.ts +14 -0
  63. package/dist/schema/details.d.ts.map +1 -0
  64. package/dist/schema/details.js +6 -0
  65. package/dist/schema/details.js.map +1 -0
  66. package/dist/schema/diagram.d.ts +16 -0
  67. package/dist/schema/diagram.d.ts.map +1 -0
  68. package/dist/schema/diagram.js +7 -0
  69. package/dist/schema/diagram.js.map +1 -0
  70. package/dist/schema/diff.d.ts +13 -0
  71. package/dist/schema/diff.d.ts.map +1 -0
  72. package/dist/schema/diff.js +7 -0
  73. package/dist/schema/diff.js.map +1 -0
  74. package/dist/schema/docpage.d.ts +29 -0
  75. package/dist/schema/docpage.d.ts.map +1 -0
  76. package/dist/schema/docpage.js +15 -0
  77. package/dist/schema/docpage.js.map +1 -0
  78. package/dist/schema/embed.d.ts +24 -0
  79. package/dist/schema/embed.d.ts.map +1 -0
  80. package/dist/schema/embed.js +11 -0
  81. package/dist/schema/embed.js.map +1 -0
  82. package/dist/schema/error.d.ts +26 -0
  83. package/dist/schema/error.d.ts.map +1 -0
  84. package/dist/schema/error.js +14 -0
  85. package/dist/schema/error.js.map +1 -0
  86. package/dist/schema/figure.d.ts +16 -0
  87. package/dist/schema/figure.d.ts.map +1 -0
  88. package/dist/schema/figure.js +8 -0
  89. package/dist/schema/figure.js.map +1 -0
  90. package/dist/schema/form.d.ts +38 -0
  91. package/dist/schema/form.d.ts.map +1 -0
  92. package/dist/schema/form.js +17 -0
  93. package/dist/schema/form.js.map +1 -0
  94. package/dist/schema/grid.d.ts +11 -0
  95. package/dist/schema/grid.d.ts.map +1 -0
  96. package/dist/schema/grid.js +3 -0
  97. package/dist/schema/grid.js.map +1 -0
  98. package/dist/schema/hint.d.ts +14 -0
  99. package/dist/schema/hint.d.ts.map +1 -0
  100. package/dist/schema/hint.js +6 -0
  101. package/dist/schema/hint.js.map +1 -0
  102. package/dist/schema/mediatext.d.ts +19 -0
  103. package/dist/schema/mediatext.d.ts.map +1 -0
  104. package/dist/schema/mediatext.js +8 -0
  105. package/dist/schema/mediatext.js.map +1 -0
  106. package/dist/schema/nav.d.ts +38 -0
  107. package/dist/schema/nav.d.ts.map +1 -0
  108. package/dist/schema/nav.js +19 -0
  109. package/dist/schema/nav.js.map +1 -0
  110. package/dist/schema/pagination.d.ts +14 -0
  111. package/dist/schema/pagination.d.ts.map +1 -0
  112. package/dist/schema/pagination.js +7 -0
  113. package/dist/schema/pagination.js.map +1 -0
  114. package/dist/schema/pullquote.d.ts +14 -0
  115. package/dist/schema/pullquote.d.ts.map +1 -0
  116. package/dist/schema/pullquote.js +7 -0
  117. package/dist/schema/pullquote.js.map +1 -0
  118. package/dist/schema/reveal.d.ts +27 -0
  119. package/dist/schema/reveal.d.ts.map +1 -0
  120. package/dist/schema/reveal.js +13 -0
  121. package/dist/schema/reveal.js.map +1 -0
  122. package/dist/schema/sandbox.d.ts +20 -0
  123. package/dist/schema/sandbox.d.ts.map +1 -0
  124. package/dist/schema/sandbox.js +10 -0
  125. package/dist/schema/sandbox.js.map +1 -0
  126. package/dist/schema/sidenote.d.ts +14 -0
  127. package/dist/schema/sidenote.d.ts.map +1 -0
  128. package/dist/schema/sidenote.js +6 -0
  129. package/dist/schema/sidenote.js.map +1 -0
  130. package/dist/schema/tabs.d.ts +35 -0
  131. package/dist/schema/tabs.d.ts.map +1 -0
  132. package/dist/schema/tabs.js +17 -0
  133. package/dist/schema/tabs.js.map +1 -0
  134. package/dist/schema/textblock.d.ts +20 -0
  135. package/dist/schema/textblock.d.ts.map +1 -0
  136. package/dist/schema/textblock.js +9 -0
  137. package/dist/schema/textblock.js.map +1 -0
  138. package/dist/schema/toc.d.ts +16 -0
  139. package/dist/schema/toc.d.ts.map +1 -0
  140. package/dist/schema/toc.js +7 -0
  141. package/dist/schema/toc.js.map +1 -0
  142. package/dist/seo.d.ts.map +1 -1
  143. package/dist/seo.js +59 -13
  144. package/dist/seo.js.map +1 -1
  145. package/dist/tags/budget.d.ts +5 -0
  146. package/dist/tags/budget.d.ts.map +1 -0
  147. package/dist/tags/budget.js +278 -0
  148. package/dist/tags/budget.js.map +1 -0
  149. package/dist/tags/common.d.ts +3 -3
  150. package/dist/tags/mediatext.d.ts +3 -0
  151. package/dist/tags/mediatext.d.ts.map +1 -0
  152. package/dist/tags/mediatext.js +80 -0
  153. package/dist/tags/mediatext.js.map +1 -0
  154. package/dist/tags/pullquote.d.ts +3 -0
  155. package/dist/tags/pullquote.d.ts.map +1 -0
  156. package/dist/tags/pullquote.js +51 -0
  157. package/dist/tags/pullquote.js.map +1 -0
  158. package/dist/tags/textblock.d.ts +3 -0
  159. package/dist/tags/textblock.d.ts.map +1 -0
  160. package/dist/tags/textblock.js +72 -0
  161. package/dist/tags/textblock.js.map +1 -0
  162. package/package.json +3 -2
  163. package/dist/tags/api.d.ts +0 -3
  164. package/dist/tags/api.d.ts.map +0 -1
  165. package/dist/tags/api.js +0 -54
  166. package/dist/tags/api.js.map +0 -1
  167. package/dist/tags/bento.d.ts +0 -4
  168. package/dist/tags/bento.d.ts.map +0 -1
  169. package/dist/tags/bento.js +0 -120
  170. package/dist/tags/bento.js.map +0 -1
  171. package/dist/tags/cast.d.ts +0 -4
  172. package/dist/tags/cast.d.ts.map +0 -1
  173. package/dist/tags/cast.js +0 -126
  174. package/dist/tags/cast.js.map +0 -1
  175. package/dist/tags/changelog.d.ts +0 -4
  176. package/dist/tags/changelog.d.ts.map +0 -1
  177. package/dist/tags/changelog.js +0 -124
  178. package/dist/tags/changelog.js.map +0 -1
  179. package/dist/tags/comparison.d.ts +0 -5
  180. package/dist/tags/comparison.d.ts.map +0 -1
  181. package/dist/tags/comparison.js +0 -347
  182. package/dist/tags/comparison.js.map +0 -1
  183. package/dist/tags/cta.d.ts +0 -3
  184. package/dist/tags/cta.d.ts.map +0 -1
  185. package/dist/tags/cta.js +0 -62
  186. package/dist/tags/cta.js.map +0 -1
  187. package/dist/tags/design-context.d.ts +0 -3
  188. package/dist/tags/design-context.d.ts.map +0 -1
  189. package/dist/tags/design-context.js +0 -80
  190. package/dist/tags/design-context.js.map +0 -1
  191. package/dist/tags/event.d.ts +0 -3
  192. package/dist/tags/event.d.ts.map +0 -1
  193. package/dist/tags/event.js +0 -81
  194. package/dist/tags/event.js.map +0 -1
  195. package/dist/tags/feature.d.ts +0 -16
  196. package/dist/tags/feature.d.ts.map +0 -1
  197. package/dist/tags/feature.js +0 -135
  198. package/dist/tags/feature.js.map +0 -1
  199. package/dist/tags/hero.d.ts +0 -3
  200. package/dist/tags/hero.d.ts.map +0 -1
  201. package/dist/tags/hero.js +0 -89
  202. package/dist/tags/hero.js.map +0 -1
  203. package/dist/tags/howto.d.ts +0 -3
  204. package/dist/tags/howto.d.ts.map +0 -1
  205. package/dist/tags/howto.js +0 -98
  206. package/dist/tags/howto.js.map +0 -1
  207. package/dist/tags/map.d.ts +0 -4
  208. package/dist/tags/map.d.ts.map +0 -1
  209. package/dist/tags/map.js +0 -257
  210. package/dist/tags/map.js.map +0 -1
  211. package/dist/tags/music-playlist.d.ts +0 -3
  212. package/dist/tags/music-playlist.d.ts.map +0 -1
  213. package/dist/tags/music-playlist.js +0 -89
  214. package/dist/tags/music-playlist.js.map +0 -1
  215. package/dist/tags/music-recording.d.ts +0 -17
  216. package/dist/tags/music-recording.d.ts.map +0 -1
  217. package/dist/tags/music-recording.js +0 -99
  218. package/dist/tags/music-recording.js.map +0 -1
  219. package/dist/tags/organization.d.ts +0 -3
  220. package/dist/tags/organization.d.ts.map +0 -1
  221. package/dist/tags/organization.js +0 -58
  222. package/dist/tags/organization.js.map +0 -1
  223. package/dist/tags/palette.d.ts +0 -10
  224. package/dist/tags/palette.d.ts.map +0 -1
  225. package/dist/tags/palette.js +0 -230
  226. package/dist/tags/palette.js.map +0 -1
  227. package/dist/tags/preview.d.ts +0 -3
  228. package/dist/tags/preview.d.ts.map +0 -1
  229. package/dist/tags/preview.js +0 -180
  230. package/dist/tags/preview.js.map +0 -1
  231. package/dist/tags/pricing.d.ts +0 -14
  232. package/dist/tags/pricing.d.ts.map +0 -1
  233. package/dist/tags/pricing.js +0 -148
  234. package/dist/tags/pricing.js.map +0 -1
  235. package/dist/tags/recipe.d.ts +0 -3
  236. package/dist/tags/recipe.d.ts.map +0 -1
  237. package/dist/tags/recipe.js +0 -109
  238. package/dist/tags/recipe.js.map +0 -1
  239. package/dist/tags/spacing.d.ts +0 -19
  240. package/dist/tags/spacing.d.ts.map +0 -1
  241. package/dist/tags/spacing.js +0 -216
  242. package/dist/tags/spacing.js.map +0 -1
  243. package/dist/tags/steps.d.ts +0 -4
  244. package/dist/tags/steps.d.ts.map +0 -1
  245. package/dist/tags/steps.js +0 -95
  246. package/dist/tags/steps.js.map +0 -1
  247. package/dist/tags/storyboard.d.ts +0 -4
  248. package/dist/tags/storyboard.d.ts.map +0 -1
  249. package/dist/tags/storyboard.js +0 -101
  250. package/dist/tags/storyboard.js.map +0 -1
  251. package/dist/tags/swatch.d.ts +0 -36
  252. package/dist/tags/swatch.d.ts.map +0 -1
  253. package/dist/tags/swatch.js +0 -73
  254. package/dist/tags/swatch.js.map +0 -1
  255. package/dist/tags/symbol.d.ts +0 -5
  256. package/dist/tags/symbol.d.ts.map +0 -1
  257. package/dist/tags/symbol.js +0 -178
  258. package/dist/tags/symbol.js.map +0 -1
  259. package/dist/tags/testimonial.d.ts +0 -3
  260. package/dist/tags/testimonial.d.ts.map +0 -1
  261. package/dist/tags/testimonial.js +0 -99
  262. package/dist/tags/testimonial.js.map +0 -1
  263. package/dist/tags/timeline.d.ts +0 -4
  264. package/dist/tags/timeline.d.ts.map +0 -1
  265. package/dist/tags/timeline.js +0 -125
  266. package/dist/tags/timeline.js.map +0 -1
  267. package/dist/tags/typography.d.ts +0 -11
  268. package/dist/tags/typography.d.ts.map +0 -1
  269. package/dist/tags/typography.js +0 -213
  270. package/dist/tags/typography.js.map +0 -1
@@ -0,0 +1,7 @@
1
+ import type { ThemeConfig } from '@refrakt-md/transform';
2
+ /** Core theme configuration — universal rune-to-BEM-block mappings shared by all themes.
3
+ * Icons are empty; themes provide their own icon SVGs via mergeThemeConfig. */
4
+ export declare const coreConfig: ThemeConfig;
5
+ /** @deprecated Use `coreConfig` instead. Alias kept for backwards compatibility during transition. */
6
+ export declare const baseConfig: ThemeConfig;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAA+B,MAAM,uBAAuB,CAAC;AAiEtF;gFACgF;AAChF,eAAO,MAAM,UAAU,EAAE,WA2gBxB,CAAC;AAEF,sGAAsG;AACtG,eAAO,MAAM,UAAU,aAAa,CAAC"}
package/dist/config.js ADDED
@@ -0,0 +1,548 @@
1
+ import { isTag, makeTag, findByDataName, readMeta } from '@refrakt-md/transform';
2
+ // ─── Budget postTransform helpers ───
3
+ const BUDGET_CURRENCY_SYMBOLS = {
4
+ USD: '$', EUR: '€', GBP: '£', JPY: '¥', CNY: '¥',
5
+ AUD: 'A$', CAD: 'C$', CHF: 'CHF ', SEK: 'kr', NOK: 'kr', DKK: 'kr',
6
+ INR: '₹', KRW: '₩', BRL: 'R$', MXN: 'MX$', ZAR: 'R',
7
+ };
8
+ function formatBudgetAmount(amount, symbol) {
9
+ const parts = (amount % 1 === 0 ? String(amount) : amount.toFixed(2)).split('.');
10
+ parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ',');
11
+ return symbol + parts.join('.');
12
+ }
13
+ function parseBudgetDays(duration) {
14
+ let days = 0;
15
+ const dayMatch = duration.match(/(\d+)\s*day/i);
16
+ const weekMatch = duration.match(/(\d+)\s*week/i);
17
+ const monthMatch = duration.match(/(\d+)\s*month/i);
18
+ if (dayMatch)
19
+ days += parseInt(dayMatch[1]);
20
+ if (weekMatch)
21
+ days += parseInt(weekMatch[1]) * 7;
22
+ if (monthMatch)
23
+ days += parseInt(monthMatch[1]) * 30;
24
+ if (days === 0) {
25
+ const num = parseInt(duration);
26
+ if (!isNaN(num))
27
+ days = num;
28
+ }
29
+ return days;
30
+ }
31
+ function parseBudgetAmount(str) {
32
+ const cleaned = str.replace(/[€$£¥₹₩\s]/g, '').replace(/,/g, '');
33
+ const range = cleaned.match(/^([\d.]+)\s*[-–]\s*([\d.]+)/);
34
+ if (range)
35
+ return (parseFloat(range[1]) + parseFloat(range[2])) / 2;
36
+ const num = parseFloat(cleaned);
37
+ return isNaN(num) ? 0 : num;
38
+ }
39
+ /** Recursively find all nodes with a specific typeof attribute */
40
+ function collectByTypeof(children, typeName) {
41
+ const results = [];
42
+ for (const c of children) {
43
+ if (isTag(c)) {
44
+ if (c.attributes?.typeof === typeName) {
45
+ results.push(c);
46
+ }
47
+ else {
48
+ results.push(...collectByTypeof(c.children, typeName));
49
+ }
50
+ }
51
+ }
52
+ return results;
53
+ }
54
+ /** Read text content from a property span child */
55
+ function readPropText(node, prop) {
56
+ for (const c of node.children) {
57
+ if (isTag(c) && c.attributes?.property === prop) {
58
+ return c.children.filter((ch) => typeof ch === 'string').join('');
59
+ }
60
+ }
61
+ return '';
62
+ }
63
+ /** Core theme configuration — universal rune-to-BEM-block mappings shared by all themes.
64
+ * Icons are empty; themes provide their own icon SVGs via mergeThemeConfig. */
65
+ export const coreConfig = {
66
+ prefix: 'rf',
67
+ tokenPrefix: '--rf',
68
+ icons: {},
69
+ runes: {
70
+ // ─── Simple runes (block name only, engine adds BEM classes) ───
71
+ Accordion: { block: 'accordion' },
72
+ AccordionItem: { block: 'accordion-item', parent: 'Accordion', autoLabel: { name: 'header' } },
73
+ Details: { block: 'details', autoLabel: { summary: 'summary' } },
74
+ Grid: { block: 'grid' },
75
+ CodeGroup: {
76
+ block: 'codegroup',
77
+ modifiers: { title: { source: 'meta' } },
78
+ structure: {
79
+ topbar: {
80
+ tag: 'div', before: true,
81
+ children: [
82
+ { tag: 'span', ref: 'dot' },
83
+ { tag: 'span', ref: 'dot' },
84
+ { tag: 'span', ref: 'dot' },
85
+ { tag: 'span', ref: 'title', metaText: 'title', condition: 'title' },
86
+ ],
87
+ },
88
+ },
89
+ },
90
+ PageSection: { block: 'page-section' },
91
+ TableOfContents: { block: 'toc' },
92
+ Embed: {
93
+ block: 'embed',
94
+ postTransform(node) {
95
+ const block = node.attributes.class?.split(' ')[0] || 'rf-embed';
96
+ const embedUrl = readMeta(node, 'embedUrl') || readMeta(node, 'url') || '';
97
+ const title = readMeta(node, 'title') || 'Embedded content';
98
+ const aspect = readMeta(node, 'aspect') || '16:9';
99
+ const provider = readMeta(node, 'provider') || '';
100
+ const [w, h] = aspect.split(':').map(Number);
101
+ const paddingPercent = h && w ? (h / w) * 100 : 56.25;
102
+ // Filter out consumed meta tags
103
+ const contentChildren = node.children.filter(child => {
104
+ if (!isTag(child) || child.name !== 'meta')
105
+ return true;
106
+ const prop = child.attributes.property;
107
+ return !['embedUrl', 'url', 'title', 'aspect', 'provider', 'type'].includes(prop);
108
+ });
109
+ const children = [];
110
+ if (embedUrl) {
111
+ children.push(makeTag('div', { class: `${block}__wrapper`, style: `padding-bottom: ${paddingPercent}%` }, [
112
+ makeTag('iframe', {
113
+ src: embedUrl,
114
+ title,
115
+ frameborder: '0',
116
+ allow: 'accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture',
117
+ allowfullscreen: '',
118
+ loading: 'lazy',
119
+ }, []),
120
+ ]));
121
+ }
122
+ children.push(makeTag('div', { class: `${block}__fallback` }, contentChildren));
123
+ return {
124
+ ...node,
125
+ attributes: {
126
+ ...node.attributes,
127
+ ...(provider ? { 'data-provider': provider } : {}),
128
+ },
129
+ children,
130
+ };
131
+ },
132
+ },
133
+ Breadcrumb: { block: 'breadcrumb' },
134
+ BreadcrumbItem: { block: 'breadcrumb-item', parent: 'Breadcrumb' },
135
+ Budget: {
136
+ block: 'budget',
137
+ modifiers: {
138
+ title: { source: 'meta' },
139
+ currency: { source: 'meta', default: 'USD' },
140
+ travelers: { source: 'meta', default: '1' },
141
+ duration: { source: 'meta' },
142
+ showPerPerson: { source: 'meta', default: 'true' },
143
+ showPerDay: { source: 'meta', default: 'true' },
144
+ style: { source: 'meta', default: 'detailed' },
145
+ },
146
+ structure: {
147
+ header: {
148
+ tag: 'div', before: true,
149
+ conditionAny: ['title', 'currency', 'travelers', 'duration'],
150
+ children: [
151
+ { tag: 'h2', ref: 'title', metaText: 'title', condition: 'title' },
152
+ {
153
+ tag: 'div', ref: 'meta',
154
+ children: [
155
+ { tag: 'span', ref: 'meta-item', metaText: 'currency', condition: 'currency' },
156
+ { tag: 'span', ref: 'meta-item', metaText: 'travelers', textPrefix: 'Travelers: ', condition: 'travelers' },
157
+ { tag: 'span', ref: 'meta-item', metaText: 'duration', textPrefix: 'Duration: ', condition: 'duration' },
158
+ ],
159
+ },
160
+ ],
161
+ },
162
+ },
163
+ postTransform(node) {
164
+ const block = 'rf-budget';
165
+ const catBlock = 'rf-budget-category';
166
+ const currency = readMeta(node, 'currency') || 'USD';
167
+ const travelersStr = readMeta(node, 'travelers') || '1';
168
+ const travelers = parseInt(travelersStr) || 1;
169
+ const duration = readMeta(node, 'duration') || '';
170
+ const showPerPerson = readMeta(node, 'showPerPerson') !== 'false';
171
+ const showPerDay = readMeta(node, 'showPerDay') !== 'false';
172
+ const symbol = BUDGET_CURRENCY_SYMBOLS[currency.toUpperCase()] || currency + ' ';
173
+ // Find all BudgetCategory children and compute totals
174
+ const categories = collectByTypeof(node.children, 'BudgetCategory');
175
+ let grandTotal = 0;
176
+ for (const cat of categories) {
177
+ const label = readPropText(cat, 'label');
178
+ const subtotalStr = readPropText(cat, 'subtotal');
179
+ const subtotal = parseFloat(subtotalStr) || 0;
180
+ grandTotal += subtotal;
181
+ // Inject category header with label and formatted subtotal
182
+ const catHeader = makeTag('div', { class: `${catBlock}__header` }, [
183
+ makeTag('span', { class: `${catBlock}__label` }, [label]),
184
+ makeTag('span', { class: `${catBlock}__subtotal` }, [formatBudgetAmount(subtotal, symbol)]),
185
+ ]);
186
+ cat.children.unshift(catHeader);
187
+ }
188
+ // Build footer with totals
189
+ const footerChildren = [
190
+ makeTag('div', { class: `${block}__total` }, [
191
+ makeTag('span', { class: `${block}__total-label` }, ['Total']),
192
+ makeTag('span', { class: `${block}__total-amount` }, [formatBudgetAmount(grandTotal, symbol)]),
193
+ ]),
194
+ ];
195
+ if (travelers > 1 && showPerPerson) {
196
+ const perPerson = grandTotal / travelers;
197
+ footerChildren.push(makeTag('div', { class: `${block}__per-person` }, [
198
+ makeTag('span', { class: `${block}__per-person-label` }, ['Per person']),
199
+ makeTag('span', { class: `${block}__per-person-amount` }, [formatBudgetAmount(perPerson, symbol)]),
200
+ ]));
201
+ }
202
+ if (duration && showPerDay) {
203
+ const days = parseBudgetDays(duration);
204
+ if (days > 0) {
205
+ const perDay = grandTotal / days;
206
+ footerChildren.push(makeTag('div', { class: `${block}__per-day` }, [
207
+ makeTag('span', { class: `${block}__per-day-label` }, ['Per day']),
208
+ makeTag('span', { class: `${block}__per-day-amount` }, [formatBudgetAmount(perDay, symbol)]),
209
+ ]));
210
+ }
211
+ }
212
+ const footer = makeTag('div', { class: `${block}__footer` }, footerChildren);
213
+ return {
214
+ ...node,
215
+ children: [...node.children, footer],
216
+ };
217
+ },
218
+ },
219
+ BudgetCategory: {
220
+ block: 'budget-category',
221
+ parent: 'Budget',
222
+ modifiers: { estimate: { source: 'meta', default: 'false' } },
223
+ },
224
+ BudgetLineItem: { block: 'budget-line-item', parent: 'Budget' },
225
+ // ─── Runes with modifier meta tags ───
226
+ Hint: {
227
+ block: 'hint',
228
+ modifiers: { hintType: { source: 'meta', default: 'note' } },
229
+ contextModifiers: { 'Hero': 'in-hero', 'Feature': 'in-feature' },
230
+ structure: {
231
+ header: {
232
+ tag: 'div', before: true,
233
+ children: [
234
+ { tag: 'span', ref: 'icon', icon: { group: 'hint', variant: 'hintType' } },
235
+ { tag: 'span', ref: 'title', metaText: 'hintType' },
236
+ ],
237
+ },
238
+ },
239
+ },
240
+ Figure: {
241
+ block: 'figure',
242
+ modifiers: {
243
+ size: { source: 'meta', default: 'default' },
244
+ align: { source: 'meta', default: 'center' },
245
+ },
246
+ },
247
+ Sidenote: {
248
+ block: 'sidenote',
249
+ modifiers: { style: { source: 'meta', default: 'sidenote' } },
250
+ },
251
+ Compare: {
252
+ block: 'compare',
253
+ modifiers: { layout: { source: 'meta', default: 'side-by-side' } },
254
+ },
255
+ Conversation: { block: 'conversation' },
256
+ ConversationMessage: {
257
+ block: 'conversation-message',
258
+ parent: 'Conversation',
259
+ modifiers: { alignment: { source: 'meta', default: 'left' } },
260
+ },
261
+ Annotate: {
262
+ block: 'annotate',
263
+ modifiers: { style: { source: 'meta', default: 'margin' } },
264
+ },
265
+ AnnotateNote: { block: 'annotate-note', parent: 'Annotate' },
266
+ Nav: {
267
+ block: 'nav',
268
+ postTransform(node) {
269
+ return { ...node, name: 'rf-nav' };
270
+ },
271
+ },
272
+ NavGroup: { block: 'nav-group', parent: 'Nav' },
273
+ NavItem: {
274
+ block: 'nav-item',
275
+ parent: 'Nav',
276
+ postTransform(node) {
277
+ // Extract slug from span[property="slug"] child → data-slug attribute
278
+ // Keep slug text as visible fallback for SSR; web component replaces with <a> links
279
+ let slug = '';
280
+ const children = node.children.filter(child => {
281
+ if (isTag(child) && child.name === 'span' && child.attributes.property === 'slug') {
282
+ slug = child.children.filter((c) => typeof c === 'string').join('');
283
+ return false; // remove slug span from DOM
284
+ }
285
+ return true;
286
+ });
287
+ // Add slug text as visible fallback content (replaced by web component at runtime)
288
+ if (slug) {
289
+ children.unshift(slug);
290
+ }
291
+ return {
292
+ ...node,
293
+ attributes: {
294
+ ...node.attributes,
295
+ ...(slug ? { 'data-slug': slug } : {}),
296
+ },
297
+ children,
298
+ };
299
+ },
300
+ },
301
+ Diff: {
302
+ block: 'diff',
303
+ modifiers: { mode: { source: 'meta', default: 'unified' } },
304
+ },
305
+ Chart: {
306
+ block: 'chart',
307
+ postTransform(node) {
308
+ const block = node.attributes.class?.split(' ')[0] || 'rf-chart';
309
+ const chartType = readMeta(node, 'type') || 'bar';
310
+ const title = readMeta(node, 'title') || '';
311
+ const dataJson = findByDataName(node, 'data')?.attributes?.content || '{}';
312
+ let chartData = { headers: [], rows: [] };
313
+ try {
314
+ chartData = JSON.parse(dataJson);
315
+ }
316
+ catch { /* fallback */ }
317
+ const colors = [
318
+ 'var(--rf-color-info)', 'var(--rf-color-success)',
319
+ 'var(--rf-color-warning)', 'var(--rf-color-danger)',
320
+ '#7c3aed', '#0891b2',
321
+ ];
322
+ const svgW = 600, svgH = 300;
323
+ const pad = { top: 30, right: 20, bottom: 40, left: 50 };
324
+ const cw = svgW - pad.left - pad.right;
325
+ const ch = svgH - pad.top - pad.bottom;
326
+ const labels = chartData.rows.map(r => r[0] || '');
327
+ const series = chartData.headers.slice(1);
328
+ const values = chartData.rows.map(r => r.slice(1).map(v => parseFloat(v) || 0));
329
+ const maxVal = Math.max(...values.flat(), 1);
330
+ const bgw = cw / Math.max(labels.length, 1);
331
+ const bw = bgw / Math.max(series.length + 1, 2);
332
+ // Build SVG children
333
+ const svgChildren = [];
334
+ // Axes
335
+ svgChildren.push(makeTag('line', {
336
+ x1: String(pad.left), y1: String(pad.top),
337
+ x2: String(pad.left), y2: String(svgH - pad.bottom),
338
+ stroke: 'var(--rf-color-border)', 'stroke-width': '1',
339
+ }, []));
340
+ svgChildren.push(makeTag('line', {
341
+ x1: String(pad.left), y1: String(svgH - pad.bottom),
342
+ x2: String(svgW - pad.right), y2: String(svgH - pad.bottom),
343
+ stroke: 'var(--rf-color-border)', 'stroke-width': '1',
344
+ }, []));
345
+ if (chartType === 'bar') {
346
+ for (let i = 0; i < labels.length; i++) {
347
+ for (let si = 0; si < series.length; si++) {
348
+ const h = (values[i][si] / maxVal) * ch;
349
+ svgChildren.push(makeTag('rect', {
350
+ x: String(pad.left + i * bgw + si * bw + bw * 0.25),
351
+ y: String(pad.top + ch - h),
352
+ width: String(bw * 0.75),
353
+ height: String(h),
354
+ style: `fill: ${colors[si % colors.length]}`,
355
+ rx: '2',
356
+ }, []));
357
+ }
358
+ svgChildren.push(makeTag('text', {
359
+ x: String(pad.left + i * bgw + bgw / 2),
360
+ y: String(svgH - pad.bottom + 20),
361
+ 'text-anchor': 'middle', 'font-size': '12',
362
+ fill: 'var(--rf-color-muted)',
363
+ }, [labels[i]]));
364
+ }
365
+ }
366
+ else if (chartType === 'line') {
367
+ for (let si = 0; si < series.length; si++) {
368
+ const pts = labels.map((_, i) => `${pad.left + i * bgw + bgw / 2},${pad.top + ch - (values[i][si] / maxVal) * ch}`).join(' ');
369
+ svgChildren.push(makeTag('polyline', {
370
+ points: pts, fill: 'none',
371
+ style: `stroke: ${colors[si % colors.length]}`,
372
+ 'stroke-width': '2',
373
+ }, []));
374
+ for (let i = 0; i < labels.length; i++) {
375
+ svgChildren.push(makeTag('circle', {
376
+ cx: String(pad.left + i * bgw + bgw / 2),
377
+ cy: String(pad.top + ch - (values[i][si] / maxVal) * ch),
378
+ r: '4',
379
+ style: `fill: ${colors[si % colors.length]}`,
380
+ }, []));
381
+ }
382
+ }
383
+ for (let i = 0; i < labels.length; i++) {
384
+ svgChildren.push(makeTag('text', {
385
+ x: String(pad.left + i * bgw + bgw / 2),
386
+ y: String(svgH - pad.bottom + 20),
387
+ 'text-anchor': 'middle', 'font-size': '12',
388
+ fill: 'var(--rf-color-muted)',
389
+ }, [labels[i]]));
390
+ }
391
+ }
392
+ const children = [];
393
+ if (title) {
394
+ children.push(makeTag('figcaption', { class: `${block}__title` }, [title]));
395
+ }
396
+ children.push(makeTag('div', { class: `${block}__container` }, [
397
+ makeTag('svg', {
398
+ viewBox: `0 0 ${svgW} ${svgH}`,
399
+ class: `${block}__svg`,
400
+ }, svgChildren),
401
+ ]));
402
+ // Legend
403
+ if (series.length > 1) {
404
+ const legendItems = series.map((name, i) => makeTag('span', { class: `${block}__legend-item` }, [
405
+ makeTag('span', {
406
+ class: `${block}__legend-color`,
407
+ style: `background: ${colors[i % colors.length]};`,
408
+ }, []),
409
+ name,
410
+ ]));
411
+ children.push(makeTag('div', { class: `${block}__legend` }, legendItems));
412
+ }
413
+ return { ...node, children };
414
+ },
415
+ },
416
+ // ─── Text formatting & layout runes ───
417
+ PullQuote: {
418
+ block: 'pullquote',
419
+ modifiers: {
420
+ align: { source: 'meta', default: 'center' },
421
+ style: { source: 'meta', default: 'default' },
422
+ },
423
+ },
424
+ TextBlock: {
425
+ block: 'textblock',
426
+ modifiers: {
427
+ dropcap: { source: 'meta' },
428
+ columns: { source: 'meta' },
429
+ lead: { source: 'meta' },
430
+ align: { source: 'meta', default: 'left' },
431
+ },
432
+ },
433
+ MediaText: {
434
+ block: 'mediatext',
435
+ modifiers: {
436
+ align: { source: 'meta', default: 'left' },
437
+ ratio: { source: 'meta', default: '1:1' },
438
+ wrap: { source: 'meta' },
439
+ },
440
+ },
441
+ // ─── Interactive runes (still get BEM classes, components add behavior) ───
442
+ TabGroup: { block: 'tabs' },
443
+ Tab: { block: 'tab', parent: 'TabGroup' },
444
+ DataTable: {
445
+ block: 'datatable',
446
+ modifiers: {
447
+ searchable: { source: 'meta', default: 'false' },
448
+ sortable: { source: 'meta' },
449
+ pageSize: { source: 'meta', default: '0' },
450
+ defaultSort: { source: 'meta' },
451
+ },
452
+ },
453
+ Form: {
454
+ block: 'form',
455
+ modifiers: {
456
+ style: { source: 'meta', default: 'stacked' },
457
+ action: { source: 'meta' },
458
+ method: { source: 'meta', default: 'POST' },
459
+ success: { source: 'meta' },
460
+ error: { source: 'meta' },
461
+ honeypot: { source: 'meta', default: 'true' },
462
+ },
463
+ },
464
+ FormField: {
465
+ block: 'form-field',
466
+ parent: 'Form',
467
+ modifiers: {
468
+ fieldType: { source: 'meta' },
469
+ },
470
+ },
471
+ Reveal: {
472
+ block: 'reveal',
473
+ modifiers: {
474
+ mode: { source: 'meta', default: 'click' },
475
+ },
476
+ },
477
+ RevealStep: { block: 'reveal-step', parent: 'Reveal' },
478
+ Diagram: {
479
+ block: 'diagram',
480
+ postTransform(node) {
481
+ const block = node.attributes.class?.split(' ')[0] || 'rf-diagram';
482
+ const language = readMeta(node, 'language') || 'mermaid';
483
+ const title = readMeta(node, 'title') || '';
484
+ const sourceMeta = findByDataName(node, 'source');
485
+ const source = sourceMeta?.attributes?.content || '';
486
+ // Build fallback HTML (visible in SSR, replaced by web component)
487
+ const children = [];
488
+ if (title) {
489
+ children.push(makeTag('figcaption', { class: `${block}__title` }, [title]));
490
+ }
491
+ const containerChildren = source
492
+ ? [makeTag('pre', { class: `${block}__source` }, [makeTag('code', {}, [source])])]
493
+ : [];
494
+ children.push(makeTag('div', { class: `${block}__container` }, containerChildren));
495
+ // Hidden source for web component to read
496
+ if (source) {
497
+ children.push(makeTag('div', { 'data-content': 'source', style: 'display:none' }, [source]));
498
+ }
499
+ return {
500
+ ...node,
501
+ name: 'rf-diagram',
502
+ attributes: { ...node.attributes, 'data-language': language },
503
+ children,
504
+ };
505
+ },
506
+ },
507
+ Sandbox: {
508
+ block: 'sandbox',
509
+ postTransform(node) {
510
+ // Read meta values
511
+ const content = readMeta(node, 'content') || '';
512
+ const framework = readMeta(node, 'framework') || '';
513
+ const dependencies = readMeta(node, 'dependencies') || '';
514
+ const label = readMeta(node, 'label') || '';
515
+ const height = readMeta(node, 'height') || 'auto';
516
+ // Keep non-meta children (fallback pre, source panels)
517
+ const fallbackChildren = node.children.filter(child => {
518
+ if (!isTag(child))
519
+ return true;
520
+ if (child.name === 'meta')
521
+ return false;
522
+ return true;
523
+ });
524
+ // Add hidden content div for web component
525
+ const children = [
526
+ ...fallbackChildren,
527
+ makeTag('div', { 'data-content': 'source', style: 'display:none' }, [content]),
528
+ ];
529
+ return {
530
+ ...node,
531
+ name: 'rf-sandbox',
532
+ attributes: {
533
+ ...node.attributes,
534
+ 'data-source-content': content,
535
+ ...(framework ? { 'data-framework': framework } : {}),
536
+ ...(dependencies ? { 'data-dependencies': dependencies } : {}),
537
+ ...(label ? { 'data-label': label } : {}),
538
+ 'data-height': height,
539
+ },
540
+ children,
541
+ };
542
+ },
543
+ },
544
+ },
545
+ };
546
+ /** @deprecated Use `coreConfig` instead. Alias kept for backwards compatibility during transition. */
547
+ export const baseConfig = coreConfig;
548
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8fhD,CAAC"}
1
+ {"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../src/examples.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAwOhD,CAAC"}