@refrakt-md/marketing 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 (45) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +74 -18
  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 +146 -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 +153 -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 +36 -37
  25. package/dist/tags/cta.js.map +1 -1
  26. package/dist/tags/feature.d.ts +4 -3
  27. package/dist/tags/feature.d.ts.map +1 -1
  28. package/dist/tags/feature.js +90 -51
  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 +105 -65
  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 +78 -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 +60 -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.js +4 -4
  44. package/dist/types.js.map +1 -1
  45. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,uBAAuB,CAAC;AAwLrF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CA6H7C,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAA+B,MAAM,uBAAuB,CAAC;AA0LrF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAmL7C,CAAC"}
package/dist/config.js CHANGED
@@ -1,15 +1,15 @@
1
- import { isTag, makeTag, readMeta } from '@refrakt-md/transform';
1
+ import { isTag, makeTag, readMeta, resolveGap, ratioToFr, resolveValign } from '@refrakt-md/transform';
2
2
  // ─── Comparison postTransform helpers ───
3
- /** Recursively find all nodes with a specific typeof attribute */
4
- function collectByTypeof(children, typeName) {
3
+ /** Recursively find all nodes with a specific data-rune attribute */
4
+ function collectByRune(children, typeName) {
5
5
  const results = [];
6
6
  for (const c of children) {
7
7
  if (isTag(c)) {
8
- if (c.attributes?.typeof === typeName) {
8
+ if (c.attributes?.['data-rune'] === typeName) {
9
9
  results.push(c);
10
10
  }
11
11
  else {
12
- results.push(...collectByTypeof(c.children, typeName));
12
+ results.push(...collectByRune(c.children, typeName));
13
13
  }
14
14
  }
15
15
  }
@@ -17,8 +17,9 @@ function collectByTypeof(children, typeName) {
17
17
  }
18
18
  /** Read text content from a property span child */
19
19
  function readPropText(node, prop) {
20
+ const kebab = prop.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/([A-Z])([A-Z][a-z])/g, '$1-$2').toLowerCase();
20
21
  for (const c of node.children) {
21
- if (isTag(c) && c.attributes?.property === prop) {
22
+ if (isTag(c) && c.attributes?.['data-field'] === kebab) {
22
23
  return c.children.filter((ch) => typeof ch === 'string').join('');
23
24
  }
24
25
  }
@@ -26,8 +27,9 @@ function readPropText(node, prop) {
26
27
  }
27
28
  /** Read meta tag value from within a node (for non-modifier metas not consumed by engine) */
28
29
  function readLocalMeta(node, prop) {
30
+ const kebab = prop.replace(/([a-z])([A-Z])/g, '$1-$2').replace(/([A-Z])([A-Z][a-z])/g, '$1-$2').toLowerCase();
29
31
  for (const c of node.children) {
30
- if (isTag(c) && c.name === 'meta' && c.attributes?.property === prop) {
32
+ if (isTag(c) && c.name === 'meta' && c.attributes?.['data-field'] === kebab) {
31
33
  return c.attributes.content ?? '';
32
34
  }
33
35
  }
@@ -168,16 +170,30 @@ const pageSectionAutoLabel = {
168
170
  export const config = {
169
171
  Hero: {
170
172
  block: 'hero',
171
- modifiers: { align: { source: 'meta', default: 'center' } },
172
- contextModifiers: { 'Feature': 'in-feature' },
173
- autoLabel: pageSectionAutoLabel,
173
+ defaultWidth: 'full',
174
+ modifiers: {
175
+ layout: { source: 'meta', default: 'stacked' },
176
+ align: { source: 'meta', default: 'center' },
177
+ ratio: { source: 'meta', default: '1 1', noBemClass: true },
178
+ valign: { source: 'meta', default: 'top', noBemClass: true },
179
+ gap: { source: 'meta', default: 'default', noBemClass: true },
180
+ collapse: { source: 'meta', noBemClass: true },
181
+ },
182
+ styles: {
183
+ ratio: { prop: '--split-ratio', transform: ratioToFr },
184
+ valign: { prop: '--split-valign', transform: resolveValign },
185
+ gap: { prop: '--split-gap', transform: resolveGap },
186
+ },
187
+ contextModifiers: { 'feature': 'in-feature' },
188
+ autoLabel: { ...pageSectionAutoLabel, media: 'media' },
174
189
  },
175
- CallToAction: { block: 'cta', contextModifiers: { 'Hero': 'in-hero', 'Pricing': 'in-pricing' }, autoLabel: pageSectionAutoLabel },
190
+ CallToAction: { block: 'cta', defaultWidth: 'full', contextModifiers: { 'hero': 'in-hero', 'pricing': 'in-pricing' }, autoLabel: pageSectionAutoLabel },
176
191
  Bento: {
177
192
  block: 'bento',
178
193
  modifiers: {
179
194
  columns: { source: 'meta', default: '4' },
180
195
  gap: { source: 'meta', default: '1rem' },
196
+ sizing: { source: 'meta', default: 'tiered' },
181
197
  },
182
198
  styles: {
183
199
  columns: '--bento-columns',
@@ -188,18 +204,58 @@ export const config = {
188
204
  BentoCell: {
189
205
  block: 'bento-cell',
190
206
  parent: 'Bento',
191
- modifiers: { size: { source: 'meta', default: 'medium' } },
207
+ modifiers: {
208
+ size: { source: 'meta', default: 'medium' },
209
+ span: { source: 'meta', noBemClass: true },
210
+ },
211
+ styles: {
212
+ span: '--cell-span',
213
+ },
192
214
  autoLabel: { name: 'title' },
193
215
  },
194
- Feature: { block: 'feature', modifiers: { split: { source: 'meta' }, mirror: { source: 'meta' } }, contextModifiers: { 'Hero': 'in-hero', 'Grid': 'in-grid' }, autoLabel: pageSectionAutoLabel },
216
+ Feature: {
217
+ block: 'feature',
218
+ defaultWidth: 'full',
219
+ modifiers: {
220
+ layout: { source: 'meta', default: 'stacked' },
221
+ align: { source: 'meta', default: 'center' },
222
+ ratio: { source: 'meta', default: '1 1', noBemClass: true },
223
+ valign: { source: 'meta', default: 'top', noBemClass: true },
224
+ gap: { source: 'meta', default: 'default', noBemClass: true },
225
+ collapse: { source: 'meta', noBemClass: true },
226
+ },
227
+ styles: {
228
+ ratio: { prop: '--split-ratio', transform: ratioToFr },
229
+ valign: { prop: '--split-valign', transform: resolveValign },
230
+ gap: { prop: '--split-gap', transform: resolveGap },
231
+ },
232
+ contextModifiers: { 'hero': 'in-hero', 'grid': 'in-grid' },
233
+ autoLabel: pageSectionAutoLabel,
234
+ },
195
235
  FeatureDefinition: { block: 'feature-definition', parent: 'Feature' },
196
236
  Steps: { block: 'steps', autoLabel: pageSectionAutoLabel },
197
- Step: { block: 'step', parent: 'Steps', modifiers: { split: { source: 'meta' }, mirror: { source: 'meta' } } },
198
- Pricing: { block: 'pricing', autoLabel: pageSectionAutoLabel },
237
+ Step: {
238
+ block: 'step',
239
+ parent: 'Steps',
240
+ modifiers: {
241
+ layout: { source: 'meta', default: 'stacked' },
242
+ ratio: { source: 'meta', default: '1 1', noBemClass: true },
243
+ valign: { source: 'meta', default: 'top', noBemClass: true },
244
+ gap: { source: 'meta', default: 'default', noBemClass: true },
245
+ collapse: { source: 'meta', noBemClass: true },
246
+ },
247
+ styles: {
248
+ ratio: { prop: '--split-ratio', transform: ratioToFr },
249
+ valign: { prop: '--split-valign', transform: resolveValign },
250
+ gap: { prop: '--split-gap', transform: resolveGap },
251
+ },
252
+ },
253
+ Pricing: { block: 'pricing', defaultWidth: 'full', autoLabel: pageSectionAutoLabel },
199
254
  Tier: { block: 'tier', parent: 'Pricing' },
200
255
  FeaturedTier: { block: 'tier', parent: 'Pricing', staticModifiers: ['featured'] },
201
256
  Testimonial: {
202
257
  block: 'testimonial',
258
+ modifiers: { variant: { source: 'meta', default: 'card' } },
203
259
  postTransform(node) {
204
260
  const block = node.attributes.class?.split(' ')[0] || 'rf-testimonial';
205
261
  const ratingStr = readMeta(node, 'rating');
@@ -207,7 +263,7 @@ export const config = {
207
263
  const contentChildren = node.children.filter(child => {
208
264
  if (!isTag(child) || child.name !== 'meta')
209
265
  return true;
210
- return child.attributes.property !== 'rating';
266
+ return child.attributes['data-field'] !== 'rating';
211
267
  });
212
268
  const children = [];
213
269
  // Inject star rating if present
@@ -248,12 +304,12 @@ export const config = {
248
304
  ? titleTag.children.filter((c) => typeof c === 'string').join('')
249
305
  : '';
250
306
  // Find ComparisonColumn children (inside the grid wrapper)
251
- const columns = collectByTypeof(node.children, 'ComparisonColumn');
307
+ const columns = collectByRune(node.children, 'comparison-column');
252
308
  // Extract structured data from each column
253
309
  const columnData = columns.map(col => ({
254
310
  name: readPropText(col, 'name'),
255
311
  highlighted: readLocalMeta(col, 'highlighted') === 'true',
256
- rows: collectByTypeof(col.children, 'ComparisonRow'),
312
+ rows: collectByRune(col.children, 'comparison-row'),
257
313
  }));
258
314
  // Build layout
259
315
  const children = [];
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,7 +10,7 @@ import { config } from './config.js';
10
10
  export const marketing = {
11
11
  name: 'marketing',
12
12
  displayName: 'Marketing',
13
- version: '0.6.0',
13
+ version: '0.8.0',
14
14
  runes: {
15
15
  'hero': {
16
16
  transform: hero,
@@ -1,9 +1,12 @@
1
1
  import { PageSection } from "@refrakt-md/types";
2
2
  export declare class BentoCell {
3
- size: 'large' | 'medium' | 'small';
3
+ size: 'full' | 'large' | 'medium' | 'small' | 'span';
4
+ span: number;
4
5
  name: string;
6
+ icon: string | undefined;
5
7
  }
6
8
  export declare class Bento extends PageSection {
9
+ sizing: 'tiered' | 'span';
7
10
  cell: BentoCell[];
8
11
  }
9
12
  //# sourceMappingURL=bento.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bento.d.ts","sourceRoot":"","sources":["../../src/schema/bento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,SAAS;IACrB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAW;IAC7C,IAAI,EAAE,MAAM,CAAM;CAClB;AAED,qBAAa,KAAM,SAAQ,WAAW;IACrC,IAAI,EAAE,SAAS,EAAE,CAAM;CACvB"}
1
+ {"version":3,"file":"bento.d.ts","sourceRoot":"","sources":["../../src/schema/bento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,SAAS;IACrB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAW;IAC/D,IAAI,EAAE,MAAM,CAAK;IACjB,IAAI,EAAE,MAAM,CAAM;IAClB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAa;CACrC;AAED,qBAAa,KAAM,SAAQ,WAAW;IACrC,MAAM,EAAE,QAAQ,GAAG,MAAM,CAAY;IACrC,IAAI,EAAE,SAAS,EAAE,CAAM;CACvB"}
@@ -2,12 +2,15 @@ import { PageSection } from "@refrakt-md/types";
2
2
  export class BentoCell {
3
3
  constructor() {
4
4
  this.size = 'small';
5
+ this.span = 0;
5
6
  this.name = '';
7
+ this.icon = undefined;
6
8
  }
7
9
  }
8
10
  export class Bento extends PageSection {
9
11
  constructor() {
10
12
  super(...arguments);
13
+ this.sizing = 'tiered';
11
14
  this.cell = [];
12
15
  }
13
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bento.js","sourceRoot":"","sources":["../../src/schema/bento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,SAAS;IAAtB;QACC,SAAI,GAAiC,OAAO,CAAC;QAC7C,SAAI,GAAW,EAAE,CAAC;IACnB,CAAC;CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,WAAW;IAAtC;;QACC,SAAI,GAAgB,EAAE,CAAC;IACxB,CAAC;CAAA"}
1
+ {"version":3,"file":"bento.js","sourceRoot":"","sources":["../../src/schema/bento.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,SAAS;IAAtB;QACC,SAAI,GAAmD,OAAO,CAAC;QAC/D,SAAI,GAAW,CAAC,CAAC;QACjB,SAAI,GAAW,EAAE,CAAC;QAClB,SAAI,GAAuB,SAAS,CAAC;IACtC,CAAC;CAAA;AAED,MAAM,OAAO,KAAM,SAAQ,WAAW;IAAtC;;QACC,WAAM,GAAsB,QAAQ,CAAC;QACrC,SAAI,GAAgB,EAAE,CAAC;IACxB,CAAC;CAAA"}
@@ -5,13 +5,13 @@ export declare class ComparisonRow {
5
5
  }
6
6
  export declare class ComparisonColumn {
7
7
  name: string;
8
- highlighted: string;
8
+ highlighted: boolean;
9
9
  row: ComparisonRow[];
10
10
  }
11
11
  export declare class Comparison extends PageSection {
12
12
  layout: string;
13
13
  labels: string;
14
- collapse: string;
14
+ collapse: boolean;
15
15
  verdict: string;
16
16
  highlighted: string;
17
17
  rowLabels: string;
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../src/schema/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,aAAa;IACzB,KAAK,EAAE,MAAM,CAAM;IACnB,OAAO,EAAE,MAAM,CAAU;CACzB;AAED,qBAAa,gBAAgB;IAC5B,IAAI,EAAE,MAAM,CAAM;IAClB,WAAW,EAAE,MAAM,CAAW;IAC9B,GAAG,EAAE,aAAa,EAAE,CAAM;CAC1B;AAED,qBAAa,UAAW,SAAQ,WAAW;IAC1C,MAAM,EAAE,MAAM,CAAW;IACzB,MAAM,EAAE,MAAM,CAAU;IACxB,QAAQ,EAAE,MAAM,CAAU;IAC1B,OAAO,EAAE,MAAM,CAAM;IACrB,WAAW,EAAE,MAAM,CAAM;IACzB,SAAS,EAAE,MAAM,CAAQ;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAM;CAChC"}
1
+ {"version":3,"file":"comparison.d.ts","sourceRoot":"","sources":["../../src/schema/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,qBAAa,aAAa;IACzB,KAAK,EAAE,MAAM,CAAM;IACnB,OAAO,EAAE,MAAM,CAAU;CACzB;AAED,qBAAa,gBAAgB;IAC5B,IAAI,EAAE,MAAM,CAAM;IAClB,WAAW,EAAE,OAAO,CAAS;IAC7B,GAAG,EAAE,aAAa,EAAE,CAAM;CAC1B;AAED,qBAAa,UAAW,SAAQ,WAAW;IAC1C,MAAM,EAAE,MAAM,CAAW;IACzB,MAAM,EAAE,MAAM,CAAU;IACxB,QAAQ,EAAE,OAAO,CAAQ;IACzB,OAAO,EAAE,MAAM,CAAM;IACrB,WAAW,EAAE,MAAM,CAAM;IACzB,SAAS,EAAE,MAAM,CAAQ;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAM;CAChC"}
@@ -8,7 +8,7 @@ export class ComparisonRow {
8
8
  export class ComparisonColumn {
9
9
  constructor() {
10
10
  this.name = '';
11
- this.highlighted = 'false';
11
+ this.highlighted = false;
12
12
  this.row = [];
13
13
  }
14
14
  }
@@ -17,7 +17,7 @@ export class Comparison extends PageSection {
17
17
  super(...arguments);
18
18
  this.layout = 'table';
19
19
  this.labels = 'left';
20
- this.collapse = 'true';
20
+ this.collapse = true;
21
21
  this.verdict = '';
22
22
  this.highlighted = '';
23
23
  this.rowLabels = '[]';
@@ -1 +1 @@
1
- {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../src/schema/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,aAAa;IAA1B;QACC,UAAK,GAAW,EAAE,CAAC;QACnB,YAAO,GAAW,MAAM,CAAC;IAC1B,CAAC;CAAA;AAED,MAAM,OAAO,gBAAgB;IAA7B;QACC,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAW,OAAO,CAAC;QAC9B,QAAG,GAAoB,EAAE,CAAC;IAC3B,CAAC;CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,WAAW;IAA3C;;QACC,WAAM,GAAW,OAAO,CAAC;QACzB,WAAM,GAAW,MAAM,CAAC;QACxB,aAAQ,GAAW,MAAM,CAAC;QAC1B,YAAO,GAAW,EAAE,CAAC;QACrB,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAW,IAAI,CAAC;QACzB,WAAM,GAAuB,EAAE,CAAC;IACjC,CAAC;CAAA"}
1
+ {"version":3,"file":"comparison.js","sourceRoot":"","sources":["../../src/schema/comparison.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,OAAO,aAAa;IAA1B;QACC,UAAK,GAAW,EAAE,CAAC;QACnB,YAAO,GAAW,MAAM,CAAC;IAC1B,CAAC;CAAA;AAED,MAAM,OAAO,gBAAgB;IAA7B;QACC,SAAI,GAAW,EAAE,CAAC;QAClB,gBAAW,GAAY,KAAK,CAAC;QAC7B,QAAG,GAAoB,EAAE,CAAC;IAC3B,CAAC;CAAA;AAED,MAAM,OAAO,UAAW,SAAQ,WAAW;IAA3C;;QACC,WAAM,GAAW,OAAO,CAAC;QACzB,WAAM,GAAW,MAAM,CAAC;QACxB,aAAQ,GAAY,IAAI,CAAC;QACzB,YAAO,GAAW,EAAE,CAAC;QACrB,gBAAW,GAAW,EAAE,CAAC;QACzB,cAAS,GAAW,IAAI,CAAC;QACzB,WAAM,GAAuB,EAAE,CAAC;IACjC,CAAC;CAAA"}
@@ -1,7 +1,5 @@
1
1
  import { Command, LinkItem, PageSection } from "@refrakt-md/types";
2
2
  export declare class Hero extends PageSection {
3
- background: string;
4
- backgroundImage: string;
5
3
  align: string;
6
4
  action: (LinkItem | Command)[];
7
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../src/schema/hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,qBAAa,IAAK,SAAQ,WAAW;IACpC,UAAU,EAAE,MAAM,CAAM;IACxB,eAAe,EAAE,MAAM,CAAM;IAC7B,KAAK,EAAE,MAAM,CAAY;IACzB,MAAM,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAM;CACpC"}
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["../../src/schema/hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,qBAAa,IAAK,SAAQ,WAAW;IACpC,KAAK,EAAE,MAAM,CAAY;IACzB,MAAM,EAAE,CAAC,QAAQ,GAAG,OAAO,CAAC,EAAE,CAAM;CACpC"}
@@ -2,8 +2,6 @@ import { PageSection } from "@refrakt-md/types";
2
2
  export class Hero extends PageSection {
3
3
  constructor() {
4
4
  super(...arguments);
5
- this.background = '';
6
- this.backgroundImage = '';
7
5
  this.align = 'center';
8
6
  this.action = [];
9
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hero.js","sourceRoot":"","sources":["../../src/schema/hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,OAAO,IAAK,SAAQ,WAAW;IAArC;;QACC,eAAU,GAAW,EAAE,CAAC;QACxB,oBAAe,GAAW,EAAE,CAAC;QAC7B,UAAK,GAAW,QAAQ,CAAC;QACzB,WAAM,GAA2B,EAAE,CAAC;IACrC,CAAC;CAAA"}
1
+ {"version":3,"file":"hero.js","sourceRoot":"","sources":["../../src/schema/hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEnE,MAAM,OAAO,IAAK,SAAQ,WAAW;IAArC;;QACC,UAAK,GAAW,QAAQ,CAAC;QACzB,WAAM,GAA2B,EAAE,CAAC;IACrC,CAAC;CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"bento.d.ts","sourceRoot":"","sources":["../../src/tags/bento.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AAmHvC,eAAO,MAAM,SAAS,gBAA+B,CAAC;AAEtD,eAAO,MAAM,KAAK,gBAA2B,CAAC"}
1
+ {"version":3,"file":"bento.d.ts","sourceRoot":"","sources":["../../src/tags/bento.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,kBAAkB,CAAC;AA0EvC,eAAO,MAAM,SAAS,gBAA+B,CAAC;AA2EtD,eAAO,MAAM,KAAK,gBAgEhB,CAAC"}
@@ -9,28 +9,59 @@ 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, pageSectionProperties } from '@refrakt-md/runes';
12
+ import { attribute, group, Model, createComponentRenderable, createContentModelSchema, createSchema, NodeStream, RenderableNodeCursor, pageSectionProperties, asNodes } from '@refrakt-md/runes';
13
13
  import { schema } from '../types.js';
14
14
  class BentoCellModel extends Model {
15
15
  constructor() {
16
16
  super(...arguments);
17
17
  this.name = '';
18
18
  this.size = 'small';
19
+ this.span = '';
20
+ }
21
+ processChildren(nodes) {
22
+ const result = super.processChildren(nodes);
23
+ // Remove icon paragraphs from children — they're captured by @group(iconGroup)
24
+ // but @group doesn't remove them, so transformChildren() would include them in the body
25
+ return result.filter(n => {
26
+ if (n.type !== 'paragraph')
27
+ return true;
28
+ return !Array.from(n.walk()).some(c => c.type === 'tag' && c.tag === 'icon');
29
+ });
19
30
  }
20
31
  transform() {
21
32
  const nameTag = new Tag('span', {}, [this.name]);
22
33
  const sizeMeta = new Tag('meta', { content: this.size });
34
+ const iconContent = this.iconGroup
35
+ .useNode('paragraph', (node, config) => {
36
+ const iconTag = Array.from(node.walk()).find(n => n.type === 'tag' && n.tag === 'icon');
37
+ if (iconTag)
38
+ return Markdoc.transform(iconTag, config);
39
+ return Markdoc.transform(node, config);
40
+ })
41
+ .transform();
23
42
  const body = this.transformChildren().wrap('div');
43
+ const hasIcon = iconContent.count() > 0;
44
+ const properties = { name: nameTag, size: sizeMeta };
45
+ const refs = { body: body.tag('div') };
46
+ const children = [];
47
+ if (hasIcon) {
48
+ const iconWrapper = iconContent.wrap('div');
49
+ properties.icon = iconContent.tags('svg', 'span');
50
+ refs.icon = iconWrapper;
51
+ children.push(iconWrapper.next());
52
+ }
53
+ children.push(nameTag, sizeMeta);
54
+ if (this.span) {
55
+ const spanMeta = new Tag('meta', { content: this.span });
56
+ properties.span = spanMeta;
57
+ children.push(spanMeta);
58
+ }
59
+ children.push(body.next());
24
60
  return createComponentRenderable(schema.BentoCell, {
25
61
  tag: 'div',
26
- properties: {
27
- name: nameTag,
28
- size: sizeMeta,
29
- },
30
- refs: {
31
- body: body.tag('div'),
32
- },
33
- children: [nameTag, sizeMeta, body.next()],
62
+ properties,
63
+ refs,
64
+ children,
34
65
  });
35
66
  }
36
67
  }
@@ -42,61 +73,120 @@ __decorate([
42
73
  attribute({ type: String, required: false }),
43
74
  __metadata("design:type", String)
44
75
  ], BentoCellModel.prototype, "size", void 0);
45
- class BentoModel extends Model {
46
- constructor() {
47
- super(...arguments);
48
- this.headingLevel = 2;
49
- this.gap = '1rem';
50
- this.columns = 4;
76
+ __decorate([
77
+ attribute({ type: String, required: false }),
78
+ __metadata("design:type", String)
79
+ ], BentoCellModel.prototype, "span", void 0);
80
+ __decorate([
81
+ group({ include: [{ node: 'paragraph', descendantTag: 'icon' }] }),
82
+ __metadata("design:type", NodeStream)
83
+ ], BentoCellModel.prototype, "iconGroup", void 0);
84
+ export const bentoCell = createSchema(BentoCellModel);
85
+ function tieredSize(headingLevel, level) {
86
+ const diff = level - headingLevel;
87
+ if (headingLevel === 1) {
88
+ if (diff === 0)
89
+ return 'full';
90
+ if (diff === 1)
91
+ return 'large';
92
+ if (diff === 2)
93
+ return 'medium';
94
+ return 'small';
51
95
  }
52
- convertHeadings(nodes) {
53
- const baseLevel = this.headingLevel;
54
- const preamble = [];
55
- const cells = [];
56
- let currentHeading = null;
57
- let currentChildren = [];
58
- let seenFirstCellHeading = false;
59
- const flush = () => {
60
- if (currentHeading) {
61
- const level = currentHeading.attributes?.level ?? baseLevel;
62
- const name = Array.from(currentHeading.walk())
63
- .filter(n => n.type === 'text')
64
- .map(t => t.attributes.content).join(' ');
65
- const diff = level - baseLevel;
66
- const size = diff === 0 ? 'large' : diff === 1 ? 'medium' : 'small';
67
- cells.push(new Ast.Node('tag', { name, size }, currentChildren, 'bento-cell'));
96
+ if (diff === 0)
97
+ return 'large';
98
+ if (diff === 1)
99
+ return 'medium';
100
+ return 'small';
101
+ }
102
+ function spanForLevel(level, columns) {
103
+ return Math.max(1, Math.min(columns, columns + 1 - level));
104
+ }
105
+ function convertHeadings(nodes, headingLevel, sizing, columns) {
106
+ const baseLevel = headingLevel;
107
+ const isSpanMode = sizing === 'span';
108
+ // In span mode, default to 6 columns (matches 6 heading levels)
109
+ const effectiveColumns = isSpanMode && columns === 4 ? 6 : columns;
110
+ const preamble = [];
111
+ const cells = [];
112
+ let currentHeading = null;
113
+ let currentChildren = [];
114
+ let seenFirstCellHeading = false;
115
+ const flush = () => {
116
+ if (currentHeading) {
117
+ const level = currentHeading.attributes?.level ?? baseLevel;
118
+ const name = Array.from(currentHeading.walk())
119
+ .filter(n => n.type === 'text')
120
+ .map(t => t.attributes.content).join(' ');
121
+ const iconTag = Array.from(currentHeading.walk()).find(n => n.type === 'tag' && n.tag === 'icon');
122
+ const cellChildren = iconTag
123
+ ? [new Ast.Node('paragraph', {}, [iconTag]), ...currentChildren]
124
+ : [...currentChildren];
125
+ if (isSpanMode) {
126
+ const spanValue = spanForLevel(level, effectiveColumns);
127
+ cells.push(new Ast.Node('tag', { name, size: 'span', span: String(spanValue) }, cellChildren, 'bento-cell'));
68
128
  }
69
- };
70
- for (const node of nodes) {
71
- if (node.type === 'heading' && node.attributes.level >= baseLevel) {
72
- seenFirstCellHeading = true;
73
- flush();
74
- currentHeading = node;
75
- currentChildren = [];
129
+ else {
130
+ const size = tieredSize(baseLevel, level);
131
+ cells.push(new Ast.Node('tag', { name, size }, cellChildren, 'bento-cell'));
76
132
  }
77
- else if (!seenFirstCellHeading) {
78
- preamble.push(node);
133
+ }
134
+ };
135
+ for (const node of nodes) {
136
+ if (node.type === 'heading' && node.attributes.level >= baseLevel) {
137
+ seenFirstCellHeading = true;
138
+ flush();
139
+ currentHeading = node;
140
+ currentChildren = [];
141
+ }
142
+ else if (!seenFirstCellHeading) {
143
+ preamble.push(node);
144
+ }
145
+ else {
146
+ currentChildren.push(node);
147
+ }
148
+ }
149
+ flush();
150
+ return [...preamble, ...cells];
151
+ }
152
+ export const bento = createContentModelSchema({
153
+ attributes: {
154
+ headingLevel: { type: Number, required: false },
155
+ gap: { type: String, required: false },
156
+ columns: { type: Number, required: false },
157
+ sizing: { type: String, required: false, matches: ['tiered', 'span'] },
158
+ },
159
+ contentModel: (attrs) => ({
160
+ type: 'custom',
161
+ processChildren: (nodes) => convertHeadings(nodes, attrs.headingLevel ?? 2, attrs.sizing ?? 'tiered', attrs.columns ?? 4),
162
+ description: 'Converts headings to bento grid cells with size based on heading level. Supports tiered sizing (large/medium/small) and span mode (column span based on level).',
163
+ }),
164
+ transform(resolved, attrs, config) {
165
+ const allChildren = asNodes(resolved.children);
166
+ // Separate header content (pre-heading paragraphs) from cell tag nodes
167
+ const headerAst = [];
168
+ const cellAst = [];
169
+ for (const child of allChildren) {
170
+ if (child.type === 'tag' && child.tag === 'bento-cell') {
171
+ cellAst.push(child);
79
172
  }
80
173
  else {
81
- currentChildren.push(node);
174
+ headerAst.push(child);
82
175
  }
83
176
  }
84
- flush();
85
- return [...preamble, ...cells];
86
- }
87
- processChildren(nodes) {
88
- return super.processChildren(this.convertHeadings(nodes));
89
- }
90
- transform() {
91
- const header = this.header.transform();
92
- const cellStream = this.cellgroup.transform();
93
- const gapMeta = new Tag('meta', { content: this.gap });
94
- const columnsMeta = new Tag('meta', { content: String(this.columns) });
177
+ const header = new RenderableNodeCursor(Markdoc.transform(headerAst, config));
178
+ const cellStream = new RenderableNodeCursor(Markdoc.transform(cellAst, config));
179
+ const sizing = attrs.sizing ?? 'tiered';
180
+ const columns = attrs.columns ?? 4;
181
+ const effectiveColumns = sizing === 'span' && columns === 4 ? 6 : columns;
182
+ const gapMeta = new Tag('meta', { 'data-field': 'gap', content: attrs.gap ?? '1rem' });
183
+ const columnsMeta = new Tag('meta', { 'data-field': 'columns', content: String(effectiveColumns) });
184
+ const sizingMeta = new Tag('meta', { 'data-field': 'sizing', content: sizing });
95
185
  const cells = cellStream.tag('div').typeof('BentoCell');
96
186
  const grid = cells.wrap('div');
97
187
  const children = header.count() > 0
98
- ? [header.wrap('header').next(), gapMeta, columnsMeta, grid.next()]
99
- : [gapMeta, columnsMeta, grid.next()];
188
+ ? [header.wrap('header').next(), gapMeta, columnsMeta, sizingMeta, grid.next()]
189
+ : [gapMeta, columnsMeta, sizingMeta, grid.next()];
100
190
  return createComponentRenderable(schema.Bento, {
101
191
  tag: 'section',
102
192
  property: 'contentSection',
@@ -107,28 +197,6 @@ class BentoModel extends Model {
107
197
  refs: { grid },
108
198
  children,
109
199
  });
110
- }
111
- }
112
- __decorate([
113
- attribute({ type: Number, required: false }),
114
- __metadata("design:type", Number)
115
- ], BentoModel.prototype, "headingLevel", void 0);
116
- __decorate([
117
- attribute({ type: String, required: false }),
118
- __metadata("design:type", String)
119
- ], BentoModel.prototype, "gap", void 0);
120
- __decorate([
121
- attribute({ type: Number, required: false }),
122
- __metadata("design:type", Number)
123
- ], BentoModel.prototype, "columns", void 0);
124
- __decorate([
125
- group({ include: ['heading', 'paragraph'] }),
126
- __metadata("design:type", NodeStream)
127
- ], BentoModel.prototype, "header", void 0);
128
- __decorate([
129
- group({ include: ['tag'] }),
130
- __metadata("design:type", NodeStream)
131
- ], BentoModel.prototype, "cellgroup", void 0);
132
- export const bentoCell = createSchema(BentoCellModel);
133
- export const bento = createSchema(BentoModel);
200
+ },
201
+ });
134
202
  //# sourceMappingURL=bento.js.map