@toon-ui/core 1.1.0 → 1.2.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.
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyM,KAAK,YAAY,EAAE,KAAK,aAAa,EAAiB,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAO5S,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,eAAe;CAOnC;AAqMD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA2BxD"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAmCL,KAAK,YAAY,EACjB,KAAK,aAAa,EAGlB,KAAK,eAAe,EACrB,MAAM,SAAS,CAAC;AAOjB,qBAAa,eAAgB,SAAQ,KAAK;IACxC,IAAI,EAAE,aAAa,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;gBAEH,KAAK,EAAE,eAAe;CAOnC;AAuaD,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CA2BxD"}
package/dist/parser.js CHANGED
@@ -1,4 +1,4 @@
1
- import { OFFICIAL_COMPONENT_KEYS } from './types';
1
+ import { OFFICIAL_COMPONENT_KEYS, } from './types';
2
2
  export class ToonSyntaxError extends Error {
3
3
  code;
4
4
  line;
@@ -11,13 +11,35 @@ export class ToonSyntaxError extends Error {
11
11
  this.column = issue.column ?? 1;
12
12
  }
13
13
  }
14
- const quoted = /"([^"]+)"/g;
14
+ const quoted = /"([^"]*)"/g;
15
15
  function getIndent(line) {
16
16
  return line.match(/^\s*/)?.[0].length ?? 0;
17
17
  }
18
18
  function getQuotedValues(input) {
19
19
  return [...input.matchAll(quoted)].map((match) => match[1]);
20
20
  }
21
+ function getStringAttribute(input, name) {
22
+ return input.match(new RegExp(`${name}="([^"]*)"`))?.[1];
23
+ }
24
+ function getNumberAttribute(input, name) {
25
+ const value = input.match(new RegExp(`${name}=([^\s]+)`))?.[1];
26
+ if (value === undefined)
27
+ return undefined;
28
+ const parsed = Number(value);
29
+ return Number.isNaN(parsed) ? undefined : parsed;
30
+ }
31
+ function getBooleanAttribute(input, name) {
32
+ const value = input.match(new RegExp(`${name}=(true|false)`))?.[1];
33
+ if (value === undefined)
34
+ return undefined;
35
+ return value === 'true';
36
+ }
37
+ function getDelimitedAttribute(input, name, delimiter = '|') {
38
+ const value = getStringAttribute(input, name);
39
+ if (!value)
40
+ return undefined;
41
+ return value.split(delimiter).map((entry) => entry.trim()).filter(Boolean);
42
+ }
21
43
  function parseDelimitedValues(input) {
22
44
  const values = [];
23
45
  let current = '';
@@ -50,6 +72,32 @@ function parseDelimitedValues(input) {
50
72
  }
51
73
  return values.map((value) => value.replace(/^"(.*)"$/s, '$1').trim());
52
74
  }
75
+ function parseActionDescriptor(input, line, column) {
76
+ const replyMatch = input.match(/reply="([^"]+)"/);
77
+ const isSubmit = /\bsubmit\b/.test(input);
78
+ if (!replyMatch && !isSubmit)
79
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: action requires reply or submit.`, line, column);
80
+ return replyMatch ? { kind: 'reply', value: replyMatch[1] } : { kind: 'submit' };
81
+ }
82
+ function parseFieldValue(fieldType, input) {
83
+ if (fieldType === 'multiselect') {
84
+ return input.split('|').map((entry) => entry.trim()).filter(Boolean);
85
+ }
86
+ if (fieldType === 'checkbox' || fieldType === 'switch') {
87
+ return input === 'true';
88
+ }
89
+ if (fieldType === 'number' || fieldType === 'slider') {
90
+ const parsed = Number(input);
91
+ return Number.isNaN(parsed) ? input : parsed;
92
+ }
93
+ return input;
94
+ }
95
+ function getVariantBeforeQuotedValue(input, prefix) {
96
+ const head = input.slice(prefix.length).trim();
97
+ if (head.startsWith('"'))
98
+ return undefined;
99
+ return head.split(/\s+/)[0];
100
+ }
53
101
  function syntaxIssue(code, message, line, column = 1) {
54
102
  throw new ToonSyntaxError({ code, message, line, column });
55
103
  }
@@ -59,10 +107,21 @@ function basePosition(line, raw) {
59
107
  function parseLine(content, line, column) {
60
108
  if (content.startsWith('text ')) {
61
109
  const [value] = getQuotedValues(content);
62
- if (!value)
110
+ if (value === undefined)
63
111
  syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: text requires a quoted value.`, line, column);
64
112
  return { type: 'text', value, line, column };
65
113
  }
