aiex-cli 0.0.7-beta.1 → 0.0.7-beta.2
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.
- package/dist/cli.mjs +17 -9
- package/dist/{generate-drizzle-schema-D0o_j12G.mjs → generate-drizzle-schema-D_oDmf4J.mjs} +137 -59
- package/dist/index.d.mts +22 -2
- package/dist/index.mjs +1 -1
- package/dist/table-schema.json +18 -0
- package/dist/web/assets/{JsonSchemaEditor-CfPzcMKJ.js → JsonSchemaEditor-ITVm2zG1.js} +1 -1
- package/dist/web/assets/{index-D7eI2nAX.js → index-BL42R5MF.js} +3 -3
- package/dist/web/assets/object-utils-CqCiBqJ4.js +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/web/assets/object-utils-C6FkG7fw.js +0 -1
package/dist/cli.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { C as PLACEHOLDER_TEXT, D as name, E as description, O as package_default, S as PLACEHOLDER_SCHEMA, T as seedConfig, _ as doctorDiagnosticsTableRows, a as recognizeImageText, b as DEFAULT_MINERU_CONFIG, c as t, d as writeAIConfig, f as AIConfigSchema, h as toSnakeCase, k as version, l as getDefaultAIConfig, m as parseJsonSchema, n as collectDoctorDiagnostics, o as shouldUseImageOcrFallback, p as JsonSchemaDefinitionSchema, r as createMigrationConfig, s as initI18n, t as generateDrizzleSchema, u as readAIConfig, v as formatDoctorDiagnosticsJson, w as createConfig, x as DEFAULT_PROMPT_CONFIG, y as DEFAULT_MINERU_API_CONFIG } from "./generate-drizzle-schema-
|
|
1
|
+
import { C as PLACEHOLDER_TEXT, D as name, E as description, O as package_default, S as PLACEHOLDER_SCHEMA, T as seedConfig, _ as doctorDiagnosticsTableRows, a as recognizeImageText, b as DEFAULT_MINERU_CONFIG, c as t, d as writeAIConfig, f as AIConfigSchema, h as toSnakeCase, k as version, l as getDefaultAIConfig, m as parseJsonSchema, n as collectDoctorDiagnostics, o as shouldUseImageOcrFallback, p as JsonSchemaDefinitionSchema, r as createMigrationConfig, s as initI18n, t as generateDrizzleSchema, u as readAIConfig, v as formatDoctorDiagnosticsJson, w as createConfig, x as DEFAULT_PROMPT_CONFIG, y as DEFAULT_MINERU_API_CONFIG } from "./generate-drizzle-schema-D_oDmf4J.mjs";
|
|
2
2
|
import { createRequire } from "node:module";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import os from "node:os";
|
|
@@ -1500,11 +1500,23 @@ function propertyToDescription(name$1, prop, indent = "") {
|
|
|
1500
1500
|
const lines = [];
|
|
1501
1501
|
let typeStr = prop.type;
|
|
1502
1502
|
if (prop.type === "array" && prop.items) typeStr = `array of ${prop.items.type}`;
|
|
1503
|
-
|
|
1503
|
+
const tags = [];
|
|
1504
|
+
if (prop.primary) tags.push("primary key");
|
|
1505
|
+
const tagStr = tags.length > 0 ? ` (${tags.join(", ")})` : "";
|
|
1506
|
+
lines.push(`${indent}- ${name$1}: ${typeStr}${tagStr}`);
|
|
1507
|
+
if (prop.description) lines.push(`${indent} description: ${prop.description}`);
|
|
1508
|
+
if (prop.enum && prop.enum.length > 0) lines.push(`${indent} allowed values: ${prop.enum.map((v) => JSON.stringify(v)).join(", ")}`);
|
|
1509
|
+
if (prop.pattern) lines.push(`${indent} pattern: ${prop.pattern}`);
|
|
1504
1510
|
if (prop.minLength !== void 0 || prop.maxLength !== void 0) lines.push(`${indent} length: ${prop.minLength ?? 0} - ${prop.maxLength ?? "unlimited"}`);
|
|
1511
|
+
if (prop.minimum !== void 0 || prop.maximum !== void 0) lines.push(`${indent} range: ${prop.minimum ?? "-∞"} - ${prop.maximum ?? "∞"}`);
|
|
1505
1512
|
if (prop.format) lines.push(`${indent} format: ${prop.format}`);
|
|
1506
1513
|
if (prop.unique) lines.push(`${indent} unique: true`);
|
|
1507
1514
|
if (prop.default !== void 0) lines.push(`${indent} default: ${JSON.stringify(prop.default)}`);
|
|
1515
|
+
if (prop.examples && prop.examples.length > 0) {
|
|
1516
|
+
const rendered = prop.examples.map((v) => JSON.stringify(v)).join(", ");
|
|
1517
|
+
lines.push(`${indent} examples: ${rendered}`);
|
|
1518
|
+
}
|
|
1519
|
+
if (prop.xPrompt) lines.push(`${indent} extraction hint: ${prop.xPrompt}`);
|
|
1508
1520
|
return lines.join("\n");
|
|
1509
1521
|
}
|
|
1510
1522
|
function nestedPropertyToDescription(name$1, prop, indent = "") {
|
|
@@ -2084,13 +2096,9 @@ Please output the corrected JSON object now:`;
|
|
|
2084
2096
|
|
|
2085
2097
|
//#endregion
|
|
2086
2098
|
//#region src/infrastructure/extraction/insert-extracted-data.ts
|
|
2087
|
-
const DRIZZLE_MODE_RE = /mode:\s*'(\w+)'/;
|
|
2088
|
-
function extractDrizzleMode(column) {
|
|
2089
|
-
return column.drizzleType.match(DRIZZLE_MODE_RE)?.[1];
|
|
2090
|
-
}
|
|
2091
2099
|
function convertValue(value, column) {
|
|
2092
2100
|
if (value === null || value === void 0) return null;
|
|
2093
|
-
const mode =
|
|
2101
|
+
const mode = column.columnType.class !== "real" ? column.columnType.mode : void 0;
|
|
2094
2102
|
if (mode === "json") return typeof value === "string" ? value : JSON.stringify(value);
|
|
2095
2103
|
if (mode === "boolean") return value ? 1 : 0;
|
|
2096
2104
|
if (mode === "timestamp" || mode === "timestamp_ms") {
|
|
@@ -2110,9 +2118,9 @@ function buildInsertSql(table, data) {
|
|
|
2110
2118
|
if (col.isAutoIncrement) continue;
|
|
2111
2119
|
const value = data[col.name];
|
|
2112
2120
|
if (value === void 0) {
|
|
2113
|
-
if (col.
|
|
2121
|
+
if (col.default !== void 0) {
|
|
2114
2122
|
columns.push(col.name);
|
|
2115
|
-
values.push(convertValue(
|
|
2123
|
+
values.push(convertValue(col.default, col));
|
|
2116
2124
|
}
|
|
2117
2125
|
continue;
|
|
2118
2126
|
}
|
|
@@ -11,7 +11,7 @@ import { z } from "zod";
|
|
|
11
11
|
|
|
12
12
|
//#region package.json
|
|
13
13
|
var name = "aiex-cli";
|
|
14
|
-
var version = "0.0.7-beta.
|
|
14
|
+
var version = "0.0.7-beta.2";
|
|
15
15
|
var description = "JSON Schema → SQLite with AI-powered data extraction";
|
|
16
16
|
var package_default = {
|
|
17
17
|
name,
|
|
@@ -296,57 +296,91 @@ function doctorDiagnosticsTableRows(d) {
|
|
|
296
296
|
function toSnakeCase(str) {
|
|
297
297
|
return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
298
298
|
}
|
|
299
|
-
function
|
|
300
|
-
const snakeName = toSnakeCase(name$1);
|
|
301
|
-
let drizzleType;
|
|
302
|
-
const isPrimary = property.primary ?? false;
|
|
303
|
-
const isAutoIncrement = property.autoIncrement ?? false;
|
|
299
|
+
function mapColumnType(property) {
|
|
304
300
|
switch (property.type) {
|
|
305
301
|
case "string": {
|
|
306
302
|
const format = property.format;
|
|
307
|
-
if (format === "date-time" || property.drizzle?.mode === "timestamp")
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
303
|
+
if (format === "date-time" || property.drizzle?.mode === "timestamp") return {
|
|
304
|
+
class: "integer",
|
|
305
|
+
mode: "timestamp"
|
|
306
|
+
};
|
|
307
|
+
if (format === "json" || property.drizzle?.mode === "json") return {
|
|
308
|
+
class: "text",
|
|
309
|
+
mode: "json"
|
|
310
|
+
};
|
|
311
|
+
return { class: "text" };
|
|
311
312
|
}
|
|
312
313
|
case "integer": {
|
|
313
314
|
const mode = property.drizzle?.mode;
|
|
314
|
-
if (mode === "boolean"
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
315
|
+
if (mode === "boolean" || mode === "timestamp" || mode === "timestamp_ms" || mode === "bigint") return {
|
|
316
|
+
class: "integer",
|
|
317
|
+
mode
|
|
318
|
+
};
|
|
319
|
+
return { class: "integer" };
|
|
319
320
|
}
|
|
320
|
-
case "number":
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
break;
|
|
321
|
+
case "number": return { class: "real" };
|
|
322
|
+
case "boolean": return {
|
|
323
|
+
class: "integer",
|
|
324
|
+
mode: "boolean"
|
|
325
|
+
};
|
|
326
326
|
case "object":
|
|
327
|
-
case "array":
|
|
328
|
-
|
|
329
|
-
|
|
327
|
+
case "array": return {
|
|
328
|
+
class: "text",
|
|
329
|
+
mode: "json"
|
|
330
|
+
};
|
|
330
331
|
case "null":
|
|
331
|
-
|
|
332
|
-
break;
|
|
333
|
-
default: drizzleType = "text()";
|
|
332
|
+
default: return { class: "text" };
|
|
334
333
|
}
|
|
334
|
+
}
|
|
335
|
+
function mapPropertyToColumn(name$1, property, isRequired) {
|
|
335
336
|
return {
|
|
336
|
-
name:
|
|
337
|
-
|
|
338
|
-
isPrimary,
|
|
339
|
-
isAutoIncrement,
|
|
340
|
-
isNullable: !isRequired && !
|
|
337
|
+
name: toSnakeCase(name$1),
|
|
338
|
+
columnType: mapColumnType(property),
|
|
339
|
+
isPrimary: property.primary ?? false,
|
|
340
|
+
isAutoIncrement: property.autoIncrement ?? false,
|
|
341
|
+
isNullable: !isRequired && !property.primary,
|
|
341
342
|
isUnique: property.unique ?? false,
|
|
342
|
-
|
|
343
|
+
default: property.default,
|
|
343
344
|
isForeignKey: property.foreignKey !== void 0,
|
|
344
345
|
foreignKeyRef: property.foreignKey ?? void 0
|
|
345
346
|
};
|
|
346
347
|
}
|
|
348
|
+
function getColumnChecks(prop, colName) {
|
|
349
|
+
const checks = [];
|
|
350
|
+
if (prop.type === "string") {
|
|
351
|
+
if (prop.minLength !== void 0 && prop.minLength > 0) checks.push({
|
|
352
|
+
name: `${colName}_min_length`,
|
|
353
|
+
column: colName,
|
|
354
|
+
kind: "min_length",
|
|
355
|
+
value: prop.minLength
|
|
356
|
+
});
|
|
357
|
+
if (prop.maxLength !== void 0) checks.push({
|
|
358
|
+
name: `${colName}_max_length`,
|
|
359
|
+
column: colName,
|
|
360
|
+
kind: "max_length",
|
|
361
|
+
value: prop.maxLength
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
if (prop.type === "integer" || prop.type === "number") {
|
|
365
|
+
if (prop.minimum !== void 0) checks.push({
|
|
366
|
+
name: `${colName}_min`,
|
|
367
|
+
column: colName,
|
|
368
|
+
kind: "min_value",
|
|
369
|
+
value: prop.minimum
|
|
370
|
+
});
|
|
371
|
+
if (prop.maximum !== void 0) checks.push({
|
|
372
|
+
name: `${colName}_max`,
|
|
373
|
+
column: colName,
|
|
374
|
+
kind: "max_value",
|
|
375
|
+
value: prop.maximum
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
return checks;
|
|
379
|
+
}
|
|
347
380
|
function parseObjectToTable(schema, _warnings) {
|
|
348
381
|
const tableName = schema.table.name;
|
|
349
382
|
const columns = [];
|
|
383
|
+
const checks = [];
|
|
350
384
|
const requiredFields = new Set(schema.required ?? []);
|
|
351
385
|
const autoColumns = /* @__PURE__ */ new Set();
|
|
352
386
|
if (schema.table.timestamps) {
|
|
@@ -361,37 +395,42 @@ function parseObjectToTable(schema, _warnings) {
|
|
|
361
395
|
if (autoColumns.has(snakeName)) continue;
|
|
362
396
|
const column = mapPropertyToColumn(propName, prop, requiredFields.has(propName));
|
|
363
397
|
columns.push(column);
|
|
398
|
+
checks.push(...getColumnChecks(prop, column.name));
|
|
364
399
|
}
|
|
365
400
|
if (schema.table.timestamps) {
|
|
366
|
-
|
|
401
|
+
const tsCol = {
|
|
367
402
|
name: "created_at",
|
|
368
|
-
|
|
403
|
+
columnType: {
|
|
404
|
+
class: "integer",
|
|
405
|
+
mode: "timestamp"
|
|
406
|
+
},
|
|
369
407
|
isPrimary: false,
|
|
370
408
|
isAutoIncrement: false,
|
|
371
409
|
isNullable: false,
|
|
372
|
-
isUnique: false
|
|
373
|
-
|
|
374
|
-
|
|
410
|
+
isUnique: false
|
|
411
|
+
};
|
|
412
|
+
columns.push(tsCol);
|
|
375
413
|
columns.push({
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
isPrimary: false,
|
|
379
|
-
isAutoIncrement: false,
|
|
380
|
-
isNullable: false,
|
|
381
|
-
isUnique: false,
|
|
382
|
-
defaultValue: void 0
|
|
414
|
+
...tsCol,
|
|
415
|
+
name: "updated_at"
|
|
383
416
|
});
|
|
384
417
|
}
|
|
385
418
|
if (schema.table.softDelete) columns.push({
|
|
386
419
|
name: "deleted_at",
|
|
387
|
-
|
|
420
|
+
columnType: {
|
|
421
|
+
class: "integer",
|
|
422
|
+
mode: "timestamp"
|
|
423
|
+
},
|
|
388
424
|
isPrimary: false,
|
|
389
425
|
isAutoIncrement: false,
|
|
390
426
|
isNullable: true,
|
|
391
|
-
isUnique: false
|
|
392
|
-
defaultValue: void 0
|
|
427
|
+
isUnique: false
|
|
393
428
|
});
|
|
394
|
-
return {
|
|
429
|
+
return checks.length > 0 ? {
|
|
430
|
+
name: tableName,
|
|
431
|
+
columns,
|
|
432
|
+
checks
|
|
433
|
+
} : {
|
|
395
434
|
name: tableName,
|
|
396
435
|
columns
|
|
397
436
|
};
|
|
@@ -399,24 +438,23 @@ function parseObjectToTable(schema, _warnings) {
|
|
|
399
438
|
function parseNestedObject(propName, property, parentTableName, warnings) {
|
|
400
439
|
const nestedTableName = `${parentTableName}_${toSnakeCase(propName)}`;
|
|
401
440
|
const columns = [];
|
|
441
|
+
const checks = [];
|
|
402
442
|
const relationType = property.nested?.relation === "has-many" ? "has-many" : "has-one";
|
|
403
443
|
columns.push({
|
|
404
444
|
name: "id",
|
|
405
|
-
|
|
445
|
+
columnType: { class: "integer" },
|
|
406
446
|
isPrimary: true,
|
|
407
447
|
isAutoIncrement: true,
|
|
408
448
|
isNullable: false,
|
|
409
|
-
isUnique: false
|
|
410
|
-
defaultValue: void 0
|
|
449
|
+
isUnique: false
|
|
411
450
|
});
|
|
412
451
|
columns.push({
|
|
413
452
|
name: `${parentTableName}_id`,
|
|
414
|
-
|
|
453
|
+
columnType: { class: "integer" },
|
|
415
454
|
isPrimary: false,
|
|
416
455
|
isAutoIncrement: false,
|
|
417
456
|
isNullable: false,
|
|
418
457
|
isUnique: false,
|
|
419
|
-
defaultValue: void 0,
|
|
420
458
|
isForeignKey: true,
|
|
421
459
|
foreignKeyRef: {
|
|
422
460
|
table: parentTableName,
|
|
@@ -430,6 +468,7 @@ function parseNestedObject(propName, property, parentTableName, warnings) {
|
|
|
430
468
|
}
|
|
431
469
|
const column = mapPropertyToColumn(childName, childProp, false);
|
|
432
470
|
columns.push(column);
|
|
471
|
+
checks.push(...getColumnChecks(childProp, column.name));
|
|
433
472
|
}
|
|
434
473
|
const relation = {
|
|
435
474
|
fromTable: nestedTableName,
|
|
@@ -445,7 +484,11 @@ function parseNestedObject(propName, property, parentTableName, warnings) {
|
|
|
445
484
|
name: toSnakeCase(propName)
|
|
446
485
|
};
|
|
447
486
|
return {
|
|
448
|
-
table: {
|
|
487
|
+
table: checks.length > 0 ? {
|
|
488
|
+
name: nestedTableName,
|
|
489
|
+
columns,
|
|
490
|
+
checks
|
|
491
|
+
} : {
|
|
449
492
|
name: nestedTableName,
|
|
450
493
|
columns
|
|
451
494
|
},
|
|
@@ -512,6 +555,8 @@ const JsonSchemaPropertySchema = z.lazy(() => z.object({
|
|
|
512
555
|
"null"
|
|
513
556
|
]),
|
|
514
557
|
format: z.string().optional(),
|
|
558
|
+
pattern: z.string().optional(),
|
|
559
|
+
enum: z.array(z.union([z.string(), z.number()])).optional(),
|
|
515
560
|
primary: z.boolean().optional(),
|
|
516
561
|
autoIncrement: z.boolean().optional(),
|
|
517
562
|
unique: z.boolean().optional(),
|
|
@@ -520,6 +565,8 @@ const JsonSchemaPropertySchema = z.lazy(() => z.object({
|
|
|
520
565
|
minLength: z.number().int().nonnegative().optional(),
|
|
521
566
|
minimum: z.number().optional(),
|
|
522
567
|
maximum: z.number().optional(),
|
|
568
|
+
examples: z.array(z.unknown()).optional(),
|
|
569
|
+
xPrompt: z.string().optional(),
|
|
523
570
|
drizzle: DrizzleExtensionSchema,
|
|
524
571
|
nested: NestedConfigSchema.optional(),
|
|
525
572
|
foreignKey: ForeignKeyRefSchema.optional(),
|
|
@@ -1531,19 +1578,50 @@ async function collectDoctorDiagnostics(options = {}) {
|
|
|
1531
1578
|
|
|
1532
1579
|
//#endregion
|
|
1533
1580
|
//#region src/infrastructure/schema/generate-drizzle-schema.ts
|
|
1581
|
+
function renderColumnType(ct) {
|
|
1582
|
+
switch (ct.class) {
|
|
1583
|
+
case "text": return ct.mode === "json" ? `text({ mode: 'json' })` : "text()";
|
|
1584
|
+
case "integer": return ct.mode ? `integer({ mode: '${ct.mode}' })` : "integer()";
|
|
1585
|
+
case "real": return "real()";
|
|
1586
|
+
}
|
|
1587
|
+
}
|
|
1588
|
+
function renderDefaultValue(value) {
|
|
1589
|
+
return JSON.stringify(value);
|
|
1590
|
+
}
|
|
1534
1591
|
function generateColumnDefinition(column) {
|
|
1535
1592
|
if (column.isPrimary && column.isAutoIncrement) return ` ${column.name}: integer().primaryKey({ autoIncrement: true })`;
|
|
1536
|
-
let def = ` ${column.name}: ${column.
|
|
1593
|
+
let def = ` ${column.name}: ${renderColumnType(column.columnType)}`;
|
|
1537
1594
|
if (column.isPrimary) def += ".primaryKey()";
|
|
1538
1595
|
if (!column.isNullable && !column.isPrimary) def += ".notNull()";
|
|
1539
1596
|
if (column.isUnique && !column.isPrimary) def += ".unique()";
|
|
1540
|
-
if (column.
|
|
1597
|
+
if (column.default !== void 0) def += `.default(${renderDefaultValue(column.default)})`;
|
|
1541
1598
|
if (column.isForeignKey && column.foreignKeyRef) def += `.references(() => ${column.foreignKeyRef.table}.${column.foreignKeyRef.column})`;
|
|
1542
1599
|
return def;
|
|
1543
1600
|
}
|
|
1601
|
+
function renderCheckToDrizzle(check, tableVar) {
|
|
1602
|
+
const colRef = `\${${tableVar}.${check.column}}`;
|
|
1603
|
+
let expr;
|
|
1604
|
+
switch (check.kind) {
|
|
1605
|
+
case "min_length":
|
|
1606
|
+
expr = `length(${colRef}) >= ${check.value}`;
|
|
1607
|
+
break;
|
|
1608
|
+
case "max_length":
|
|
1609
|
+
expr = `length(${colRef}) <= ${check.value}`;
|
|
1610
|
+
break;
|
|
1611
|
+
case "min_value":
|
|
1612
|
+
expr = `${colRef} >= ${check.value}`;
|
|
1613
|
+
break;
|
|
1614
|
+
case "max_value":
|
|
1615
|
+
expr = `${colRef} <= ${check.value}`;
|
|
1616
|
+
break;
|
|
1617
|
+
}
|
|
1618
|
+
return ` ${check.name}: check('${check.name}', sql\`${expr}\`)`;
|
|
1619
|
+
}
|
|
1544
1620
|
function generateTableDefinition(table) {
|
|
1545
1621
|
const columns = table.columns.map(generateColumnDefinition);
|
|
1546
|
-
return `export const ${table.name} = sqliteTable('${table.name}', {\n${columns.join(",\n")}\n})`;
|
|
1622
|
+
if (!table.checks?.length) return `export const ${table.name} = sqliteTable('${table.name}', {\n${columns.join(",\n")}\n})`;
|
|
1623
|
+
const checkLines = table.checks.map((c) => renderCheckToDrizzle(c, "table"));
|
|
1624
|
+
return `export const ${table.name} = sqliteTable('${table.name}', {\n${columns.join(",\n")}\n}, (table) => ({\n${checkLines.join(",\n")}\n}))`;
|
|
1547
1625
|
}
|
|
1548
1626
|
function generateRelationDefinitions(relations, reverseRelations) {
|
|
1549
1627
|
if (relations.length === 0 && reverseRelations.length === 0) return "";
|
|
@@ -1579,7 +1657,7 @@ function generateRelationDefinitions(relations, reverseRelations) {
|
|
|
1579
1657
|
return definitions.join("\n\n");
|
|
1580
1658
|
}
|
|
1581
1659
|
function generateDrizzleSchema(result) {
|
|
1582
|
-
const imports = `import { sqliteTable, text, integer, real } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'`;
|
|
1660
|
+
const imports = `import { ${`sqliteTable, text, integer, real${result.tables.some((t$1) => t$1.checks?.length) ? ", check, sql" : ""}`} } from 'drizzle-orm/sqlite-core'\nimport { relations } from 'drizzle-orm'`;
|
|
1583
1661
|
const tableDefs = result.tables.map(generateTableDefinition).join("\n\n");
|
|
1584
1662
|
const relationDefs = generateRelationDefinitions(result.relations, result.reverseRelations);
|
|
1585
1663
|
const parts = [
|
package/dist/index.d.mts
CHANGED
|
@@ -264,6 +264,8 @@ interface JsonSchemaProperty {
|
|
|
264
264
|
description?: string;
|
|
265
265
|
type: 'string' | 'integer' | 'number' | 'boolean' | 'object' | 'array' | 'null';
|
|
266
266
|
format?: string;
|
|
267
|
+
pattern?: string;
|
|
268
|
+
enum?: (string | number)[];
|
|
267
269
|
primary?: boolean;
|
|
268
270
|
autoIncrement?: boolean;
|
|
269
271
|
unique?: boolean;
|
|
@@ -272,6 +274,8 @@ interface JsonSchemaProperty {
|
|
|
272
274
|
minLength?: number;
|
|
273
275
|
minimum?: number;
|
|
274
276
|
maximum?: number;
|
|
277
|
+
examples?: unknown[];
|
|
278
|
+
xPrompt?: string;
|
|
275
279
|
drizzle?: {
|
|
276
280
|
mode?: 'json' | 'timestamp' | 'timestamp_ms' | 'boolean' | 'bigint';
|
|
277
281
|
customType?: string;
|
|
@@ -288,14 +292,29 @@ interface JsonSchemaProperty {
|
|
|
288
292
|
type JsonSchemaDefinition = z.infer<typeof JsonSchemaDefinitionSchema>;
|
|
289
293
|
//#endregion
|
|
290
294
|
//#region src/domain/schema/types.d.ts
|
|
295
|
+
type ColumnType = {
|
|
296
|
+
class: 'text';
|
|
297
|
+
mode?: 'json';
|
|
298
|
+
} | {
|
|
299
|
+
class: 'integer';
|
|
300
|
+
mode?: 'boolean' | 'timestamp' | 'timestamp_ms' | 'bigint';
|
|
301
|
+
} | {
|
|
302
|
+
class: 'real';
|
|
303
|
+
};
|
|
304
|
+
interface CheckConstraint {
|
|
305
|
+
name: string;
|
|
306
|
+
column: string;
|
|
307
|
+
kind: 'min_length' | 'max_length' | 'min_value' | 'max_value';
|
|
308
|
+
value: number;
|
|
309
|
+
}
|
|
291
310
|
interface ParsedColumn {
|
|
292
311
|
name: string;
|
|
293
|
-
|
|
312
|
+
columnType: ColumnType;
|
|
294
313
|
isPrimary: boolean;
|
|
295
314
|
isAutoIncrement: boolean;
|
|
296
315
|
isNullable: boolean;
|
|
297
316
|
isUnique: boolean;
|
|
298
|
-
|
|
317
|
+
default?: unknown;
|
|
299
318
|
isForeignKey?: boolean;
|
|
300
319
|
foreignKeyRef?: {
|
|
301
320
|
table: string;
|
|
@@ -305,6 +324,7 @@ interface ParsedColumn {
|
|
|
305
324
|
interface ParsedTable {
|
|
306
325
|
name: string;
|
|
307
326
|
columns: ParsedColumn[];
|
|
327
|
+
checks?: CheckConstraint[];
|
|
308
328
|
}
|
|
309
329
|
interface ParsedRelation {
|
|
310
330
|
fromTable: string;
|
package/dist/index.mjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { _ as doctorDiagnosticsTableRows, g as buildDoctorDiagnostics, i as generateDrizzleConfig, m as parseJsonSchema, n as collectDoctorDiagnostics, p as JsonSchemaDefinitionSchema, r as createMigrationConfig, t as generateDrizzleSchema, v as formatDoctorDiagnosticsJson } from "./generate-drizzle-schema-
|
|
1
|
+
import { _ as doctorDiagnosticsTableRows, g as buildDoctorDiagnostics, i as generateDrizzleConfig, m as parseJsonSchema, n as collectDoctorDiagnostics, p as JsonSchemaDefinitionSchema, r as createMigrationConfig, t as generateDrizzleSchema, v as formatDoctorDiagnosticsJson } from "./generate-drizzle-schema-D_oDmf4J.mjs";
|
|
2
2
|
|
|
3
3
|
export { JsonSchemaDefinitionSchema, buildDoctorDiagnostics, collectDoctorDiagnostics, createMigrationConfig, doctorDiagnosticsTableRows, formatDoctorDiagnosticsJson, generateDrizzleConfig, generateDrizzleSchema, parseJsonSchema };
|
package/dist/table-schema.json
CHANGED
|
@@ -111,6 +111,24 @@
|
|
|
111
111
|
"default": {
|
|
112
112
|
"description": "Default value for the column. Type should match the column type."
|
|
113
113
|
},
|
|
114
|
+
"pattern": {
|
|
115
|
+
"type": "string",
|
|
116
|
+
"description": "Regular expression constraint for string values."
|
|
117
|
+
},
|
|
118
|
+
"enum": {
|
|
119
|
+
"type": "array",
|
|
120
|
+
"items": { "type": "string" },
|
|
121
|
+
"description": "Enumeration of allowed values for this field."
|
|
122
|
+
},
|
|
123
|
+
"examples": {
|
|
124
|
+
"type": "array",
|
|
125
|
+
"description": "Example values for this field (injected into AI prompt).",
|
|
126
|
+
"items": {}
|
|
127
|
+
},
|
|
128
|
+
"xPrompt": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"description": "Custom extraction instruction for this field, overrides the default AI prompt (prefixed with 'x-' to stay valid JSON Schema)."
|
|
131
|
+
},
|
|
114
132
|
"minLength": {
|
|
115
133
|
"type": "integer",
|
|
116
134
|
"minimum": 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/editor.main-DQ658ZNP.js","assets/preload-helper-DWTEM3RW.js","assets/editor.api-C8BHpRhn.js","assets/chunk-DtRyYLXJ.js","assets/editor-BR-TvLsg.css","assets/monaco.contribution-BJhODGkt.js","assets/editor-DPKWm9GW.css"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{t as e}from"./chunk-DtRyYLXJ.js";import{$ as t,A as n,C as r,D as i,E as a,G as o,H as s,I as c,It as l,J as u,Jt as d,K as f,L as p,M as m,Mt as h,O as g,Ot as _,P as v,Pt as y,Rt as b,S as x,T as S,U as C,Ut as w,Vt as T,W as E,X as D,Y as ee,Z as te,an as ne,dt as re,en as O,et as ie,fn as ae,g as oe,gn as k,gt as A,ht as j,i as se,it as ce,lt as M,m as le,n as ue,o as de,on as N,pn as fe,q as P,r as pe,rn as me,rt as F,s as he,tt as ge,u as _e,vt as ve,w as I,x as L,y as R,yt as z}from"./vue-i18n-Du42D0vb.js";import{r as ye,t as be}from"./dialog-CnZ7jH1l.js";import{r as xe,t as Se}from"./object-utils-
|
|
2
|
+
import{t as e}from"./chunk-DtRyYLXJ.js";import{$ as t,A as n,C as r,D as i,E as a,G as o,H as s,I as c,It as l,J as u,Jt as d,K as f,L as p,M as m,Mt as h,O as g,Ot as _,P as v,Pt as y,Rt as b,S as x,T as S,U as C,Ut as w,Vt as T,W as E,X as D,Y as ee,Z as te,an as ne,dt as re,en as O,et as ie,fn as ae,g as oe,gn as k,gt as A,ht as j,i as se,it as ce,lt as M,m as le,n as ue,o as de,on as N,pn as fe,q as P,r as pe,rn as me,rt as F,s as he,tt as ge,u as _e,vt as ve,w as I,x as L,y as R,yt as z}from"./vue-i18n-Du42D0vb.js";import{r as ye,t as be}from"./dialog-CnZ7jH1l.js";import{r as xe,t as Se}from"./object-utils-CqCiBqJ4.js";import{r as Ce}from"./dist-CElVIpns.js";import{t as we}from"./preload-helper-DWTEM3RW.js";import{a as Te,i as Ee,n as De,o as Oe,t as ke}from"./textarea-DMpqBhjw.js";var Ae=_e.extend({name:`tabpanel`,classes:{root:function(e){return[`p-tabpanel`,{"p-tabpanel-active":e.instance.active}]}}}),je={name:`TabPanel`,extends:{name:`BaseTabPanel`,extends:he,props:{value:{type:[String,Number],default:void 0},as:{type:[String,Object],default:`DIV`},asChild:{type:Boolean,default:!1},header:null,headerStyle:null,headerClass:null,headerProps:null,headerActionProps:null,contentStyle:null,contentClass:null,contentProps:null,disabled:Boolean},style:Ae,provide:function(){return{$pcTabPanel:this,$parentInstance:this}}},inheritAttrs:!1,inject:[`$pcTabs`],computed:{active:function(){return ae(this.$pcTabs?.d_value,this.value)},id:function(){return`${this.$pcTabs?.$id}_tabpanel_${this.value}`},ariaLabelledby:function(){return`${this.$pcTabs?.$id}_tab_${this.value}`},attrs:function(){return p(this.a11yAttrs,this.ptmi(`root`,this.ptParams))},a11yAttrs:function(){return{id:this.id,tabindex:this.$pcTabs?.tabindex,role:`tabpanel`,"aria-labelledby":this.ariaLabelledby,"data-pc-name":`tabpanel`,"data-p-active":this.active}},ptParams:function(){return{context:{active:this.active}}}}};function Me(e,t,n,i,a,o){var s,c;return o.$pcTabs?(E(),S(R,{key:1},[e.asChild?P(e.$slots,`default`,{key:1,class:A(e.cx(`root`)),active:o.active,a11yAttrs:o.a11yAttrs}):(E(),S(R,{key:0},[!((s=o.$pcTabs)!=null&&s.lazy)||o.active?ce((E(),r(D(e.as),p({key:0,class:e.cx(`root`)},o.attrs),{default:F(function(){return[P(e.$slots,`default`)]}),_:3},16,[`class`])),[[oe,(c=o.$pcTabs)!=null&&c.lazy?!0:o.active]]):I(``,!0)],64))],64)):P(e.$slots,`default`,{key:0})}je.render=Me;var Ne=_e.extend({name:`tab`,classes:{root:function(e){var t=e.instance,n=e.props;return[`p-tab`,{"p-tab-active":t.active,"p-disabled":n.disabled}]}}}),Pe={name:`Tab`,extends:{name:`BaseTab`,extends:he,props:{value:{type:[String,Number],default:void 0},disabled:{type:Boolean,default:!1},as:{type:[String,Object],default:`BUTTON`},asChild:{type:Boolean,default:!1}},style:Ne,provide:function(){return{$pcTab:this,$parentInstance:this}}},inheritAttrs:!1,inject:[`$pcTabs`,`$pcTabList`],methods:{onFocus:function(){this.$pcTabs.selectOnFocus&&this.changeActiveValue()},onClick:function(){this.changeActiveValue()},onKeydown:function(e){switch(e.code){case`ArrowRight`:this.onArrowRightKey(e);break;case`ArrowLeft`:this.onArrowLeftKey(e);break;case`Home`:this.onHomeKey(e);break;case`End`:this.onEndKey(e);break;case`PageDown`:this.onPageDownKey(e);break;case`PageUp`:this.onPageUpKey(e);break;case`Enter`:case`NumpadEnter`:case`Space`:this.onEnterKey(e);break}},onArrowRightKey:function(e){var t=this.findNextTab(e.currentTarget);t?this.changeFocusedTab(e,t):this.onHomeKey(e),e.preventDefault()},onArrowLeftKey:function(e){var t=this.findPrevTab(e.currentTarget);t?this.changeFocusedTab(e,t):this.onEndKey(e),e.preventDefault()},onHomeKey:function(e){var t=this.findFirstTab();this.changeFocusedTab(e,t),e.preventDefault()},onEndKey:function(e){var t=this.findLastTab();this.changeFocusedTab(e,t),e.preventDefault()},onPageDownKey:function(e){this.scrollInView(this.findLastTab()),e.preventDefault()},onPageUpKey:function(e){this.scrollInView(this.findFirstTab()),e.preventDefault()},onEnterKey:function(e){this.changeActiveValue()},findNextTab:function(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1]?e:e.nextElementSibling;return t?l(t,`data-p-disabled`)||l(t,`data-pc-section`)===`activebar`?this.findNextTab(t):ne(t,`[data-pc-name="tab"]`):null},findPrevTab:function(e){var t=arguments.length>1&&arguments[1]!==void 0&&arguments[1]?e:e.previousElementSibling;return t?l(t,`data-p-disabled`)||l(t,`data-pc-section`)===`activebar`?this.findPrevTab(t):ne(t,`[data-pc-name="tab"]`):null},findFirstTab:function(){return this.findNextTab(this.$pcTabList.$refs.tabs.firstElementChild,!0)},findLastTab:function(){return this.findPrevTab(this.$pcTabList.$refs.tabs.lastElementChild,!0)},changeActiveValue:function(){this.$pcTabs.updateValue(this.value)},changeFocusedTab:function(e,t){d(t),this.scrollInView(t)},scrollInView:function(e){var t;e==null||(t=e.scrollIntoView)==null||t.call(e,{block:`nearest`})}},computed:{active:function(){return ae(this.$pcTabs?.d_value,this.value)},id:function(){return`${this.$pcTabs?.$id}_tab_${this.value}`},ariaControls:function(){return`${this.$pcTabs?.$id}_tabpanel_${this.value}`},attrs:function(){return p(this.asAttrs,this.a11yAttrs,this.ptmi(`root`,this.ptParams))},asAttrs:function(){return this.as===`BUTTON`?{type:`button`,disabled:this.disabled}:void 0},a11yAttrs:function(){return{id:this.id,tabindex:this.active?this.$pcTabs.tabindex:-1,role:`tab`,"aria-selected":this.active,"aria-controls":this.ariaControls,"data-pc-name":`tab`,"data-p-disabled":this.disabled,"data-p-active":this.active,onFocus:this.onFocus,onKeydown:this.onKeydown}},ptParams:function(){return{context:{active:this.active}}},dataP:function(){return N({active:this.active})}},directives:{ripple:se}};function Fe(e,t,n,i,a,o){var s=ee(`ripple`);return e.asChild?P(e.$slots,`default`,{key:1,dataP:o.dataP,class:A(e.cx(`root`)),active:o.active,a11yAttrs:o.a11yAttrs,onClick:o.onClick}):ce((E(),r(D(e.as),p({key:0,class:e.cx(`root`),"data-p":o.dataP,onClick:o.onClick},o.attrs),{default:F(function(){return[P(e.$slots,`default`)]}),_:3},16,[`class`,`data-p`,`onClick`])),[[s]])}Pe.render=Fe;var Ie={name:`ChevronLeftIcon`,extends:de};function Le(e){return Ve(e)||Be(e)||ze(e)||Re()}function Re(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
3
3
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ze(e,t){if(e){if(typeof e==`string`)return He(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?He(e,t):void 0}}function Be(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Ve(e){if(Array.isArray(e))return He(e)}function He(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ue(e,t,n,r,i,a){return E(),S(`svg`,p({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),Le(t[0]||=[x(`path`,{d:`M9.61296 13C9.50997 13.0005 9.40792 12.9804 9.3128 12.9409C9.21767 12.9014 9.13139 12.8433 9.05902 12.7701L3.83313 7.54416C3.68634 7.39718 3.60388 7.19795 3.60388 6.99022C3.60388 6.78249 3.68634 6.58325 3.83313 6.43628L9.05902 1.21039C9.20762 1.07192 9.40416 0.996539 9.60724 1.00012C9.81032 1.00371 10.0041 1.08597 10.1477 1.22959C10.2913 1.37322 10.3736 1.56698 10.3772 1.77005C10.3808 1.97313 10.3054 2.16968 10.1669 2.31827L5.49496 6.99022L10.1669 11.6622C10.3137 11.8091 10.3962 12.0084 10.3962 12.2161C10.3962 12.4238 10.3137 12.6231 10.1669 12.7701C10.0945 12.8433 10.0083 12.9014 9.91313 12.9409C9.81801 12.9804 9.71596 13.0005 9.61296 13Z`,fill:`currentColor`},null,-1)]),16)}Ie.render=Ue;var We={name:`ChevronRightIcon`,extends:de};function Ge(e){return Ye(e)||Je(e)||qe(e)||Ke()}function Ke(){throw TypeError(`Invalid attempt to spread non-iterable instance.
|
|
4
4
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function qe(e,t){if(e){if(typeof e==`string`)return Xe(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xe(e,t):void 0}}function Je(e){if(typeof Symbol<`u`&&e[Symbol.iterator]!=null||e[`@@iterator`]!=null)return Array.from(e)}function Ye(e){if(Array.isArray(e))return Xe(e)}function Xe(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function Ze(e,t,n,r,i,a){return E(),S(`svg`,p({width:`14`,height:`14`,viewBox:`0 0 14 14`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`},e.pti()),Ge(t[0]||=[x(`path`,{d:`M4.38708 13C4.28408 13.0005 4.18203 12.9804 4.08691 12.9409C3.99178 12.9014 3.9055 12.8433 3.83313 12.7701C3.68634 12.6231 3.60388 12.4238 3.60388 12.2161C3.60388 12.0084 3.68634 11.8091 3.83313 11.6622L8.50507 6.99022L3.83313 2.31827C3.69467 2.16968 3.61928 1.97313 3.62287 1.77005C3.62645 1.56698 3.70872 1.37322 3.85234 1.22959C3.99596 1.08597 4.18972 1.00371 4.3928 1.00012C4.59588 0.996539 4.79242 1.07192 4.94102 1.21039L10.1669 6.43628C10.3137 6.58325 10.3962 6.78249 10.3962 6.99022C10.3962 7.19795 10.3137 7.39718 10.1669 7.54416L4.94102 12.7701C4.86865 12.8433 4.78237 12.9014 4.68724 12.9409C4.59212 12.9804 4.49007 13.0005 4.38708 13Z`,fill:`currentColor`},null,-1)]),16)}We.render=Ze;var Qe={name:`TabList`,extends:{name:`BaseTabList`,extends:he,props:{},style:_e.extend({name:`tablist`,classes:{root:`p-tablist`,content:`p-tablist-content p-tablist-viewport`,tabList:`p-tablist-tab-list`,activeBar:`p-tablist-active-bar`,prevButton:`p-tablist-prev-button p-tablist-nav-button`,nextButton:`p-tablist-next-button p-tablist-nav-button`}}),provide:function(){return{$pcTabList:this,$parentInstance:this}}},inheritAttrs:!1,inject:[`$pcTabs`],data:function(){return{isPrevButtonEnabled:!1,isNextButtonEnabled:!0}},resizeObserver:void 0,inkBarObserver:void 0,watch:{showNavigators:function(e){e?this.bindResizeObserver():this.unbindResizeObserver()},activeValue:{flush:`post`,handler:function(){this.updateInkBar(),this.bindInkBarObserver()}}},mounted:function(){var e=this;setTimeout(function(){e.updateInkBar(),e.bindInkBarObserver()},150),this.showNavigators&&(this.updateButtonState(),this.bindResizeObserver())},updated:function(){this.showNavigators&&this.updateButtonState()},beforeUnmount:function(){this.unbindResizeObserver(),this.unbindInkBarObserver()},methods:{onScroll:function(e){this.showNavigators&&this.updateButtonState(),e.preventDefault()},onPrevButtonClick:function(){var e=this.$refs.content,t=this.getVisibleButtonWidths(),n=b(e)-t,r=Math.abs(e.scrollLeft)-n*.8,i=Math.max(r,0);e.scrollLeft=w(e)?-1*i:i},onNextButtonClick:function(){var e=this.$refs.content,t=this.getVisibleButtonWidths(),n=b(e)-t,r=Math.abs(e.scrollLeft)+n*.8,i=e.scrollWidth-n,a=Math.min(r,i);e.scrollLeft=w(e)?-1*a:a},bindResizeObserver:function(){var e=this;this.resizeObserver=new ResizeObserver(function(){return e.updateButtonState()}),this.resizeObserver.observe(this.$refs.list)},unbindResizeObserver:function(){var e;(e=this.resizeObserver)==null||e.unobserve(this.$refs.list),this.resizeObserver=void 0},bindInkBarObserver:function(){var e=this;this.unbindInkBarObserver();var t=this.$refs.content,n=ne(t,`[data-pc-name="tab"][data-p-active="true"]`);n&&(this.inkBarObserver=new ResizeObserver(function(){return e.updateInkBar()}),this.inkBarObserver.observe(n))},unbindInkBarObserver:function(){var e;(e=this.inkBarObserver)==null||e.disconnect(),this.inkBarObserver=void 0},updateInkBar:function(){var e=this.$refs,t=e.content,n=e.inkbar,r=e.tabs;if(n){var i=ne(t,`[data-pc-name="tab"][data-p-active="true"]`);this.$pcTabs.isVertical()?(n.style.height=_(i)+`px`,n.style.top=h(i).top-h(r).top+`px`):(n.style.width=me(i)+`px`,n.style.left=h(i).left-h(r).left+`px`)}},updateButtonState:function(){var e=this.$refs,t=e.list,n=e.content,r=n.scrollTop,i=n.scrollWidth,a=n.scrollHeight,o=n.offsetWidth,s=n.offsetHeight,c=Math.abs(n.scrollLeft),l=[b(n),T(n)],u=l[0],d=l[1];this.$pcTabs.isVertical()?(this.isPrevButtonEnabled=r!==0,this.isNextButtonEnabled=t.offsetHeight>=s&&parseInt(r)!==a-d):(this.isPrevButtonEnabled=c!==0,this.isNextButtonEnabled=t.offsetWidth>=o&&parseInt(c)!==i-u)},getVisibleButtonWidths:function(){var e=this.$refs,t=e.prevButton,n=e.nextButton,r=0;return this.showNavigators&&(r=(t?.offsetWidth||0)+(n?.offsetWidth||0)),r}},computed:{templates:function(){return this.$pcTabs.$slots},activeValue:function(){return this.$pcTabs.d_value},showNavigators:function(){return this.$pcTabs.showNavigators},prevButtonAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.previous:void 0},nextButtonAriaLabel:function(){return this.$primevue.config.locale.aria?this.$primevue.config.locale.aria.next:void 0},dataP:function(){return N({scrollable:this.$pcTabs.scrollable})}},components:{ChevronLeftIcon:Ie,ChevronRightIcon:We},directives:{ripple:se}},$e=[`data-p`],et=[`aria-label`,`tabindex`],tt=[`data-p`],nt=[`aria-orientation`],rt=[`aria-label`,`tabindex`];function it(e,t,n,i,a,o){var s=ee(`ripple`);return E(),S(`div`,p({ref:`list`,class:e.cx(`root`),"data-p":o.dataP},e.ptmi(`root`)),[o.showNavigators&&a.isPrevButtonEnabled?ce((E(),S(`button`,p({key:0,ref:`prevButton`,type:`button`,class:e.cx(`prevButton`),"aria-label":o.prevButtonAriaLabel,tabindex:o.$pcTabs.tabindex,onClick:t[0]||=function(){return o.onPrevButtonClick&&o.onPrevButtonClick.apply(o,arguments)}},e.ptm(`prevButton`),{"data-pc-group-section":`navigator`}),[(E(),r(D(o.templates.previcon||`ChevronLeftIcon`),p({"aria-hidden":`true`},e.ptm(`prevIcon`)),null,16))],16,et)),[[s]]):I(``,!0),x(`div`,p({ref:`content`,class:e.cx(`content`),onScroll:t[1]||=function(){return o.onScroll&&o.onScroll.apply(o,arguments)},"data-p":o.dataP},e.ptm(`content`)),[x(`div`,p({ref:`tabs`,class:e.cx(`tabList`),role:`tablist`,"aria-orientation":o.$pcTabs.orientation||`horizontal`},e.ptm(`tabList`)),[P(e.$slots,`default`),x(`span`,p({ref:`inkbar`,class:e.cx(`activeBar`),role:`presentation`,"aria-hidden":`true`},e.ptm(`activeBar`)),null,16)],16,nt)],16,tt),o.showNavigators&&a.isNextButtonEnabled?ce((E(),S(`button`,p({key:1,ref:`nextButton`,type:`button`,class:e.cx(`nextButton`),"aria-label":o.nextButtonAriaLabel,tabindex:o.$pcTabs.tabindex,onClick:t[2]||=function(){return o.onNextButtonClick&&o.onNextButtonClick.apply(o,arguments)}},e.ptm(`nextButton`),{"data-pc-group-section":`navigator`}),[(E(),r(D(o.templates.nexticon||`ChevronRightIcon`),p({"aria-hidden":`true`},e.ptm(`nextIcon`)),null,16))],16,rt)),[[s]]):I(``,!0)],16,$e)}Qe.render=it;var at={name:`TabPanels`,extends:{name:`BaseTabPanels`,extends:he,props:{},style:_e.extend({name:`tabpanels`,classes:{root:`p-tabpanels`}}),provide:function(){return{$pcTabPanels:this,$parentInstance:this}}},inheritAttrs:!1};function ot(e,t,n,r,i,a){return E(),S(`div`,p({class:e.cx(`root`),role:`presentation`},e.ptmi(`root`)),[P(e.$slots,`default`)],16)}at.render=ot;var st=_e.extend({name:`tabs`,style:`
|
|
5
5
|
.p-tabs {
|