@axzydev/axzy_ui_system 1.7.3 → 1.7.4
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/index.cjs +1621 -594
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.d.cts +366 -12
- package/dist/index.d.ts +366 -12
- package/dist/index.js +1331 -313
- package/dist/index.js.map +1 -1
- package/dist/layered.css +1 -1
- package/package.json +4 -2
- package/src/App.tsx +6 -8
- package/src/components/atoms/flex/flex.props.ts +3 -1
- package/src/components/atoms/flex/flex.tsx +11 -3
- package/src/components/atoms/textarea/textarea.props.ts +4 -0
- package/src/components/atoms/textarea/textarea.tsx +13 -3
- package/src/components/molecules/card/card.props.ts +2 -0
- package/src/components/molecules/card/card.tsx +15 -2
- package/src/components/molecules/line-bar-chart/line-bar-chart.props.ts +4 -0
- package/src/components/molecules/line-bar-chart/line-bar-chart.tsx +57 -41
- package/src/components/organisms/dropfile/dropfile.props.ts +8 -2
- package/src/components/organisms/dropfile/dropfile.tsx +17 -0
- package/src/i18n/locales/en.ts +7 -0
- package/src/i18n/locales/es.ts +7 -0
- package/src/index.ts +31 -3
- package/src/json-renderer/actions/effects.test.tsx +115 -0
- package/src/json-renderer/actions/effects.ts +291 -0
- package/src/json-renderer/actions/effectsChain.test.ts +117 -0
- package/src/json-renderer/binding/binding.test.tsx +168 -0
- package/src/json-renderer/binding/resolveValue.ts +193 -0
- package/src/json-renderer/estado-acciones.test.tsx +166 -0
- package/src/json-renderer/form/FormNode.tsx +92 -0
- package/src/json-renderer/form/form.test.tsx +148 -0
- package/src/json-renderer/form/formLength.test.tsx +99 -0
- package/src/json-renderer/form/rules.ts +162 -0
- package/src/json-renderer/index.ts +21 -0
- package/src/json-renderer/kernel/SchemaRenderer.tsx +83 -7
- package/src/json-renderer/kernel/capabilities.ts +30 -0
- package/src/json-renderer/kernel/renderNode.tsx +256 -3
- package/src/json-renderer/kernel/schemaRenderer.props.ts +29 -3
- package/src/json-renderer/kernel/slots.test.tsx +104 -0
- package/src/json-renderer/kernel/slots.ts +34 -0
- package/src/json-renderer/kernel/types.ts +4 -0
- package/src/json-renderer/routing/match.ts +82 -0
- package/src/json-renderer/routing/navigation.ts +71 -0
- package/src/json-renderer/routing/routes.ts +179 -0
- package/src/json-renderer/routing/routing.test.ts +147 -0
- package/src/json-renderer/seguridad.test.tsx +299 -0
- package/src/json-renderer/shared/errors.ts +1 -0
- package/src/json-renderer/stream/tolerantParse.ts +5 -0
- package/src/json-renderer/stream/useSchemaStream.test.tsx +143 -0
- package/src/json-renderer/stream/useSchemaStream.ts +227 -0
- package/src/json-renderer/validation/jsonSchema.test.ts +105 -0
- package/src/json-renderer/validation/jsonSchema.ts +317 -0
- package/src/json-renderer/validation/validate.ts +17 -0
- package/src/sandbox/i18n.ts +38 -0
- package/src/sandbox/useHashRoute.ts +2 -1
- package/src/showcases/DemoJsonDashboard.tsx +218 -103
- package/src/showcases/DemoJsonDocs.tsx +11 -11
- package/src/showcases/JsonScreenShowcase.tsx +43 -53
- package/src/showcases/demoApp/demoJson.test.tsx +241 -0
- package/src/showcases/demoApp/routes.test.ts +63 -0
- package/src/showcases/demoApp/schemas.test.ts +6 -17
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as Yup from 'yup';
|
|
2
2
|
import * as React$1 from 'react';
|
|
3
|
-
import React__default, { CSSProperties, RefObject, ReactNode, ElementType, ChangeEvent, FocusEvent, KeyboardEvent, HTMLAttributes } from 'react';
|
|
3
|
+
import React__default, { CSSProperties, RefObject, ReactNode, ElementType, UIEvent, ChangeEvent, FocusEvent, KeyboardEvent, HTMLAttributes, ComponentType } from 'react';
|
|
4
4
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
5
|
import { Locale } from 'date-fns';
|
|
6
6
|
|
|
@@ -763,6 +763,8 @@ interface ITCardProps {
|
|
|
763
763
|
onClick?: () => void;
|
|
764
764
|
/** Card title displayed in the header area. */
|
|
765
765
|
title?: string;
|
|
766
|
+
/** Optional actions rendered at the right of the title row (e.g. a play button). */
|
|
767
|
+
headerActions?: React.ReactNode;
|
|
766
768
|
/** Image source URL displayed at the top of the card. */
|
|
767
769
|
image?: string;
|
|
768
770
|
/** Alt text for the card image. @default "Card Image" */
|
|
@@ -796,7 +798,7 @@ interface ITCardProps {
|
|
|
796
798
|
* Clickable card with hover shadow.
|
|
797
799
|
* </ITCard>
|
|
798
800
|
*/
|
|
799
|
-
declare function ITCard({ title, image, alt, children, actions, className, imageClassName, titleClassName, contentClassName, actionClassName, onClick, }: ITCardProps): react_jsx_runtime.JSX.Element;
|
|
801
|
+
declare function ITCard({ title, headerActions, image, alt, children, actions, className, imageClassName, titleClassName, contentClassName, actionClassName, onClick, }: ITCardProps): react_jsx_runtime.JSX.Element;
|
|
800
802
|
|
|
801
803
|
interface ITCheckboxProps {
|
|
802
804
|
/** Controlled checked state. @default false */
|
|
@@ -1892,6 +1894,8 @@ interface ITFlexProps {
|
|
|
1892
1894
|
as?: ElementType;
|
|
1893
1895
|
/** Click handler */
|
|
1894
1896
|
onClick?: (e: React.MouseEvent) => void;
|
|
1897
|
+
/** Scroll handler (useful for scrollable chat/log panels) */
|
|
1898
|
+
onScroll?: (e: UIEvent<HTMLElement>) => void;
|
|
1895
1899
|
}
|
|
1896
1900
|
|
|
1897
1901
|
/**
|
|
@@ -1909,7 +1913,7 @@ interface ITFlexProps {
|
|
|
1909
1913
|
* <main>Content</main>
|
|
1910
1914
|
* </ITFlex>
|
|
1911
1915
|
*/
|
|
1912
|
-
declare
|
|
1916
|
+
declare const ITFlex: React$1.ForwardRefExoticComponent<ITFlexProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1913
1917
|
|
|
1914
1918
|
/** @deprecated Legacy (V1) field definition consumed by `ITFormBuilder`'s `fields` prop. Prefer `FieldConfigV2` via the `config` prop for new forms. */
|
|
1915
1919
|
interface FieldConfig {
|
|
@@ -3547,6 +3551,10 @@ interface ITLineBarChartProps {
|
|
|
3547
3551
|
lineColor?: string;
|
|
3548
3552
|
/** Color de las barras. */
|
|
3549
3553
|
barColor?: string;
|
|
3554
|
+
/** Muestra la serie de línea. @default true */
|
|
3555
|
+
showLine?: boolean;
|
|
3556
|
+
/** Muestra la serie de barras. @default true */
|
|
3557
|
+
showBars?: boolean;
|
|
3550
3558
|
height?: number;
|
|
3551
3559
|
/** Formatea los valores del tooltip; por defecto número con separadores. */
|
|
3552
3560
|
formatValue?: (value: number) => string;
|
|
@@ -3562,7 +3570,7 @@ interface ITLineBarChartProps {
|
|
|
3562
3570
|
* el cursor. El SVG escala con `viewBox`, así que el trazo y el texto no se
|
|
3563
3571
|
* deforman al cambiar el ancho del contenedor.
|
|
3564
3572
|
*/
|
|
3565
|
-
declare function ITLineBarChart({ data, ariaLabel, lineLabel, barLabel, lineColor, barColor, height, formatValue, formatAxis, className, }: ITLineBarChartProps): react_jsx_runtime.JSX.Element;
|
|
3573
|
+
declare function ITLineBarChart({ data, ariaLabel, lineLabel, barLabel, lineColor, barColor, showLine, showBars, height, formatValue, formatAxis, className, }: ITLineBarChartProps): react_jsx_runtime.JSX.Element;
|
|
3566
3574
|
|
|
3567
3575
|
/**
|
|
3568
3576
|
* A feature-rich data table with per-column filtering, sortable columns,
|
|
@@ -3632,6 +3640,10 @@ interface ITTextareaProps {
|
|
|
3632
3640
|
maxLength?: number;
|
|
3633
3641
|
/** Resize behavior of the textarea: "none" | "vertical" | "horizontal" | "both". */
|
|
3634
3642
|
resize?: "none" | "vertical" | "horizontal" | "both";
|
|
3643
|
+
/** Keydown handler (e.g. Enter to send in a chat composer). */
|
|
3644
|
+
onKeyDown?: (event: React.KeyboardEvent<HTMLTextAreaElement>) => void;
|
|
3645
|
+
/** Autofocus the textarea. */
|
|
3646
|
+
autoFocus?: boolean;
|
|
3635
3647
|
}
|
|
3636
3648
|
|
|
3637
3649
|
/**
|
|
@@ -3650,7 +3662,7 @@ interface ITTextareaProps {
|
|
|
3650
3662
|
* error={bio.length > 500 ? "Max 500 characters" : undefined}
|
|
3651
3663
|
* />
|
|
3652
3664
|
*/
|
|
3653
|
-
declare
|
|
3665
|
+
declare const ITTextarea: React$1.ForwardRefExoticComponent<ITTextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
|
|
3654
3666
|
|
|
3655
3667
|
interface ITTabItem {
|
|
3656
3668
|
/** Unique identifier for the tab. */
|
|
@@ -4044,7 +4056,7 @@ declare function getExclusionReason(catalog: Catalog, type: string): string | un
|
|
|
4044
4056
|
/** Gravedad de un aviso del motor. */
|
|
4045
4057
|
type JsonEngineSeverity = "error" | "warning" | "info";
|
|
4046
4058
|
/** Códigos de aviso del motor. Contrato estable. */
|
|
4047
|
-
type JsonEngineCode = "JR010" | "JR011" | "JR012" | "JR013" | "JR014" | "JR020" | "JR021" | "JR030" | "JR031" | "JR040" | "JR041" | "JR042" | "JR050" | "JR060" | "JR061" | "JR070" | "JR080" | "JR081";
|
|
4059
|
+
type JsonEngineCode = "JR010" | "JR011" | "JR012" | "JR013" | "JR014" | "JR020" | "JR021" | "JR030" | "JR031" | "JR032" | "JR040" | "JR041" | "JR042" | "JR050" | "JR060" | "JR061" | "JR070" | "JR080" | "JR081";
|
|
4048
4060
|
/** Aviso del motor: lo que pasó, dónde y qué hacer. */
|
|
4049
4061
|
interface JsonEngineIssue {
|
|
4050
4062
|
/** Código estable (`JR010`…). */
|
|
@@ -4221,6 +4233,10 @@ interface EffectSchema {
|
|
|
4221
4233
|
openOverlay?: string;
|
|
4222
4234
|
/** Cierra el overlay indicado, o el que esté abierto si se omite. */
|
|
4223
4235
|
closeOverlay?: string;
|
|
4236
|
+
/** Escribe en el estado de la pantalla: `{ "clave": valor }`. Los valores admiten referencias. */
|
|
4237
|
+
set?: Record<string, SchemaValue>;
|
|
4238
|
+
/** Capacidad que exige la acción. Sin concesión, la acción no se ejecuta (`JR061`). */
|
|
4239
|
+
requires?: string | string[];
|
|
4224
4240
|
/** Refresca una fuente de datos. */
|
|
4225
4241
|
refresh?: string;
|
|
4226
4242
|
}
|
|
@@ -4294,6 +4310,119 @@ interface ScreenSchema {
|
|
|
4294
4310
|
content: NodeSchema | NodeSchema[];
|
|
4295
4311
|
}
|
|
4296
4312
|
|
|
4313
|
+
/**
|
|
4314
|
+
* Binding mínimo del motor: resuelve las referencias declarativas del esquema
|
|
4315
|
+
* (`$source`, `$state`, `$param`) antes de pintar cada prop.
|
|
4316
|
+
*
|
|
4317
|
+
* Solo lee y nunca hace red. Una fuente es un **loader**: el componente lo invoca
|
|
4318
|
+
* cuando necesita datos (una tabla, al paginar o filtrar) y la función que lo
|
|
4319
|
+
* atiende es un `handler` que registra el host por nombre. El esquema no puede
|
|
4320
|
+
* nombrar una URL ni un endpoint.
|
|
4321
|
+
*
|
|
4322
|
+
* Escribir estado llega con las acciones (fase 5); `$row` y `$form` llegan con las
|
|
4323
|
+
* tablas y los formularios (fase 8). Hasta entonces avisan con `JR032`.
|
|
4324
|
+
*/
|
|
4325
|
+
|
|
4326
|
+
/**
|
|
4327
|
+
* Handler que registra el host. Recibe la query que pide el componente (por ejemplo,
|
|
4328
|
+
* página y filtros de una tabla) y los parámetros declarados en la fuente.
|
|
4329
|
+
*/
|
|
4330
|
+
type DataHandler = (query: unknown, params: Record<string, SchemaValue>) => unknown;
|
|
4331
|
+
/** Función de carga que recibe el componente. Siempre devuelve una promesa. */
|
|
4332
|
+
type DataLoader = (query?: unknown) => Promise<unknown>;
|
|
4333
|
+
/** Lo que el binding necesita del esquema, del host y del render en curso. */
|
|
4334
|
+
interface BindingScope {
|
|
4335
|
+
/** Fuentes declaradas por la pantalla (`ScreenSchema.data`). */
|
|
4336
|
+
data?: Record<string, DataSourceSchema>;
|
|
4337
|
+
/** Estado inicial de la pantalla (`ScreenSchema.state`). */
|
|
4338
|
+
state?: Record<string, SchemaValue>;
|
|
4339
|
+
/** Parámetros de la ruta, aportados por el host (`$param`). */
|
|
4340
|
+
params?: Record<string, SchemaValue>;
|
|
4341
|
+
/** Handlers que registra el host, por nombre. */
|
|
4342
|
+
handlers?: Record<string, DataHandler>;
|
|
4343
|
+
/** Recibe los avisos del binding (`JR030`, `JR032`). */
|
|
4344
|
+
report: (aviso: JsonEngineIssue) => void;
|
|
4345
|
+
/** Resuelve el resto de valores (por ejemplo, textos `{ i18n }`). Lo aporta el host. */
|
|
4346
|
+
host?: (value: unknown, path: SchemaPath) => unknown;
|
|
4347
|
+
}
|
|
4348
|
+
/** Resolutor de valores que consume el kernel al pintar cada prop. */
|
|
4349
|
+
type BindingResolver = (value: unknown, path: SchemaPath) => unknown;
|
|
4350
|
+
/**
|
|
4351
|
+
* Crea el resolutor de valores de una pantalla.
|
|
4352
|
+
*
|
|
4353
|
+
* Las referencias se resuelven aquí; el resto de valores pasa al `host`. Los
|
|
4354
|
+
* loaders de fuente no llaman a ningún handler hasta que el componente los invoca.
|
|
4355
|
+
*
|
|
4356
|
+
* @example
|
|
4357
|
+
* const resolve = createBindingResolver({
|
|
4358
|
+
* data: { usuarios: { handler: "usuarios" } },
|
|
4359
|
+
* handlers: { usuarios: (query) => fetchUsuarios(query) },
|
|
4360
|
+
* report: (aviso) => issues.push(aviso),
|
|
4361
|
+
* });
|
|
4362
|
+
* resolve({ $source: "usuarios" }, ["content", 0]); // loader (no se llama aún)
|
|
4363
|
+
*/
|
|
4364
|
+
declare function createBindingResolver(scope: BindingScope): BindingResolver;
|
|
4365
|
+
|
|
4366
|
+
/**
|
|
4367
|
+
* Slots: bloques que registra el **host** y el esquema solo nombra.
|
|
4368
|
+
*
|
|
4369
|
+
* Un nodo `{ "type": "slot", "props": { "name": "…", … } }` monta el componente que
|
|
4370
|
+
* el host registró con ese nombre en `slots`. El esquema no puede elegir el
|
|
4371
|
+
* componente ni inyectar código: solo pasa valores (ya resueltos por el binding)
|
|
4372
|
+
* como props. Es la vía para reutilizar pantallas JSX existentes dentro de un JSON.
|
|
4373
|
+
*
|
|
4374
|
+
* Los slots no están en el catálogo: son autoridad del host, igual que los handlers
|
|
4375
|
+
* de datos. Un nombre que el host no registró avisa con `JR010` y no se pinta nada.
|
|
4376
|
+
*/
|
|
4377
|
+
|
|
4378
|
+
/** Componente que el host registra como slot. Recibe los props del nodo ya resueltos. */
|
|
4379
|
+
type SlotComponent = ComponentType<Record<string, unknown>>;
|
|
4380
|
+
/** Slots que registra el host, por nombre. */
|
|
4381
|
+
type SlotRegistry = Record<string, SlotComponent>;
|
|
4382
|
+
|
|
4383
|
+
/**
|
|
4384
|
+
* Efectos de acción: lo que el esquema pide que pase después de una acción.
|
|
4385
|
+
*
|
|
4386
|
+
* Una acción declara su efecto en el JSON; el host decide cómo se cumple. El motor:
|
|
4387
|
+
*
|
|
4388
|
+
* - ejecuta el handler del host (la acción en sí);
|
|
4389
|
+
* - si termina bien, aplica `then` (y los efectos sueltos de la acción);
|
|
4390
|
+
* - si falla o rechaza, aplica `onError`.
|
|
4391
|
+
*
|
|
4392
|
+
* Los efectos (`toast`, `navigate`, `refresh`, `openOverlay`, `closeOverlay`) los
|
|
4393
|
+
* cumple el registro `effects` que pasa el host. Un efecto también puede ser otra
|
|
4394
|
+
* acción (`{ action, args, then, onError }`): el motor la resuelve con el handler del
|
|
4395
|
+
* host y aplica sus propios efectos. Como el JSON es finito, el encadenado termina;
|
|
4396
|
+
* `MAX_EFFECT_DEPTH` lo limita de todos modos (`JR042`).
|
|
4397
|
+
*
|
|
4398
|
+
* Los textos y rutas pueden leer el resultado del handler con `{ "$result": "campo" }`
|
|
4399
|
+
* o `{campo}` dentro de una dirección.
|
|
4400
|
+
*
|
|
4401
|
+
* Si el esquema pide un efecto que el host no implementa, o una acción encadenada que
|
|
4402
|
+
* no existe, el motor avisa al pintar (`JR040`), nunca al ejecutar.
|
|
4403
|
+
*
|
|
4404
|
+
* Sin `then`, `onError` ni efectos, el handler se devuelve tal cual: no cambia nada.
|
|
4405
|
+
*/
|
|
4406
|
+
|
|
4407
|
+
/** Variante de un aviso (`toast`). */
|
|
4408
|
+
type ToastVariant = "success" | "error" | "info" | "warning";
|
|
4409
|
+
/** Lo que el host implementa. Cada efecto es opcional: el motor avisa si falta uno que se usa. */
|
|
4410
|
+
interface EffectRegistry {
|
|
4411
|
+
/** Muestra un aviso al usuario. */
|
|
4412
|
+
toast?: (aviso: {
|
|
4413
|
+
variant: ToastVariant;
|
|
4414
|
+
message: string;
|
|
4415
|
+
}) => void;
|
|
4416
|
+
/** Navega a una dirección. */
|
|
4417
|
+
navigate?: (href: string) => void;
|
|
4418
|
+
/** Refresca una fuente de datos. */
|
|
4419
|
+
refresh?: (source: string) => void;
|
|
4420
|
+
/** Abre un overlay declarado. */
|
|
4421
|
+
openOverlay?: (name: string) => void;
|
|
4422
|
+
/** Cierra un overlay; sin nombre, el que esté abierto. */
|
|
4423
|
+
closeOverlay?: (name?: string) => void;
|
|
4424
|
+
}
|
|
4425
|
+
|
|
4297
4426
|
/**
|
|
4298
4427
|
* Props de `ITSchemaRenderer`.
|
|
4299
4428
|
*
|
|
@@ -4307,9 +4436,32 @@ interface ITJsonRenderEngineProps {
|
|
|
4307
4436
|
catalog?: Catalog;
|
|
4308
4437
|
/** Presupuesto de nodos, profundidad y tiempos. */
|
|
4309
4438
|
limits?: Partial<EngineLimits>;
|
|
4439
|
+
/** Valores de la ruta para `$param`. Los pone el host; el esquema no puede crearlos. */
|
|
4440
|
+
params?: Record<string, SchemaValue>;
|
|
4441
|
+
/**
|
|
4442
|
+
* Handlers de datos que registra el host, por nombre. Las fuentes de `data` los
|
|
4443
|
+
* referencian con `handler`. Conviene memoizarlo: cada fuente se resuelve contra él.
|
|
4444
|
+
*/
|
|
4445
|
+
dataHandlers?: Record<string, DataHandler>;
|
|
4446
|
+
/**
|
|
4447
|
+
* Bloques JSX que registra el host, por nombre. Un nodo `{ "type": "slot", "props": { "name": "…" } }`
|
|
4448
|
+
* monta el componente con ese nombre; el esquema no puede elegir otro.
|
|
4449
|
+
*/
|
|
4450
|
+
slots?: SlotRegistry;
|
|
4310
4451
|
/**
|
|
4311
|
-
*
|
|
4312
|
-
*
|
|
4452
|
+
* Efectos que cumple el host. Una acción con `then`, `onError` o efectos sueltos
|
|
4453
|
+
* los ejecuta después de su handler; `toast` y `navigate` son los más comunes.
|
|
4454
|
+
*/
|
|
4455
|
+
effects?: EffectRegistry;
|
|
4456
|
+
/**
|
|
4457
|
+
* Capacidades que concede el host (`["usuarios.leer", …]`). Un nodo o la pantalla que
|
|
4458
|
+
* declara `requires` solo se pinta si todas están concedidas; si no, avisa con `JR060`.
|
|
4459
|
+
* Sin esta prop, cualquier `requires` se deniega.
|
|
4460
|
+
*/
|
|
4461
|
+
capabilities?: readonly string[];
|
|
4462
|
+
/**
|
|
4463
|
+
* Resuelve los valores que no son referencias del motor (por ejemplo, textos
|
|
4464
|
+
* `{ i18n }`). Las referencias `$source`, `$state` y `$param` las resuelve el motor.
|
|
4313
4465
|
*/
|
|
4314
4466
|
resolveValue?: (value: unknown, path: SchemaPath) => unknown;
|
|
4315
4467
|
/**
|
|
@@ -4337,7 +4489,7 @@ interface ITJsonRenderEngineProps {
|
|
|
4337
4489
|
* @example
|
|
4338
4490
|
* <ITSchemaRenderer schema={schema} onIssue={(issue) => console.warn(issue.code, issue.path)} />
|
|
4339
4491
|
*/
|
|
4340
|
-
declare function ITSchemaRenderer({ schema, catalog, limits, resolveValue, resolveAction, pendingFallback, onIssue, className, }: ITJsonRenderEngineProps): react_jsx_runtime.JSX.Element;
|
|
4492
|
+
declare function ITSchemaRenderer({ schema, catalog, limits, params, dataHandlers, slots, effects, capabilities, resolveValue, resolveAction, pendingFallback, onIssue, className, }: ITJsonRenderEngineProps): react_jsx_runtime.JSX.Element;
|
|
4341
4493
|
|
|
4342
4494
|
/** Props de `NodeBoundary`. */
|
|
4343
4495
|
interface NodeBoundaryProps {
|
|
@@ -4391,6 +4543,18 @@ interface RenderNodeOptions {
|
|
|
4391
4543
|
resolveValue?: (value: unknown, path: SchemaPath) => unknown;
|
|
4392
4544
|
/** Resuelve el handler de una acción declarada. */
|
|
4393
4545
|
resolveAction?: (node: NodeSchema, prop: string, action: unknown, path: SchemaPath) => ((...args: unknown[]) => void) | undefined;
|
|
4546
|
+
/** Slots que registra el host. Un nodo `slot` monta el componente con su nombre. */
|
|
4547
|
+
slots?: SlotRegistry;
|
|
4548
|
+
/** Efectos que cumple el host (`toast`, `navigate`…) tras una acción. */
|
|
4549
|
+
effects?: EffectRegistry;
|
|
4550
|
+
/** Milisegundos que una acción puede tardar antes de considerarla colgada (`JR041`). */
|
|
4551
|
+
actionTimeoutMs?: number;
|
|
4552
|
+
/** Escribe en el estado de la pantalla (efecto `set`). */
|
|
4553
|
+
setState?: (cambios: Record<string, unknown>) => void;
|
|
4554
|
+
/** Capacidades que concede el host (para las acciones con `requires`). */
|
|
4555
|
+
capabilities?: readonly string[];
|
|
4556
|
+
/** Recibe los avisos que se producen fuera del render (por ejemplo, un timeout). */
|
|
4557
|
+
onIssue?: (aviso: JsonEngineIssue) => void;
|
|
4394
4558
|
/** Renderiza los hijos de un nodo (lo aporta el recorrido del árbol). */
|
|
4395
4559
|
renderChildren?: (node: NodeSchema, path: SchemaPath) => React__default.ReactNode;
|
|
4396
4560
|
/** Qué pintar mientras un nodo está pendiente (streaming). */
|
|
@@ -4440,6 +4604,148 @@ declare function auditTree(schema: ScreenSchema, limits: EngineLimits): TreeAudi
|
|
|
4440
4604
|
/** Cuenta los nodos pendientes de un esquema ya parseado. */
|
|
4441
4605
|
declare function countPendingNodes(schema: ScreenSchema | null): number;
|
|
4442
4606
|
|
|
4607
|
+
/**
|
|
4608
|
+
* Contrato de rutas declarativas: un `routes.json` describe qué pantalla pinta cada
|
|
4609
|
+
* dirección, con qué parámetros y query, y qué entradas aparecen en la navegación.
|
|
4610
|
+
*
|
|
4611
|
+
* Como el resto del motor, es entrada no confiable: no hay código ni URLs externas,
|
|
4612
|
+
* solo nombres de pantalla (`page`) que el host resuelve. Las rutas con `children`
|
|
4613
|
+
* son grupos (agrupan entradas de menú); solo las hojas se pueden pintar.
|
|
4614
|
+
*/
|
|
4615
|
+
|
|
4616
|
+
/** Entrada de menú asociada a una ruta. Sin `nav`, la ruta existe pero no se muestra. */
|
|
4617
|
+
interface RouteNavSchema {
|
|
4618
|
+
/** Texto de la entrada; admite `{ i18n }`. */
|
|
4619
|
+
label: SchemaValue;
|
|
4620
|
+
/** Nombre de icono del registro del host. */
|
|
4621
|
+
icon?: string;
|
|
4622
|
+
/** Contador visible junto a la entrada. */
|
|
4623
|
+
badge?: number | string;
|
|
4624
|
+
}
|
|
4625
|
+
/** Ruta tal como la escribe el JSON. */
|
|
4626
|
+
interface RouteSchema {
|
|
4627
|
+
/** Identificador estable: lo usa la navegación para marcar la entrada activa. */
|
|
4628
|
+
id: string;
|
|
4629
|
+
/**
|
|
4630
|
+
* Segmentos de la ruta, relativos al padre (`usuarios`, `:id`). Los hijos sin `path`
|
|
4631
|
+
* heredan el del padre. Las rutas raíz empiezan por `/`.
|
|
4632
|
+
*/
|
|
4633
|
+
path?: string;
|
|
4634
|
+
/** Pantalla JSON que pinta la ruta. Obligatoria en las hojas; prohibida en los grupos. */
|
|
4635
|
+
page?: string;
|
|
4636
|
+
/** Query que exige la ruta (`{ estado: "Activo" }`). Más claves = más específica. */
|
|
4637
|
+
query?: Record<string, string>;
|
|
4638
|
+
/** Entrada de menú. */
|
|
4639
|
+
nav?: RouteNavSchema;
|
|
4640
|
+
/** Rutas hijas. Si existen, la ruta es un grupo. */
|
|
4641
|
+
children?: RouteSchema[];
|
|
4642
|
+
}
|
|
4643
|
+
/** Documento de rutas completo. */
|
|
4644
|
+
interface RoutesSchema {
|
|
4645
|
+
/** Identificador del formato. */
|
|
4646
|
+
$schema?: "axzy/routes";
|
|
4647
|
+
/** Versión del formato. */
|
|
4648
|
+
version: number;
|
|
4649
|
+
/** Rutas raíz. */
|
|
4650
|
+
routes: RouteSchema[];
|
|
4651
|
+
}
|
|
4652
|
+
/** Ruta aplanada y lista para casarla: solo hojas, con su path completo. */
|
|
4653
|
+
interface FlatRoute {
|
|
4654
|
+
/** Identificador de la ruta. */
|
|
4655
|
+
id: string;
|
|
4656
|
+
/** Segmentos completos, sin barras (`["usuarios", ":id"]`). Vacío para la raíz. */
|
|
4657
|
+
segments: string[];
|
|
4658
|
+
/** Pantalla que pinta. */
|
|
4659
|
+
page: string;
|
|
4660
|
+
/** Query que exige la ruta. */
|
|
4661
|
+
query: Record<string, string>;
|
|
4662
|
+
/** Entrada de menú, si la tiene. */
|
|
4663
|
+
nav?: RouteNavSchema;
|
|
4664
|
+
/** Ids de los grupos a los que pertenece, de fuera a dentro. */
|
|
4665
|
+
groups: string[];
|
|
4666
|
+
}
|
|
4667
|
+
/** Une un path de padre con el propio y normaliza las barras. */
|
|
4668
|
+
declare function joinRoutePath(parent: string, own: unknown): string;
|
|
4669
|
+
/**
|
|
4670
|
+
* Valida un documento de rutas. Nunca lanza: devuelve los avisos con su código y su ruta.
|
|
4671
|
+
*
|
|
4672
|
+
* @example
|
|
4673
|
+
* validateRoutes({ version: 1, routes: [{ id: "inicio", path: "/inicio", page: "inicio" }] }); // []
|
|
4674
|
+
*/
|
|
4675
|
+
declare function validateRoutes(input: unknown): JsonEngineIssue[];
|
|
4676
|
+
/**
|
|
4677
|
+
* Aplana las rutas en hojas con su path completo. Asume un documento válido
|
|
4678
|
+
* (ver `validateRoutes`); las ramas sin `page` se descartan.
|
|
4679
|
+
*/
|
|
4680
|
+
declare function flattenRoutes(routes: RouteSchema[]): FlatRoute[];
|
|
4681
|
+
|
|
4682
|
+
/**
|
|
4683
|
+
* Casa una dirección (path + query) con una ruta declarada.
|
|
4684
|
+
*
|
|
4685
|
+
* Reglas, de más a menos específica:
|
|
4686
|
+
* 1. Más segmentos estáticos gana a un `:param` en la misma posición
|
|
4687
|
+
* (`/usuarios/nuevo` antes que `/usuarios/:id`).
|
|
4688
|
+
* 2. Con el mismo path, gana la ruta que exige más claves de query
|
|
4689
|
+
* (`?estado=Activo` antes que la ruta sin query).
|
|
4690
|
+
* 3. Empate: la primera declarada.
|
|
4691
|
+
*
|
|
4692
|
+
* Nunca lanza: una dirección que no casa devuelve `null`.
|
|
4693
|
+
*/
|
|
4694
|
+
|
|
4695
|
+
/** Resultado de casar una dirección. */
|
|
4696
|
+
interface RouteMatch {
|
|
4697
|
+
/** Ruta que casa. */
|
|
4698
|
+
route: FlatRoute;
|
|
4699
|
+
/** Valores de los `:param` de la ruta, por nombre (sin los dos puntos). */
|
|
4700
|
+
params: Record<string, string>;
|
|
4701
|
+
}
|
|
4702
|
+
/**
|
|
4703
|
+
* Busca la ruta que corresponde a una dirección.
|
|
4704
|
+
*
|
|
4705
|
+
* @example
|
|
4706
|
+
* matchRoute(flattenRoutes(routes), ["usuarios"], { estado: "Activo" })?.route.id; // "u-activos"
|
|
4707
|
+
*/
|
|
4708
|
+
declare function matchRoute(routes: FlatRoute[], segments: string[], query?: Record<string, string>): RouteMatch | null;
|
|
4709
|
+
/**
|
|
4710
|
+
* Dirección (`/usuarios/42?estado=Activo`) de una ruta, con sus `:param` rellenos.
|
|
4711
|
+
* Los `:param` sin valor se dejan tal cual para que se vean en el menú.
|
|
4712
|
+
*/
|
|
4713
|
+
declare function routeHref(route: FlatRoute, params?: Record<string, string>): string;
|
|
4714
|
+
|
|
4715
|
+
/**
|
|
4716
|
+
* Árbol de navegación derivado de `routes.json`.
|
|
4717
|
+
*
|
|
4718
|
+
* Solo entran las rutas con `nav`. Un grupo con `nav` se convierte en una entrada con
|
|
4719
|
+
* hijos y, como enlace, apunta a su primera hija con dirección. Un grupo sin `nav` no
|
|
4720
|
+
* aparece: sus hijos suben de nivel. El host decide cómo pintar el árbol (sidebar, top
|
|
4721
|
+
* bar…); el motor solo entrega la forma y las direcciones.
|
|
4722
|
+
*/
|
|
4723
|
+
|
|
4724
|
+
/** Entrada del árbol de navegación. */
|
|
4725
|
+
interface NavNode {
|
|
4726
|
+
/** Id de la ruta (o del grupo) de origen. */
|
|
4727
|
+
id: string;
|
|
4728
|
+
/** Texto de la entrada; puede ser una referencia `{ i18n }` que resuelve el host. */
|
|
4729
|
+
label: SchemaValue;
|
|
4730
|
+
/** Icono, tal como lo declara el JSON. */
|
|
4731
|
+
icon?: string;
|
|
4732
|
+
/** Contador de la entrada. */
|
|
4733
|
+
badge?: number | string;
|
|
4734
|
+
/** Dirección a la que lleva la entrada. Los grupos apuntan a su primera hija con dirección. */
|
|
4735
|
+
href?: string;
|
|
4736
|
+
/** Entradas hijas. Presentes solo en los grupos. */
|
|
4737
|
+
children?: NavNode[];
|
|
4738
|
+
}
|
|
4739
|
+
/**
|
|
4740
|
+
* Construye el árbol de navegación a partir de las rutas declaradas.
|
|
4741
|
+
*
|
|
4742
|
+
* @example
|
|
4743
|
+
* buildNavigationTree(routes.routes)[0]; // { id: "inicio", label: {...}, href: "/inicio" }
|
|
4744
|
+
*/
|
|
4745
|
+
declare function buildNavigationTree(routes: RouteSchema[]): NavNode[];
|
|
4746
|
+
/** `true` cuando la entrada, o alguno de sus hijos, es la ruta indicada. */
|
|
4747
|
+
declare function navContainsRoute(entry: NavNode, routeId: string): boolean;
|
|
4748
|
+
|
|
4443
4749
|
/** Entradas del catálogo por defecto. */
|
|
4444
4750
|
declare const AXZY_CATALOG_ENTRIES: CatalogEntry[];
|
|
4445
4751
|
/** Tipos excluidos a propósito, con el motivo que se muestra en el aviso. */
|
|
@@ -4689,10 +4995,52 @@ interface StreamState {
|
|
|
4689
4995
|
pendingNodes: number;
|
|
4690
4996
|
/** `true` cuando el emisor está activo. */
|
|
4691
4997
|
streaming: boolean;
|
|
4998
|
+
/** Texto acumulado hasta ahora. */
|
|
4999
|
+
text: string;
|
|
5000
|
+
/** Avisos del stream (`JR080`: falló, o terminó sin cerrar el JSON). */
|
|
5001
|
+
issues: JsonEngineIssue[];
|
|
4692
5002
|
}
|
|
4693
5003
|
/** `true` cuando un nodo está pendiente según el parser. */
|
|
4694
5004
|
declare function isNodePending(node: NodeSchema | undefined): boolean;
|
|
4695
5005
|
|
|
5006
|
+
/**
|
|
5007
|
+
* `useSchemaStream`: pinta un esquema mientras llega por trozos.
|
|
5008
|
+
*
|
|
5009
|
+
* Acepta una fuente completa (`string`), un iterable asíncrono o un `ReadableStream` de
|
|
5010
|
+
* texto. Acumula el texto, lo parsea en modo tolerante con cada trozo y devuelve el último
|
|
5011
|
+
* árbol válido. Lo que aún no está cerrado no se pinta a medias (ver `pendingFallback`).
|
|
5012
|
+
*
|
|
5013
|
+
* Garantías:
|
|
5014
|
+
*
|
|
5015
|
+
* - **Sin pérdida con StrictMode:** el texto acumulado vive en un registro asociado a la
|
|
5016
|
+
* fuente, no en el efecto. Si React monta dos veces, el segundo montaje continúa donde
|
|
5017
|
+
* quedó el primero; ningún fragmento se pierde ni se duplica.
|
|
5018
|
+
* - **Cancelación:** si el componente deja de usar la fuente, el registro se cierra y se
|
|
5019
|
+
* devuelve el control a la fuente (`return()` del iterable, `cancel()` del stream).
|
|
5020
|
+
* - **Sin árbol roto:** si el texto deja de ser recuperable, se conserva el último árbol
|
|
5021
|
+
* válido. Un stream que falla o termina sin cerrar avisa con `JR080`.
|
|
5022
|
+
*
|
|
5023
|
+
* **La fuente debe ser estable entre renders.** Crea el iterable o el stream una vez
|
|
5024
|
+
* (en un estado, o fuera del componente) y pásalo tal cual. Crearlo dentro del render
|
|
5025
|
+
* arranca un stream nuevo en cada render.
|
|
5026
|
+
*
|
|
5027
|
+
* @example
|
|
5028
|
+
* const { tree, streaming, issues } = useSchemaStream(respuestaDelModelo);
|
|
5029
|
+
* <ITSchemaRenderer schema={tree} onIssue={registrar} pendingFallback={<ITSkeleton />} />
|
|
5030
|
+
*/
|
|
5031
|
+
|
|
5032
|
+
/** Fuente de un esquema que llega por trozos. */
|
|
5033
|
+
type StreamSource = string | AsyncIterable<string> | ReadableStream<string>;
|
|
5034
|
+
/**
|
|
5035
|
+
* Devuelve el estado de un esquema que llega por trozos.
|
|
5036
|
+
*
|
|
5037
|
+
* @example
|
|
5038
|
+
* const estado = useSchemaStream(stream);
|
|
5039
|
+
* estado.tree; // árbol pintable, o null si aún no hay nada válido
|
|
5040
|
+
* estado.streaming; // true mientras la fuente sigue emitiendo
|
|
5041
|
+
*/
|
|
5042
|
+
declare function useSchemaStream(source: StreamSource | null | undefined): StreamState;
|
|
5043
|
+
|
|
4696
5044
|
/** Allowed file MIME types for the dropzone */
|
|
4697
5045
|
declare enum FileTypeEnum {
|
|
4698
5046
|
PDF = "application/pdf",
|
|
@@ -4721,8 +5069,14 @@ interface ITDropfileProps {
|
|
|
4721
5069
|
onFileSelect: (file: File | null) => void;
|
|
4722
5070
|
/** Called when the user cancels the current selection. */
|
|
4723
5071
|
onCancel?: () => void;
|
|
4724
|
-
/** Called when the user confirms and submits the file. */
|
|
4725
|
-
onSubmit?: (file: File) => void
|
|
5072
|
+
/** Called when the user confirms and submits the file. With `autoUpload`, it runs right after selection and may return a promise that drives the status. */
|
|
5073
|
+
onSubmit?: (file: File) => void | Promise<void>;
|
|
5074
|
+
/**
|
|
5075
|
+
* Sube en cuanto se elige el archivo, sin paso de confirmar. Usa `onSubmit` como la subida:
|
|
5076
|
+
* el estado pasa a subiendo y luego a subido, o a error si la promesa falla.
|
|
5077
|
+
* @default false
|
|
5078
|
+
*/
|
|
5079
|
+
autoUpload?: boolean;
|
|
4726
5080
|
/** List of accepted MIME types. */
|
|
4727
5081
|
acceptedFileTypes?: FileTypeEnum[];
|
|
4728
5082
|
/** Additional classes for the preview/content area. */
|
|
@@ -5412,4 +5766,4 @@ declare const es: ITMessages;
|
|
|
5412
5766
|
*/
|
|
5413
5767
|
declare const en: ITMessages;
|
|
5414
5768
|
|
|
5415
|
-
export { AXZY_CATALOG_ENTRIES, AXZY_EXCLUDED_TYPES, type ActionSchema, CURRENT_SCHEMA_VERSION, type Catalog, type CatalogEntry, type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type ComponentContract, DEFAULT_LIMITS, DEFAULT_MIGRATIONS, type DataSourceSchema, type EffectSchema, type EngineLimits, type FieldConfig, type FieldConfigV2, FileTypeEnum, GLOBALLY_FORBIDDEN_PROPS, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITI18nProvider, type ITI18nProviderProps, type ITI18nValue, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITJSONEditor, type ITJSONEditorProps, type ITJsonRenderEngineProps, ITJsonRenderer, type ITJsonRendererProps, ITLayout, type ITLayoutProps, ITLineBarChart, type ITLineBarChartProps, type ITLineBarDatum, ITLoader, type LoaderProps as ITLoaderProps, type ITLocale, ITMaskedInput, type ITMaskedInputProps, type ITMessages, type ITMessagesByLocale, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSchemaRenderer, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type JsonComponentNode, type JsonComponentType, type JsonEngineCode, JsonEngineError, type JsonEngineIssue, type JsonEngineSeverity, type LimitTracker, type MigrationRegistry, type MigrationResult, NodeBoundary, type NodeSchema, type NodeStatus, type PartialParseResult, type PathSegment, type PropContract, type PropKind, type PropSpec, type ResolvedNode, type SchemaMigration, type SchemaPath, type SchemaReference, type SchemaValue, type ScreenSchema, type StreamState, type TableColors, type TableDensity, type TableDesign, type TableDesignProps, type TableDesignSlot, type UnresolvedNode, UploadStatus, type UseTableStateOptions, type UseTableStateResult, type ValidateOptions, type ValidationReport, type ValidationVerdict, type VocabularyContract, type WhenSchema, auditTree, axzyCatalog, axzyCatalogTypes, buildVocabularyContract, countPendingNodes, createCatalog, createLimitTracker, createValidationSchema, en as enMessages, es as esMessages, formatPath, formatVocabularyForPrompt, getCatalogEntry, getContrastTextColor, getExclusionReason, hasPath, isExcludedType, isLightColor, isNodePending, issue, migrateSchema, parsePartialSchema, parsePath, propPath, pushPath, readPath, renderNode, resolveCssColor, resolveLimits, resolveNode, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useITTranslation, useJsonRender, useTableState, validateSchema };
|
|
5769
|
+
export { AXZY_CATALOG_ENTRIES, AXZY_EXCLUDED_TYPES, type ActionSchema, type BindingResolver, type BindingScope, CURRENT_SCHEMA_VERSION, type Catalog, type CatalogEntry, type Column, type ColumnFilterMode, type ColumnFilterValue, type ColumnFilters, type ComponentContract, DEFAULT_LIMITS, DEFAULT_MIGRATIONS, type DataHandler, type DataLoader, type DataSourceSchema, type EffectRegistry, type EffectSchema, type EngineLimits, type FieldConfig, type FieldConfigV2, FileTypeEnum, type FlatRoute, GLOBALLY_FORBIDDEN_PROPS, ITAccordion, type ITAccordionItem, type ITAccordionProps, ITAlert, type ITAlertProps, ITAvatar, type ITAvatarProps, ITBadget, type ITBadgetProps, type ITBreadcrumbItem, ITBreadcrumbs, type ITBreadcrumbsProps, ITButton, type ITButtonProps, ITCalendar, type ITCalendarProps, ITCard, type ITCardProps, ITCheckbox, type ITCheckboxProps, ITChip, ITChipInput, type ITChipInputProps, type ITChipProps, ITConfirmDialog, type ITConfirmDialogProps, ITDataTable, type ITDataTableFetchParams, type ITDataTableProps, type ITDataTableResponse, ITDatePicker, type ITDatePickerProps, ITDialog, type ITDialogProps, ITDivider, type ITDividerProps, ITDrawer, type ITDrawerProps, ITDropdownMenu, type ITDropdownMenuItem, type ITDropdownMenuProps, ITDropfile, ITEmptyState, type ITEmptyStateProps, ITField, type ITFieldProps, ITFlex, type ITFlexProps, ITFormBuilder, type ITFormBuilderProps, ITFormHeader, type ITFormHeaderProps, ITGrid, type ITGridProps, ITI18nProvider, type ITI18nProviderProps, type ITI18nValue, ITImage, type ITImageProps, ITInput, ITInputNumber, type ITInputNumberProps, type ITInputProps, ITJSONEditor, type ITJSONEditorProps, type ITJsonRenderEngineProps, ITJsonRenderer, type ITJsonRendererProps, ITLayout, type ITLayoutProps, ITLineBarChart, type ITLineBarChartProps, type ITLineBarDatum, ITLoader, type LoaderProps as ITLoaderProps, type ITLocale, ITMaskedInput, type ITMaskedInputProps, type ITMessages, type ITMessagesByLocale, ITMultiSelect, type ITMultiSelectOption, type ITMultiSelectProps, ITNavbar, type ITNavbarProps, type ITNavigationItem, type ITNavigationSubItem, type ITNavigationSubItemEntry, type ITNavigationSubItemGroup, ITPage, ITPageHeader, type ITPageHeaderProps, type ITPageProps, ITPagination, type ITPaginationProps, ITPopover, type ITPopoverProps, ITProgress, type ITProgressProps, ITRadioGroup, type ITRadioGroupProps, type ITRadioOption, ITSchemaRenderer, ITSearchSelect, type ITSearchSelectProps, ITSearchTable, type ITSearchTableProps, ITSegmentedControl, type ITSegmentedControlProps, ITSelect, type ITSelectProps, ITSidebar, type ITSidebarBrand, type ITSidebarNotification, type ITSidebarProps, ITSkeleton, type ITSkeletonProps, ITSlideToggle, type ITSlideToggleProps, ITSlider, type ITSliderProps, ITStack, type ITStackProps, ITStatCard, type ITStatCardProps, ITStepper, type ITStepperProps, type ITTabItem, ITTable, type ITTableProps, ITTabs, type ITTabsProps, ITText, type ITTextProps, ITTextarea, type ITTextareaProps, type ITThemeAppearance, type ITThemeConfig, type ITThemePalette, ITThemeProvider, type ITThemeProviderProps, ITTimePicker, type ITTimePickerProps, ITToast, type ITToastProps, ITTripleFilter, type ITTripleFilterOption, type ITTripleFilterProps, ITWysiwyg, type ITWysiwygProps, type JsonComponentNode, type JsonComponentType, type JsonEngineCode, JsonEngineError, type JsonEngineIssue, type JsonEngineSeverity, type LimitTracker, type MigrationRegistry, type MigrationResult, type NavNode, NodeBoundary, type NodeSchema, type NodeStatus, type PartialParseResult, type PathSegment, type PropContract, type PropKind, type PropSpec, type ResolvedNode, type RouteMatch, type RouteNavSchema, type RouteSchema, type RoutesSchema, type SchemaMigration, type SchemaPath, type SchemaReference, type SchemaValue, type ScreenSchema, type SlotComponent, type SlotRegistry, type StreamSource, type StreamState, type TableColors, type TableDensity, type TableDesign, type TableDesignProps, type TableDesignSlot, type ToastVariant, type UnresolvedNode, UploadStatus, type UseTableStateOptions, type UseTableStateResult, type ValidateOptions, type ValidationReport, type ValidationVerdict, type VocabularyContract, type WhenSchema, auditTree, axzyCatalog, axzyCatalogTypes, buildNavigationTree, buildVocabularyContract, countPendingNodes, createBindingResolver, createCatalog, createLimitTracker, createValidationSchema, en as enMessages, es as esMessages, flattenRoutes, formatPath, formatVocabularyForPrompt, getCatalogEntry, getContrastTextColor, getExclusionReason, hasPath, isExcludedType, isLightColor, isNodePending, issue, joinRoutePath, matchRoute, migrateSchema, navContainsRoute, parsePartialSchema, parsePath, propPath, pushPath, readPath, renderNode, resolveCssColor, resolveLimits, resolveNode, routeHref, useClickOutside, useDebouncedSearch, useEditableRow, useFloatingPanel, useITFlatAppearance, useITTheme, useITThemeSafe, useITTranslation, useJsonRender, useSchemaStream, useTableState, validateRoutes, validateSchema };
|