114
+ if (content.startsWith('heading ')) {
115
+ const [text] = getQuotedValues(content);
116
+ const level = Number(content.trim().split(/\s+/)[1]);
117
+ if (!text || Number.isNaN(level))
118
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: heading requires level and quoted text.`, line, column);
119
+ return { type: 'heading', level: level, text, line, column };
120
+ }
121
+ if (content.startsWith('separator')) {
122
+ const orientation = content.trim().split(/\s+/)[1] ?? 'horizontal';
123
+ return { type: 'separator', orientation: orientation, line, column };
124
+ }
66
125
  if (content.startsWith('badge ')) {
67
126
  const [label] = getQuotedValues(content);
68
127
  const variant = content.trim().split(/\s+/).at(-1);
@@ -75,15 +134,11 @@ function parseLine(content, line, column) {
75
134
  const variant = content.trim().split(/\s+/)[1];
76
135
  if (!label || !variant)
77
136
  syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: button requires variant and label.`, line, column);
78
- const replyMatch = content.match(/reply="([^"]+)"/);
79
- const isSubmit = /\bsubmit\b/.test(content);
80
- if (!replyMatch && !isSubmit)
81
- syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: button requires reply or submit.`, line, column);
82
137
  return {
83
138
  type: 'button',
84
139
  variant: variant,
85
140
  label,
86
- action: replyMatch ? { kind: 'reply', value: replyMatch[1] } : { kind: 'submit' },
141
+ action: parseActionDescriptor(content, line, column),
87
142
  line,
88
143
  column,
89
144
  };
@@ -91,16 +146,23 @@ function parseLine(content, line, column) {
91
146
  if (content.startsWith('field ')) {
92
147
  const tokens = content.trim().split(/\s+/);
93
148
  const [label] = getQuotedValues(content);
94
- const placeholderMatch = content.match(/placeholder="([^"]+)"/);
149
+ const fieldType = tokens[2];
95
150
  if (tokens.length < 4 || !label)
96
151
  syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: field requires name, type and label.`, line, column);
152
+ const value = getStringAttribute(content, 'value');
97
153
  return {
98
154
  type: 'field',
99
155
  name: tokens[1],
100
- fieldType: tokens[2],
156
+ fieldType,
101
157
  label,
102
- placeholder: placeholderMatch?.[1],
158
+ placeholder: getStringAttribute(content, 'placeholder'),
159
+ helper: getStringAttribute(content, 'helper'),
103
160
  required: /\brequired\b/.test(content),
161
+ options: getDelimitedAttribute(content, 'options'),
162
+ min: getNumberAttribute(content, 'min'),
163
+ max: getNumberAttribute(content, 'max'),
164
+ step: getNumberAttribute(content, 'step'),
165
+ value: value === undefined ? undefined : parseFieldValue(fieldType, value),
104
166
  line,
105
167
  column,
106
168
  };
@@ -115,7 +177,14 @@ function parseLine(content, line, column) {
115
177
  const [title] = getQuotedValues(content);
116
178
  if (!title || !content.endsWith(':'))
117
179
  syntaxIssue('INVALID_SYNTAX', `Line ${line}: confirm requires a title and nested block.`, line, column);
118
- return { type: 'confirm', title, children: [], line, column };
180
+ return {
181
+ type: 'confirm',
182
+ variant: (getVariantBeforeQuotedValue(content, 'confirm') ?? 'neutral'),
183
+ title,
184
+ children: [],
185
+ line,
186
+ column,
187
+ };
119
188
  }
120
189
  if (content.startsWith('form ')) {
121
190
  const [title] = getQuotedValues(content);
@@ -148,6 +217,155 @@ function parseLine(content, line, column) {
148
217
  syntaxIssue('INVALID_SYNTAX', `Line ${line}: table requires a title and nested block.`, line, column);
149
218
  return { type: 'table', title, columns: [], rows: [], line, column };
150
219
  }
220
+ if (content.startsWith('empty ')) {
221
+ const [title] = getQuotedValues(content);
222
+ if (!title || !content.endsWith(':'))
223
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: empty requires a title and nested block.`, line, column);
224
+ return { type: 'empty', title, children: [], line, column };
225
+ }
226
+ if (content.startsWith('tabs ')) {
227
+ const [title] = getQuotedValues(content);
228
+ if (!title || !content.endsWith(':'))
229
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: tabs requires a title and nested block.`, line, column);
230
+ return { type: 'tabs', title, children: [], line, column };
231
+ }
232
+ if (content.startsWith('tab ')) {
233
+ const [label] = getQuotedValues(content);
234
+ if (!label || !content.endsWith(':'))
235
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: tab requires a label and nested block.`, line, column);
236
+ return { type: 'tab', label, children: [], line, column };
237
+ }
238
+ if (content.startsWith('accordion ')) {
239
+ const [title] = getQuotedValues(content);
240
+ if (!title || !content.endsWith(':'))
241
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: accordion requires a title and nested block.`, line, column);
242
+ return { type: 'accordion', title, children: [], line, column };
243
+ }
244
+ if (content.startsWith('section ')) {
245
+ const [title] = getQuotedValues(content);
246
+ if (!title || !content.endsWith(':'))
247
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: section requires a title and nested block.`, line, column);
248
+ return { type: 'section', title, children: [], line, column };
249
+ }
250
+ if (content.startsWith('dialog ')) {
251
+ const [title] = getQuotedValues(content);
252
+ if (!title || !content.endsWith(':'))
253
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: dialog requires a title and nested block.`, line, column);
254
+ return { type: 'dialog', title, children: [], line, column };
255
+ }
256
+ if (content.startsWith('sheet ')) {
257
+ const [title] = getQuotedValues(content);
258
+ if (!title || !content.endsWith(':'))
259
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: sheet requires a title and nested block.`, line, column);
260
+ return { type: 'sheet', title, side: (getStringAttribute(content, 'side') ?? 'right'), children: [], line, column };
261
+ }
262
+ if (content.startsWith('popover ')) {
263
+ const [title] = getQuotedValues(content);
264
+ if (!title || !content.endsWith(':'))
265
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: popover requires a title and nested block.`, line, column);
266
+ return { type: 'popover', title, children: [], line, column };
267
+ }
268
+ if (content.startsWith('tooltip ')) {
269
+ const [text] = getQuotedValues(content);
270
+ if (!text)
271
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: tooltip requires quoted text.`, line, column);
272
+ return { type: 'tooltip', text, line, column };
273
+ }
274
+ if (content.startsWith('progress ')) {
275
+ const [label] = getQuotedValues(content);
276
+ const value = getNumberAttribute(content, 'value');
277
+ const max = getNumberAttribute(content, 'max');
278
+ if (!label || value === undefined || max === undefined)
279
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: progress requires label, value and max.`, line, column);
280
+ return { type: 'progress', label, value, max, line, column };
281
+ }
282
+ if (content.startsWith('loading ')) {
283
+ const [text] = getQuotedValues(content);
284
+ if (!text)
285
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: loading requires quoted text.`, line, column);
286
+ return { type: 'loading', text, line, column };
287
+ }
288
+ if (content.startsWith('toast ')) {
289
+ const [text] = getQuotedValues(content);
290
+ const variant = content.trim().split(/\s+/)[1];
291
+ if (!text || !variant)
292
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: toast requires variant and quoted text.`, line, column);
293
+ return { type: 'toast', variant: variant, text, line, column };
294
+ }
295
+ if (content === 'breadcrumb:' || content.startsWith('breadcrumb ')) {
296
+ if (!content.endsWith(':'))
297
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: breadcrumb requires a nested block.`, line, column);
298
+ return { type: 'breadcrumb', children: [], line, column };
299
+ }
300
+ if (content.startsWith('crumb ')) {
301
+ const [label] = getQuotedValues(content);
302
+ if (!label)
303
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: crumb requires quoted text.`, line, column);
304
+ const reply = getStringAttribute(content, 'reply');
305
+ return { type: 'crumb', label, action: reply ? { kind: 'reply', value: reply } : undefined, line, column };
306
+ }
307
+ if (content.startsWith('pagination ')) {
308
+ const page = getNumberAttribute(content, 'page');
309
+ const totalPages = getNumberAttribute(content, 'totalPages');
310
+ if (page === undefined || totalPages === undefined)
311
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: pagination requires page and totalPages.`, line, column);
312
+ return { type: 'pagination', page, totalPages, line, column };
313
+ }
314
+ if (content.startsWith('menu ')) {
315
+ const [title] = getQuotedValues(content);
316
+ if (!title || !content.endsWith(':'))
317
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: menu requires a title and nested block.`, line, column);
318
+ return { type: 'menu', title, children: [], line, column };
319
+ }
320
+ if (content.startsWith('command ')) {
321
+ const [title] = getQuotedValues(content);
322
+ if (!title || !content.endsWith(':'))
323
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: command requires a title and nested block.`, line, column);
324
+ return { type: 'command', title, children: [], line, column };
325
+ }
326
+ if (content.startsWith('action ')) {
327
+ const [label] = getQuotedValues(content);
328
+ if (!label)
329
+ syntaxIssue('MISSING_REQUIRED_FIELD', `Line ${line}: action requires quoted text.`, line, column);
330
+ return {
331
+ type: 'action',
332
+ label,
333
+ action: parseActionDescriptor(content, line, column),
334
+ variant: getStringAttribute(content, 'variant'),
335
+ line,
336
+ column,
337
+ };
338
+ }
339
+ if (content.startsWith('chart ')) {
340
+ const [title] = getQuotedValues(content);
341
+ const chartType = content.trim().split(/\s+/)[1];
342
+ if (!title || !chartType || !content.endsWith(':'))
343
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: chart requires type, title and nested block.`, line, column);
344
+ return {
345
+ type: 'chart',
346
+ chartType: chartType,
347
+ title,
348
+ xLabel: getStringAttribute(content, 'x'),
349
+ yLabel: getStringAttribute(content, 'y'),
350
+ children: [],
351
+ line,
352
+ column,
353
+ };
354
+ }
355
+ if (content.startsWith('series ')) {
356
+ const [label] = getQuotedValues(content);
357
+ if (!label || !content.endsWith(':'))
358
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: series requires a label and nested block.`, line, column);
359
+ return { type: 'series', label, children: [], line, column };
360
+ }
361
+ if (content.startsWith('point ')) {
362
+ const [label] = getQuotedValues(content);
363
+ const valueText = content.trim().match(/"[^"]*"\s+([^\s]+)$/)?.[1];
364
+ const value = valueText === undefined ? Number.NaN : Number(valueText);
365
+ if (!label || Number.isNaN(value))
366
+ syntaxIssue('INVALID_SYNTAX', `Line ${line}: point requires a quoted label and numeric value.`, line, column);
367
+ return { type: 'point', label, value, line, column };
368
+ }
151
369
  if (content.startsWith('columns:')) {
152
370
  const columns = parseDelimitedValues(content.replace('columns:', ''));
153
371
  return { type: 'table', title: '__columns__', columns, rows: [], line, column };
@@ -163,14 +381,13 @@ function parseLine(content, line, column) {
163
381
  syntaxIssue('INVALID_SYNTAX', `Line ${line}: invalid ToonUI syntax.`, line, column);
164
382
  }
165
383
  function appendNode(parent, node) {
384
+ if (node.type === 'table' && (node.title === '__columns__' || node.title === '__row__') && parent.type !== 'table') {
385
+ syntaxIssue('INVALID_NESTING', `Line ${node.line}: tables only support columns and row entries inside table blocks.`, node.line, node.column);
386
+ }
166
387
  if (parent.type === 'document') {
167
388
  parent.body.push(node);
168
389
  return;
169
390
  }
170
- if ('children' in parent && Array.isArray(parent.children)) {
171
- parent.children.push(node);
172
- return;
173
- }
174
391
  if (parent.type === 'table') {
175
392
  if (node.type !== 'table') {
176
393
  syntaxIssue('INVALID_NESTING', `Line ${node.line}: tables only support columns and row entries.`, node.line, node.column);
@@ -184,6 +401,10 @@ function appendNode(parent, node) {
184
401
  return;
185
402
  }
186
403
  }
404
+ if ('children' in parent && Array.isArray(parent.children)) {
405
+ parent.children.push(node);
406
+ return;
407
+ }
187
408
  syntaxIssue('INVALID_NESTING', `Line ${node.line}: cannot append ${node.type} inside ${parent.type}.`, node.line, node.column);
188
409
  }
189
410
  export function parseToonUI(source) {
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
package/dist/prompts.d.ts CHANGED
@@ -3,7 +3,10 @@ export declare function createComponentPrompt(rules: ToonRules): string;
3
3
  export declare function createSyntaxPrompt(): string;
4
4
  export declare function createFallbackPrompt(): string;
5
5
  export declare function createSafetyPrompt(): string;
6
+ export declare function createCompositionPrompt(): string;
7
+ export declare function createFormBestPracticesPrompt(): string;
6
8
  export declare function createDecisionPrompt(): string;
9
+ export declare function createSelfCheckPrompt(): string;
7
10
  export declare function createExamplesPrompt(): string;
8
11
  export declare function createPrompt(rules: ToonRules): string;
9
12
  //# sourceMappingURL=prompts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAQ9D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAkB3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAY7C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAiD7C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAsBrD"}
1
+ {"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAU9D;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAgC3C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAS7C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAU3C;AAED,wBAAgB,uBAAuB,IAAI,MAAM,CAchD;AAED,wBAAgB,6BAA6B,IAAI,MAAM,CAgBtD;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAqB7C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAU9C;AAED,wBAAgB,oBAAoB,IAAI,MAAM,CAuF7C;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CA8BrD"}