@servicetitan/json-render-react 0.2.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/catalog/context/catalog-prompt.md +229 -0
- package/dist/catalog/context/schema.json +56 -0
- package/dist/catalog/core/catalog-prompt.md +104 -90
- package/dist/catalog/core/schema.json +0 -1
- package/dist/catalog/marketing/catalog-prompt.md +104 -90
- package/dist/catalog/marketing/schema.json +0 -1
- package/dist/context/catalog/catalog-def.d.ts +50 -0
- package/dist/context/catalog/context-card.catalog.d.ts +19 -0
- package/dist/context/catalog/context-card.d.ts +8 -0
- package/dist/context/catalog/context-data-table.catalog.d.ts +34 -0
- package/dist/context/catalog/context-data-table.css.d.ts +2 -0
- package/dist/context/catalog/context-data-table.d.ts +6 -0
- package/dist/context/catalog/context-file-list.catalog.d.ts +11 -0
- package/dist/context/catalog/context-file-list.css.d.ts +16 -0
- package/dist/context/catalog/context-file-list.d.ts +6 -0
- package/dist/context/catalog/context-list.catalog.d.ts +48 -0
- package/dist/context/catalog/context-list.css.d.ts +16 -0
- package/dist/context/catalog/context-list.d.ts +6 -0
- package/dist/context/catalog/context-metric-grid.catalog.d.ts +22 -0
- package/dist/context/catalog/context-metric-grid.css.d.ts +13 -0
- package/dist/context/catalog/context-metric-grid.d.ts +6 -0
- package/dist/context/catalog/context-note-list.catalog.d.ts +15 -0
- package/dist/context/catalog/context-note-list.d.ts +6 -0
- package/dist/context/catalog/context-overview.catalog.d.ts +8 -0
- package/dist/context/catalog/context-overview.css.d.ts +2 -0
- package/dist/context/catalog/context-overview.d.ts +6 -0
- package/dist/context/catalog/context-panel.catalog.d.ts +6 -0
- package/dist/context/catalog/context-panel.css.d.ts +1 -0
- package/dist/context/catalog/context-panel.d.ts +6 -0
- package/dist/context/catalog/context-tabular-list.catalog.d.ts +19 -0
- package/dist/context/catalog/context-tabular-list.css.d.ts +17 -0
- package/dist/context/catalog/context-tabular-list.d.ts +6 -0
- package/dist/context/catalog/index.d.ts +10 -0
- package/dist/context/catalog/schemas.d.ts +151 -0
- package/dist/context/components/collapsible-card.css.d.ts +41 -0
- package/dist/context/components/collapsible-card.d.ts +14 -0
- package/dist/context/components/context-ai-summary.css.d.ts +5 -0
- package/dist/context/components/context-ai-summary.d.ts +4 -0
- package/dist/context/components/context-chip-tone.d.ts +10 -0
- package/dist/context/components/context-note-list.css.d.ts +10 -0
- package/dist/context/components/context-render-error-boundary.d.ts +21 -0
- package/dist/context/constants.d.ts +6 -0
- package/dist/context/index.d.ts +4 -0
- package/dist/context/validate-context-spec-deep.d.ts +9 -0
- package/dist/context/validate-context-spec.d.ts +11 -0
- package/dist/core/catalog/alert.catalog.d.ts +2 -0
- package/dist/core/catalog/button.catalog.d.ts +3 -0
- package/dist/core/catalog/card.catalog.d.ts +2 -0
- package/dist/core/catalog/catalog-def.d.ts +33 -19
- package/dist/core/catalog/checkbox.catalog.d.ts +1 -0
- package/dist/core/catalog/chip.catalog.d.ts +1 -0
- package/dist/core/catalog/flex.catalog.d.ts +13 -0
- package/dist/core/catalog/grid.catalog.d.ts +4 -0
- package/dist/core/catalog/input.catalog.d.ts +1 -0
- package/dist/core/catalog/link.catalog.d.ts +2 -0
- package/dist/core/catalog/listbox.catalog.d.ts +1 -0
- package/dist/core/catalog/radio-group.catalog.d.ts +1 -0
- package/dist/core/catalog/schemas.d.ts +33 -19
- package/dist/core/catalog/switch.catalog.d.ts +1 -0
- package/dist/core/catalog/text.catalog.d.ts +0 -8
- package/dist/core/catalog/textarea.catalog.d.ts +1 -0
- package/dist/generate.d.ts +4 -4
- package/dist/index.d.ts +6 -3
- package/dist/json-render-react.js +1820 -705
- package/dist/json-render-react.js.map +1 -1
- package/dist/marketing/catalog/catalog.d.ts +1 -1
- package/dist/marketing/catalog/index.d.ts +1 -1
- package/dist/marketing/catalog/scoped-catalogs.d.ts +4 -0
- package/dist/registry-utils.d.ts +1 -1
- package/dist/registry.d.ts +1 -0
- package/dist/renderers/context-spec-renderer.d.ts +6 -0
- package/dist/renderers/sectioned-context-renderer.css.d.ts +1 -0
- package/dist/renderers/sectioned-context-renderer.d.ts +36 -0
- package/dist/renderers/spec-renderer.d.ts +6 -1
- package/dist/renderers/types.d.ts +2 -1
- package/dist/renderers/wrap-context-registry.d.ts +3 -0
- package/dist/scoped-catalog.d.ts +64 -0
- package/dist/styles.css +1 -1
- package/dist/test/setup-dom.d.ts +1 -0
- package/dist/types.d.ts +6 -3
- package/package.json +4 -2
- package/dist/core/catalog/badge.catalog.d.ts +0 -12
- package/dist/core/catalog/badge.css.d.ts +0 -1
- package/dist/core/catalog/badge.d.ts +0 -8
- package/dist/marketing/catalog/teams.d.ts +0 -4
- package/dist/team-catalog.d.ts +0 -26
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const marketingCatalog: import('../..').
|
|
1
|
+
export declare const marketingCatalog: import('../..').ScopedCatalogDef;
|
|
@@ -3,4 +3,4 @@ import { marketingCatalog } from './catalog';
|
|
|
3
3
|
export { marketingRenderers } from './components';
|
|
4
4
|
export { marketingCatalog };
|
|
5
5
|
export declare const marketingCatalogEntries: CatalogEntry[];
|
|
6
|
-
export {
|
|
6
|
+
export { scopedCatalogs } from './scoped-catalogs';
|
package/dist/registry-utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AllComponentRenderers } from './renderers/types';
|
|
2
|
-
import { ComponentCatalogDef } from './
|
|
2
|
+
import { ComponentCatalogDef } from './scoped-catalog';
|
|
3
3
|
import { CatalogEntry, RendererContext } from './types';
|
|
4
4
|
export declare function filterCatalogEntries(entries: CatalogEntry[], renderer: RendererContext): CatalogEntry[];
|
|
5
5
|
export declare function toComponentCatalogMap(entries: CatalogEntry[]): Record<string, ComponentCatalogDef>;
|
package/dist/registry.d.ts
CHANGED
|
@@ -4,5 +4,6 @@ export declare function getRegistry(renderer?: RendererContext): import('@json-r
|
|
|
4
4
|
export declare const registry: import('@json-render/react').ComponentRegistry;
|
|
5
5
|
export declare const handlers: (getSetState: () => import('@json-render/react').SetState | undefined, getState: () => import('@json-render/core').StateModel) => Record<string, (params: Record<string, unknown>) => Promise<void>>;
|
|
6
6
|
export declare const executeAction: (actionName: string, params: Record<string, unknown> | undefined, setState: import('@json-render/react').SetState, state?: import('@json-render/core').StateModel) => Promise<void>;
|
|
7
|
+
export declare function getContextRegistry(): import('@json-render/react').DefineRegistryResult;
|
|
7
8
|
/** Core catalog used for schema generation and prompt artifacts. */
|
|
8
9
|
export { coreCatalog as catalog };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ContextRenderErrorInfo } from '../context/components/context-render-error-boundary';
|
|
2
|
+
import { SpecRendererProps } from './spec-renderer';
|
|
3
|
+
export type ContextSpecRendererProps = Omit<SpecRendererProps, "registry" | "handlers"> & Partial<Pick<SpecRendererProps, "registry" | "handlers">> & {
|
|
4
|
+
onRenderError?: (info: ContextRenderErrorInfo) => void;
|
|
5
|
+
};
|
|
6
|
+
export declare const ContextSpecRenderer: ({ spec, registry, handlers, actions, onRenderError, loading, }: ContextSpecRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const sectionLoadingTail: string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Spec } from '@json-render/core';
|
|
2
|
+
import { ComponentRegistry, DefineRegistryResult } from '@json-render/react';
|
|
3
|
+
import { ContextRenderErrorInfo } from '../context/components/context-render-error-boundary';
|
|
4
|
+
import { SpecRendererProps } from './spec-renderer';
|
|
5
|
+
export type ContextSectionStatus = "loading" | "ready" | "error";
|
|
6
|
+
/** A single top-level context section rendered by its own SpecRenderer + store. */
|
|
7
|
+
export interface ContextSection {
|
|
8
|
+
id: string;
|
|
9
|
+
title?: string;
|
|
10
|
+
spec: Spec | null;
|
|
11
|
+
status: ContextSectionStatus;
|
|
12
|
+
error?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface SectionedContextRendererProps {
|
|
15
|
+
/** Combined ContextPanel spec — split client-side into per-section slots. */
|
|
16
|
+
spec?: Spec | null;
|
|
17
|
+
/** Explicit ordered section slots (parallel per-section streams). Wins over `spec`. */
|
|
18
|
+
sections?: ContextSection[];
|
|
19
|
+
/** Global streaming flag — the last in-progress section shows a loading state. */
|
|
20
|
+
loading?: boolean;
|
|
21
|
+
registry?: ComponentRegistry;
|
|
22
|
+
handlers?: DefineRegistryResult["handlers"];
|
|
23
|
+
actions?: SpecRendererProps["actions"];
|
|
24
|
+
onRenderError?: (info: ContextRenderErrorInfo) => void;
|
|
25
|
+
}
|
|
26
|
+
/** Build a standalone `{ root, elements, state }` spec for one section. */
|
|
27
|
+
export declare function extractSectionSpec(spec: Spec, sectionId: string): {
|
|
28
|
+
spec: Spec;
|
|
29
|
+
hasMissingRefs: boolean;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Renders a context panel as independent per-section renderers. Each section
|
|
33
|
+
* owns its own SpecRenderer + state store, so streaming in (or parallel-loading)
|
|
34
|
+
* later sections never resets an already-expanded section.
|
|
35
|
+
*/
|
|
36
|
+
export declare const SectionedContextRenderer: ({ spec, sections, loading, registry, handlers, actions, onRenderError, }: SectionedContextRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -20,6 +20,11 @@ export interface SpecRendererProps {
|
|
|
20
20
|
* `atlas.navigate`, `atlas.toolCall`) without changes to this package.
|
|
21
21
|
*/
|
|
22
22
|
actions?: SpecActionsFactory;
|
|
23
|
+
/**
|
|
24
|
+
* True while the spec is still streaming in. Renders partial trees and
|
|
25
|
+
* suppresses "missing child" warnings for elements that have not arrived yet.
|
|
26
|
+
*/
|
|
27
|
+
loading?: boolean;
|
|
23
28
|
}
|
|
24
|
-
export declare const SpecRenderer: ({ spec, registry, handlers, actions }: SpecRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export declare const SpecRenderer: ({ spec, registry, handlers, actions, loading }: SpecRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
25
30
|
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { contextContentRenderers, contextShellRenderers } from '../context/catalog';
|
|
1
2
|
import { baseRenderers } from '../core/catalog';
|
|
2
3
|
import { marketingRenderers } from '../marketing/catalog/components';
|
|
3
|
-
export type AllComponentRenderers = typeof baseRenderers & typeof marketingRenderers;
|
|
4
|
+
export type AllComponentRenderers = typeof baseRenderers & typeof marketingRenderers & typeof contextShellRenderers & typeof contextContentRenderers;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ComponentRegistry } from '@json-render/react';
|
|
2
|
+
import { ContextRenderErrorInfo } from '../context/components/context-render-error-boundary';
|
|
3
|
+
export declare function wrapContextRegistryWithErrorFallback(registry: ComponentRegistry, onRenderError?: (info: ContextRenderErrorInfo) => void): ComponentRegistry;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Catalog } from '@json-render/core';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
import { baseComponents } from './core/catalog/schemas';
|
|
4
|
+
export interface ComponentCatalogDef {
|
|
5
|
+
props: z.ZodType;
|
|
6
|
+
slots: string[];
|
|
7
|
+
description: string;
|
|
8
|
+
/**
|
|
9
|
+
* Events this component emits, surfaced to the LLM as `[events: ...]` in the
|
|
10
|
+
* generated prompt so it knows which event names are valid in an element's
|
|
11
|
+
* `on` map (e.g. `{ "press": { "action": "..." } }`).
|
|
12
|
+
*/
|
|
13
|
+
events?: string[];
|
|
14
|
+
}
|
|
15
|
+
export interface ActionCatalogDef {
|
|
16
|
+
params: z.ZodType;
|
|
17
|
+
description: string;
|
|
18
|
+
}
|
|
19
|
+
/** Names of the components available in the core catalog. */
|
|
20
|
+
export type CoreComponentName = keyof typeof baseComponents;
|
|
21
|
+
/** Replace or append to a component's catalog description (prompt + JSON schema). */
|
|
22
|
+
export interface DescriptionOverride {
|
|
23
|
+
/** Replace the component's description entirely. */
|
|
24
|
+
description?: string;
|
|
25
|
+
/** Append to the existing description (joined with a space). */
|
|
26
|
+
append?: string;
|
|
27
|
+
}
|
|
28
|
+
export interface ComposeCatalogComponentsOptions {
|
|
29
|
+
/** Core components to include: an array of names, or "all" (default). */
|
|
30
|
+
core?: CoreComponentName[] | "all";
|
|
31
|
+
/** Per-component description overrides/appends — applies to core and own components. */
|
|
32
|
+
overrides?: Partial<Record<string, DescriptionOverride>>;
|
|
33
|
+
/** This catalog's own (non-core) components. */
|
|
34
|
+
components?: Record<string, ComponentCatalogDef>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Build the component map for a catalog: pick a subset of core components (or
|
|
38
|
+
* all), merge in the catalog's own components, and apply per-component
|
|
39
|
+
* description overrides. Descriptions feed both `defineCatalog(...).prompt()`
|
|
40
|
+
* and `.jsonSchema()`, so this controls what an agent sees for the catalog.
|
|
41
|
+
*
|
|
42
|
+
* Overrides are applied immutably — the shared `baseComponents` definitions
|
|
43
|
+
* (also used by the core catalog/registry) are never mutated.
|
|
44
|
+
*/
|
|
45
|
+
export declare function composeCatalogComponents(opts?: ComposeCatalogComponentsOptions): Record<string, ComponentCatalogDef>;
|
|
46
|
+
export interface ScopedCatalogDef {
|
|
47
|
+
prefix: string;
|
|
48
|
+
components?: Record<string, ComponentCatalogDef>;
|
|
49
|
+
actions?: Record<string, ActionCatalogDef>;
|
|
50
|
+
/** Core components to include: an array of names, or "all" (default). */
|
|
51
|
+
core?: CoreComponentName[] | "all";
|
|
52
|
+
/** Per-component description overrides/appends — applies to core and own components. */
|
|
53
|
+
overrides?: Partial<Record<string, DescriptionOverride>>;
|
|
54
|
+
/** Appended to base rules in generated prompt */
|
|
55
|
+
rules?: string;
|
|
56
|
+
}
|
|
57
|
+
export interface MergedCatalog {
|
|
58
|
+
prefix: string;
|
|
59
|
+
catalog: Catalog;
|
|
60
|
+
prompt(baseRules: string): string;
|
|
61
|
+
jsonSchema(): object;
|
|
62
|
+
}
|
|
63
|
+
export declare function createScopedCatalog(def: ScopedCatalogDef): ScopedCatalogDef;
|
|
64
|
+
export declare function mergeCatalogs(scopedDef: ScopedCatalogDef): MergedCatalog;
|
package/dist/styles.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
._128xbc80{display:inline-block;position:relative}.zf6dad0{width:100%}._116vl6m0{--_116vl6m1:1rem;--_116vl6m2:640px;--_116vl6m3:768px;--_116vl6m4:1024px;--_116vl6m5:1280px;--_116vl6m6:1536px;--_116vl6m7:#fff;--_116vl6m8:#fcfcfc;--_116vl6m9:#f9f9f9;--_116vl6ma:#f6f6f6;--_116vl6mb:#f1f1f1;--_116vl6mc:#eee;--_116vl6md:#ededed;--_116vl6me:#e8e8e8;--_116vl6mf:#e6e6e6;--_116vl6mg:#e5e5e5;--_116vl6mh:#dfdfdf;--_116vl6mi:#c4c4c4;--_116vl6mj:#a8a8a8;--_116vl6mk:#8b8b8b;--_116vl6ml:#707070;--_116vl6mm:#545454;--_116vl6mn:#404040;--_116vl6mo:#292929;--_116vl6mp:#1a1a1a;--_116vl6mq:#040404;--_116vl6mr:#fafcff;--_116vl6ms:#e6f1ff;--_116vl6mt:#cce3ff;--_116vl6mu:#9ecaff;--_116vl6mv:#70b1ff;--_116vl6mw:#3d95ff;--_116vl6mx:#1a82ff;--_116vl6my:#0265dc;--_116vl6mz:#1d4ca3;--_116vl6m10:#003472;--_116vl6m11:#002047;--_116vl6m12:#000b19;--_116vl6m13:#fffbfa;--_116vl6m14:#ffe9e5;--_116vl6m15:#ffd4cc;--_116vl6m16:#ffac9e;--_116vl6m17:#ff8670;--_116vl6m18:#ff5b3d;--_116vl6m19:#ff3914;--_116vl6m1a:#d62100;--_116vl6m1b:#a31900;--_116vl6m1c:#731100;--_116vl6m1d:#470b00;--_116vl6m1e:#0a0200;--_116vl6m1f:#f5fefb;--_116vl6m1g:#d3fded;--_116vl6m1h:#b8f5dd;--_116vl6m1i:#70ebbc;--_116vl6m1j:#3be3a2;--_116vl6m1k:#0bd085;--_116vl6m1l:#0aa86c;--_116vl6m1m:#077e50;--_116vl6m1n:#05613e;--_116vl6m1o:#04482e;--_116vl6m1p:#022c1c;--_116vl6m1q:#010f0a;--_116vl6m1r:#f7f9fa;--_116vl6m1s:#e9eef2;--_116vl6m1t:#dce4ea;--_116vl6m1u:#b9c9d5;--_116vl6m1v:#99b1c2;--_116vl6m1w:#7899b0;--_116vl6m1x:#55768e;--_116vl6m1y:#445e71;--_116vl6m1z:#344856;--_116vl6m20:#24333d;--_116vl6m21:#192329;--_116vl6m22:#090d10;--_116vl6m23:#fff8f1;--_116vl6m24:#ffecd6;--_116vl6m25:#ffddb7;--_116vl6m26:#ffc07a;--_116vl6m27:#ffa037;--_116vl6m28:#e37700;--_116vl6m29:#c16500;--_116vl6m2a:#964f00;--_116vl6m2b:#693700;--_116vl6m2c:#4d2800;--_116vl6m2d:#2e1900;--_116vl6m2e:#140b00;--_116vl6m2f:#f2fcfe;--_116vl6m2g:#daf7fc;--_116vl6m2h:#c2f2fb;--_116vl6m2i:#7fe5f6;--_116vl6m2j:#45d8f2;--_116vl6m2k:#10c2e2;--_116vl6m2l:#0da2bd;--_116vl6m2m:#0a7a8e;--_116vl6m2n:#075563;--_116vl6m2o:#05424d;--_116vl6m2p:#032025;--_116vl6m2q:#011013;--_116vl6m2r:#fcfbfe;--_116vl6m2s:#eeecf9;--_116vl6m2t:#e7e4f6;--_116vl6m2u:#c9c2eb;--_116vl6m2v:#b1a7e2;--_116vl6m2w:#9688d7;--_116vl6m2x:#76c;--_116vl6m2y:#5c47c2;--_116vl6m2z:#3f2f8e;--_116vl6m30:#2e2267;--_116vl6m31:#191338;--_116vl6m32:#100c25;--_116vl6m33:#fefbfd;--_116vl6m34:#fae6f3;--_116vl6m35:#f8ddef;--_116vl6m36:#efb3db;--_116vl6m37:#e892cc;--_116vl6m38:#eb61be;--_116vl6m39:#d741a6;--_116vl6m3a:#be288d;--_116vl6m3b:#831b60;--_116vl6m3c:#591342;--_116vl6m3d:#26081c;--_116vl6m3e:#15040f;--_116vl6m3f:#fffbfa;--_116vl6m3g:#fff7f5;--_116vl6m3h:#fff4f0;--_116vl6m3i:#ffe4db;--_116vl6m3j:#ffd1c2;--_116vl6m3k:#ffaf94;--_116vl6m3l:#ffa78a;--_116vl6m3m:#d88569;--_116vl6m3n:#d27151;--_116vl6m3o:#823a21;--_116vl6m3p:#411d11;--_116vl6m3q:#200e08;--_116vl6m3r:#fdfdfc;--_116vl6m3s:#eaf0db;--_116vl6m3t:#e3eccf;--_116vl6m3u:#c3d595;--_116vl6m3v:#a8c26a;--_116vl6m3w:#8aad39;--_116vl6m3x:#6b9013;--_116vl6m3y:#56750b;--_116vl6m3z:#3a5007;--_116vl6m40:#2a3a03;--_116vl6m41:#111801;--_116vl6m42:#0a0f01;--_116vl6m43:#fffef8;--_116vl6m44:#fffcf0;--_116vl6m45:#fff9e2;--_116vl6m46:#fff0b1;--_116vl6m47:#ffe278;--_116vl6m48:#ffc902;--_116vl6m49:#ffbe00;--_116vl6m4a:#de9500;--_116vl6m4b:#c98600;--_116vl6m4c:#704b00;--_116vl6m4d:#382500;--_116vl6m4e:#191100;--_116vl6m4f:0s;--_116vl6m4g:.1s;--_116vl6m4h:.2s;--_116vl6m4i:.3s;--_116vl6m4j:.4s;--_116vl6m4k:Satoshi, system-ui, sans-serif;--_116vl6m4l:Inter, sans-serif;--_116vl6m4m:100;--_116vl6m4n:200;--_116vl6m4o:300;--_116vl6m4p:400;--_116vl6m4q:500;--_116vl6m4r:600;--_116vl6m4s:700;--_116vl6m4t:800;--_116vl6m4u:900;--_116vl6m4v:1;--_116vl6m4w:1.25;--_116vl6m4x:1.5;--_116vl6m4y:1.75;--_116vl6m4z:.625rem;--_116vl6m50:.75rem;--_116vl6m51:.875rem;--_116vl6m52:1rem;--_116vl6m53:1.125rem;--_116vl6m54:1.25rem;--_116vl6m55:1.5rem;--_116vl6m56:2rem;--_116vl6m57:0;--_116vl6m58:.25rem;--_116vl6m59:.5rem;--_116vl6m5a:.75rem;--_116vl6m5b:1rem;--_116vl6m5c:1.25rem;--_116vl6m5d:1.5rem;--_116vl6m5e:1.75rem;--_116vl6m5f:2rem;--_116vl6m5g:.1;--_116vl6m5h:.2;--_116vl6m5i:.3;--_116vl6m5j:.4;--_116vl6m5k:.5;--_116vl6m5l:.6;--_116vl6m5m:.7;--_116vl6m5n:.8;--_116vl6m5o:.9;--_116vl6m5p:.95;--_116vl6m5q:1;--_116vl6m5r:0;--_116vl6m5s:.0625rem;--_116vl6m5t:.125rem;--_116vl6m5u:.1875rem;--_116vl6m5v:.25rem;--_116vl6m5w:.5rem;--_116vl6m5x:.75rem;--_116vl6m5y:1rem;--_116vl6m5z:1.25rem;--_116vl6m60:1.5rem;--_116vl6m61:1.75rem;--_116vl6m62:2rem;--_116vl6m63:2.25rem;--_116vl6m64:2.5rem;--_116vl6m65:2.75rem;--_116vl6m66:3rem;--_116vl6m67:3.25rem;--_116vl6m68:3.5rem}._166ain02w{--_166ain00:var(--_116vl6m57);--_166ain01:var(--_116vl6m5a);--_166ain02:var(--_116vl6m5b);--_166ain03:var(--_116vl6m5d);--_166ain04:9999px;--_166ain05:50%;--_166ain06:var(--lightningcss-light,color-mix(in srgb, var(--_116vl6md), transparent 40%))var(--lightningcss-dark,color-mix(in srgb, var(--_116vl6md), transparent 40%));--_166ain07:var(--lightningcss-light,var(--_116vl6mo))var(--lightningcss-dark,var(--_116vl6mo));--_166ain08:var(--lightningcss-light,var(--_116vl6mn))var(--lightningcss-dark,var(--_116vl6mn));--_166ain09:var(--lightningcss-light,var(--_116vl6mm))var(--lightningcss-dark,var(--_116vl6mm));--_166ain0a:var(--_166ain06);--_166ain0b:var(--lightningcss-light,var(--_116vl6mc))var(--lightningcss-dark,var(--_116vl6mc));--_166ain0c:var(--lightningcss-light,var(--_116vl6me))var(--lightningcss-dark,var(--_116vl6me));--_166ain0d:var(--lightningcss-light,var(--_116vl6mg))var(--lightningcss-dark,var(--_116vl6mg));--_166ain0e:var(--_166ain06);--_166ain0f:var(--lightningcss-light,var(--_116vl6m7))var(--lightningcss-dark,var(--_116vl6m7));--_166ain0g:var(--lightningcss-light,var(--_116vl6m9))var(--lightningcss-dark,var(--_116vl6m9));--_166ain0h:var(--lightningcss-light,var(--_116vl6mb))var(--lightningcss-dark,var(--_116vl6mb));--_166ain0i:var(--_166ain06);--_166ain0j:#0000;--_166ain0k:var(--lightningcss-light,color-mix(in srgb, var(--_116vl6mk), transparent 92%))var(--lightningcss-dark,color-mix(in srgb, var(--_116vl6mk), transparent 92%));--_166ain0l:var(--lightningcss-light,color-mix(in srgb, var(--_116vl6mk), transparent 84%))var(--lightningcss-dark,color-mix(in srgb, var(--_116vl6mk), transparent 84%));--_166ain0m:var(--_166ain06);--_166ain0n:var(--lightningcss-light,var(--_116vl6m1a))var(--lightningcss-dark,var(--_116vl6m1a));--_166ain0o:var(--lightningcss-light,var(--_116vl6m1b))var(--lightningcss-dark,var(--_116vl6m1b));--_166ain0p:var(--lightningcss-light,var(--_116vl6m1c))var(--lightningcss-dark,var(--_116vl6m1c));--_166ain0q:var(--_166ain06);--_166ain0r:var(--lightningcss-light,var(--_116vl6ms))var(--lightningcss-dark,var(--_116vl6ms));--_166ain0s:var(--lightningcss-light,var(--_116vl6mt))var(--lightningcss-dark,var(--_116vl6mt));--_166ain0t:var(--lightningcss-light,var(--_116vl6mu))var(--lightningcss-dark,var(--_116vl6mu));--_166ain0u:var(--lightningcss-light,var(--_116vl6m1g))var(--lightningcss-dark,var(--_116vl6m1g));--_166ain0v:var(--lightningcss-light,var(--_116vl6ma))var(--lightningcss-dark,var(--_116vl6ma));--_166ain0w:var(--lightningcss-light,var(--_116vl6mh))var(--lightningcss-dark,var(--_116vl6mh));--_166ain0x:var(--lightningcss-light,var(--_116vl6my))var(--lightningcss-dark,var(--_116vl6my));--_166ain0y:var(--lightningcss-light,var(--_116vl6mn))var(--lightningcss-dark,var(--_116vl6mn));--_166ain0z:var(--_116vl6m5u);--_166ain010:var(--_116vl6m5t);--_166ain011:var(--_166ain0x);--_166ain012:var(--lightningcss-light,var(--_116vl6ml))var(--lightningcss-dark,var(--_116vl6ml));--_166ain013:var(--lightningcss-light,var(--_116vl6mo))var(--lightningcss-dark,var(--_116vl6mo));--_166ain014:var(--lightningcss-light,var(--_116vl6my))var(--lightningcss-dark,var(--_116vl6my));--_166ain015:var(--lightningcss-light,var(--_116vl6m1a))var(--lightningcss-dark,var(--_116vl6m1a));--_166ain016:var(--lightningcss-light,var(--_116vl6m7))var(--lightningcss-dark,var(--_116vl6m7));--_166ain017:var(--lightningcss-light,var(--_116vl6m7))var(--lightningcss-dark,var(--_116vl6m7));--_166ain018:var(--lightningcss-light,var(--_116vl6mo))var(--lightningcss-dark,var(--_116vl6mo));--_166ain019:var(--lightningcss-light,var(--_116vl6mo))var(--lightningcss-dark,var(--_116vl6mo));--_166ain01a:var(--lightningcss-light,var(--_116vl6my))var(--lightningcss-dark,var(--_116vl6my));--_166ain01b:var(--lightningcss-light,var(--_116vl6mz))var(--lightningcss-dark,var(--_116vl6mz));--_166ain01c:var(--lightningcss-light,var(--_116vl6m10))var(--lightningcss-dark,var(--_116vl6m10));--_166ain01d:var(--lightningcss-light,var(--_116vl6mo))var(--lightningcss-dark,var(--_116vl6mo));--_166ain01e:var(--lightningcss-light,var(--_116vl6m7))var(--lightningcss-dark,var(--_116vl6m7));--_166ain01f:var(--lightningcss-light,var(--_116vl6mo))var(--lightningcss-dark,var(--_116vl6mo));--_166ain01g:var(--_116vl6m4f);--_166ain01h:var(--_116vl6m4g);--_166ain01i:var(--_116vl6m4h);--_166ain01j:var(--_116vl6m4i);--_166ain01k:var(--_116vl6m4j);--_166ain01l:var(--_116vl6m5p);--_166ain01m:var(--_116vl6m5o);--_166ain01n:var(--_116vl6m5n);--_166ain01o:var(--_116vl6m5l);--_166ain01p:var(--_116vl6m5k);--_166ain01q:var(--_116vl6m5p);--_166ain01r:cubic-bezier(0, 0, .2, 1);--_166ain01s:cubic-bezier(.4, 0, 1, 1);--_166ain01t:cubic-bezier(.4, 0, .2, 1);--_166ain01u:cubic-bezier(0, 0, 1, 1);--_166ain01v:cubic-bezier(.34, 1.56, .64, 1);--_166ain01w:.6;--_166ain01x:var(--lightningcss-light,color-mix(in srgb, var(--_116vl6mo), transparent 40%))var(--lightningcss-dark,color-mix(in srgb, var(--_116vl6mo), transparent 40%));--_166ain01y:var(--_116vl6m5r) var(--_116vl6m5s) var(--_116vl6m5w) var(--_116vl6m5r) #0000;--_166ain01z:var(--_116vl6m5r) var(--_116vl6m5s) var(--_116vl6m5w) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 92%);--_166ain020:var(--_116vl6m5r) var(--_116vl6m5r) var(--_116vl6m5y) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 96%);--_166ain021:var(--_116vl6m5r) var(--_116vl6m5r) var(--_116vl6m5y) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 92%);--_166ain022:var(--_116vl6m5r) var(--_116vl6m5s) var(--_116vl6m5w) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 88%);--_166ain023:var(--_116vl6m5r) var(--_116vl6m5s) var(--_116vl6m5w) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 80%);--_166ain024:var(--_116vl6m5r) var(--_116vl6m5s) var(--_116vl6m5w) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 76%);--_166ain025:var(--_116vl6m5r) var(--_116vl6m5s) var(--_116vl6m5w) var(--_116vl6m5r) color-mix(in srgb, var(--_116vl6mo), transparent 70%);--_166ain026:var(--_116vl6m5v);--_166ain027:var(--_116vl6m5w);--_166ain028:var(--_116vl6m5x);--_166ain029:var(--_116vl6m5y);--_166ain02a:var(--_116vl6m60);--_166ain02b:var(--_116vl6m62);--_166ain02c:var(--_116vl6m64);--_166ain02d:var(--_116vl6m66);--_166ain02e:var(--_116vl6m68);--_166ain02f:var(--_116vl6m4k);--_166ain02g:var(--_116vl6m4l);--_166ain02h:var(--_116vl6m4z);--_166ain02i:var(--_116vl6m50);--_166ain02j:var(--_116vl6m51);--_166ain02k:var(--_116vl6m52);--_166ain02l:var(--_116vl6m53);--_166ain02m:var(--_116vl6m54);--_166ain02n:var(--_116vl6m55);--_166ain02o:var(--_116vl6m56);--_166ain02p:var(--_116vl6m4p);--_166ain02q:var(--_116vl6m4q);--_166ain02r:var(--_116vl6m4r);--_166ain02s:var(--_116vl6m4s);--_166ain02t:var(--_116vl6m4v);--_166ain02u:var(--_116vl6m4w);--_166ain02v:var(--_116vl6m4x)}.vyfct876{--vyfct80:var(--_166ain0f);--vyfct81:var(--_166ain0w);--vyfct82:var(--_166ain03);--vyfct83:var(--_166ain022);--vyfct84:var(--_166ain029);--vyfct85:var(--_166ain028);--vyfct86:var(--_166ain027);--vyfct87:var(--_166ain012);--vyfct88:var(--_166ain027);--vyfct89:var(--_166ain0b);--vyfct8a:var(--_166ain0c);--vyfct8b:var(--_166ain0d);--vyfct8c:var(--_166ain018);--vyfct8d:var(--_166ain029);--vyfct8e:var(--_166ain02);--vyfct8f:var(--_166ain0y);--vyfct8g:var(--_166ain0y);--vyfct8h:var(--_166ain016);--vyfct8i:var(--_166ain013);--vyfct8j:var(--_166ain027);--vyfct8k:var(--_166ain015);--vyfct8l:var(--_166ain026);--vyfct8m:var(--_166ain0f);--vyfct8n:var(--_166ain0k);--vyfct8o:var(--_166ain0l);--vyfct8p:var(--_166ain013);--vyfct8q:var(--_166ain029);--vyfct8r:var(--_166ain026);--vyfct8s:var(--_166ain0f);--vyfct8t:var(--_166ain019);--vyfct8u:var(--_166ain03);--vyfct8v:var(--_166ain024);--vyfct8w:var(--_166ain02a);--vyfct8x:var(--_166ain02a);--vyfct8y:var(--_166ain027);--vyfct8z:var(--_166ain026);--vyfct810:var(--_166ain02b);--vyfct811:var(--_166ain012);--vyfct812:var(--_166ain028);--vyfct813:var(--_166ain027);--vyfct814:var(--_116vl6m63);--vyfct815:var(--_116vl6m5v);--vyfct816:var(--_166ain04);--vyfct817:var(--_116vl6mk);--vyfct818:var(--_166ain011);--vyfct819:var(--_166ain0z);--vyfct81a:var(--_166ain010);--vyfct81b:var(--_166ain01i);--vyfct81c:var(--_166ain01t);--vyfct81d:var(--_166ain07);--vyfct81e:var(--_166ain08);--vyfct81f:var(--_166ain09);--vyfct81g:var(--_166ain06);--vyfct81h:var(--_166ain017);--vyfct81i:var(--_166ain01f);--vyfct81j:var(--_116vl6m5r);--vyfct81k:var(--_166ain022);--vyfct81l:var(--_166ain022);--vyfct81m:var(--_166ain0f);--vyfct81n:var(--_166ain0g);--vyfct81o:var(--_166ain0h);--vyfct81p:var(--_166ain06);--vyfct81q:var(--_166ain019);--vyfct81r:var(--_166ain01f);--vyfct81s:var(--_166ain0v);--vyfct81t:var(--_116vl6m5s);--vyfct81u:var(--_166ain022);--vyfct81v:var(--_166ain022);--vyfct81w:var(--_166ain0j);--vyfct81x:var(--_166ain0k);--vyfct81y:var(--_166ain0l);--vyfct81z:var(--_166ain06);--vyfct820:var(--_166ain01d);--vyfct821:var(--_166ain01f);--vyfct822:var(--_116vl6m5r);--vyfct823:var(--_166ain01y);--vyfct824:var(--_166ain022);--vyfct825:var(--_166ain0n);--vyfct826:var(--_166ain0o);--vyfct827:var(--_166ain0p);--vyfct828:var(--_166ain06);--vyfct829:var(--_166ain01e);--vyfct82a:var(--_166ain01f);--vyfct82b:var(--_116vl6m5r);--vyfct82c:var(--_166ain022);--vyfct82d:var(--_166ain022);--vyfct82e:var(--_166ain02g);--vyfct82f:var(--_166ain02k);--vyfct82g:var(--_166ain02p);--vyfct82h:var(--_166ain02v);--vyfct82i:var(--_166ain027);--vyfct82j:var(--_166ain029);--vyfct82k:var(--_166ain029);--vyfct82l:var(--_166ain028);--vyfct82m:var(--_166ain029);--vyfct82n:var(--_166ain029);--vyfct82o:var(--_166ain028);--vyfct82p:var(--_166ain028);--vyfct82q:var(--_166ain027);--vyfct82r:var(--_166ain026);--vyfct82s:var(--_166ain028);--vyfct82t:var(--_166ain027);--vyfct82u:var(--_166ain026);--vyfct82v:var(--_166ain028);--vyfct82w:var(--_166ain027);--vyfct82x:var(--_166ain027);--vyfct82y:var(--_166ain02);--vyfct82z:var(--_166ain02);--vyfct830:var(--_166ain01);--vyfct831:var(--_166ain011);--vyfct832:var(--_166ain0z);--vyfct833:var(--_166ain010);--vyfct834:var(--_166ain0f);--vyfct835:var(--_166ain0g);--vyfct836:var(--_166ain02);--vyfct837:var(--_166ain020);--vyfct838:var(--_166ain021);--vyfct839:var(--_166ain028);--vyfct83a:var(--_166ain029);--vyfct83b:var(--_166ain02a);--vyfct83c:var(--_166ain011);--vyfct83d:var(--_166ain0z);--vyfct83e:var(--_166ain010);--vyfct83f:var(--_166ain0b);--vyfct83g:var(--_166ain0r);--vyfct83h:var(--_166ain013);--vyfct83i:var(--_166ain014);--vyfct83j:var(--_166ain02g);--vyfct83k:var(--_166ain02j);--vyfct83l:var(--_166ain02p);--vyfct83m:var(--_166ain02v);--vyfct83n:var(--_166ain026);--vyfct83o:var(--_166ain027);--vyfct83p:var(--_166ain01);--vyfct83q:var(--_166ain011);--vyfct83r:var(--_166ain0z);--vyfct83s:var(--_166ain010);--vyfct83t:var(--_166ain02a);--vyfct83u:var(--_166ain0f);--vyfct83v:var(--_166ain019);--vyfct83w:var(--_166ain0v);--vyfct83x:var(--_116vl6m5s);--vyfct83y:var(--_166ain03);--vyfct83z:var(--_166ain024);--vyfct840:var(--_166ain02a);--vyfct841:var(--_166ain02a);--vyfct842:var(--_166ain027);--vyfct843:var(--_166ain028);--vyfct844:var(--_166ain011);--vyfct845:var(--_166ain0z);--vyfct846:var(--_166ain010);--vyfct847:var(--_166ain01i);--vyfct848:var(--_166ain01t);--vyfct849:var(--_116vl6m5x);--vyfct84a:var(--_116vl6m5y);--vyfct84b:var(--_116vl6m60);--vyfct84c:var(--_116vl6m62);--vyfct84d:var(--_166ain013);--vyfct84e:var(--_166ain014);--vyfct84f:var(--_166ain01);--vyfct84g:var(--_166ain026);--vyfct84h:var(--_166ain0f);--vyfct84i:var(--_166ain02);--vyfct84j:var(--_166ain024);--vyfct84k:var(--_166ain026);--vyfct84l:var(--_166ain027);--vyfct84m:var(--_166ain0j);--vyfct84n:var(--_166ain0k);--vyfct84o:var(--_166ain0l);--vyfct84p:var(--_166ain01d);--vyfct84q:var(--_166ain0r);--vyfct84r:var(--_166ain0s);--vyfct84s:var(--_166ain0t);--vyfct84t:var(--_166ain01a);--vyfct84u:var(--_166ain01b);--vyfct84v:var(--_166ain01c);--vyfct84w:var(--_166ain027);--vyfct84x:var(--_166ain01);--vyfct84y:var(--_166ain029);--vyfct84z:var(--_166ain028);--vyfct850:var(--_166ain01w);--vyfct851:var(--_166ain011);--vyfct852:var(--_166ain0z);--vyfct853:var(--_166ain027);--vyfct854:var(--_166ain026);--vyfct855:var(--_166ain012);--vyfct856:var(--_166ain0f);--vyfct857:var(--_166ain0v);--vyfct858:var(--_166ain03);--vyfct859:var(--_166ain022);--vyfct85a:var(--_166ain027);--vyfct85b:var(--_166ain029);--vyfct85c:var(--_166ain026);--vyfct85d:var(--_166ain0b);--vyfct85e:var(--_166ain0w);--vyfct85f:var(--_166ain01);--vyfct85g:var(--_166ain027);--vyfct85h:var(--_166ain012);--vyfct85i:var(--_166ain012);--vyfct85j:var(--_166ain027);--vyfct85k:var(--_166ain026);--vyfct85l:var(--_166ain015);--vyfct85m:var(--_166ain02f);--vyfct85n:var(--_166ain02k);--vyfct85o:var(--_166ain02q);--vyfct85p:var(--_166ain02u);--vyfct85q:var(--_166ain02f);--vyfct85r:var(--_166ain02m);--vyfct85s:var(--_166ain02q);--vyfct85t:var(--_166ain02u);--vyfct85u:var(--_166ain02f);--vyfct85v:var(--_166ain02n);--vyfct85w:var(--_166ain02q);--vyfct85x:var(--_166ain02u);--vyfct85y:var(--_166ain02f);--vyfct85z:var(--_166ain02o);--vyfct860:var(--_166ain02q);--vyfct861:var(--_166ain02u);--vyfct862:var(--_166ain02g);--vyfct863:var(--_166ain02i);--vyfct864:var(--_166ain02p);--vyfct865:var(--_166ain02v);--vyfct866:var(--_166ain02g);--vyfct867:var(--_166ain02j);--vyfct868:var(--_166ain02p);--vyfct869:var(--_166ain02v);--vyfct86a:var(--_166ain02g);--vyfct86b:var(--_166ain02k);--vyfct86c:var(--_166ain02p);--vyfct86d:var(--_166ain02v);--vyfct86e:var(--_166ain02g);--vyfct86f:var(--_166ain02l);--vyfct86g:var(--_166ain02p);--vyfct86h:var(--_166ain02v);--vyfct86i:var(--_166ain02g);--vyfct86j:var(--_166ain02h);--vyfct86k:var(--_166ain02s);--vyfct86l:var(--_166ain02u);--vyfct86m:var(--_166ain017);--vyfct86n:var(--_166ain07);--vyfct86o:var(--_166ain01);--vyfct86p:var(--_166ain027);--vyfct86q:var(--_166ain026);--vyfct86r:var(--_166ain02g);--vyfct86s:var(--_166ain02j);--vyfct86t:var(--_166ain02p);--vyfct86u:var(--_166ain02v);--vyfct86v:var(--_166ain027);--vyfct86w:var(--_166ain02a);--vyfct86x:var(--_166ain026);--vyfct86y:var(--_166ain015);--vyfct86z:var(--_166ain027);--vyfct870:var(--_166ain0b);--vyfct871:var(--_166ain018);--vyfct872:var(--_166ain029);--vyfct873:var(--_166ain02a);--vyfct874:var(--_166ain03);--vyfct875:var(--_166ain00)}._1v76lkh0{border-width:var(--_116vl6m5s);border-style:solid;border-color:var(--_166ain0w);border-radius:var(--_166ain01);display:grid;overflow:hidden}._1v76lkh1{padding-block:var(--_116vl6m5w);padding-inline:var(--_116vl6m5x)}._1v76lkh2{border-bottom-width:var(--_116vl6m5s);border-bottom-style:solid;border-bottom-color:var(--_166ain0w)}._1le8ba61{pointer-events:none;opacity:var(--_166ain01w)}.cy2dbi0{font-weight:var(--_116vl6m4r);font-size:13px}.cy2dbi1{color:var(--_116vl6m1m)}.cy2dbi2{color:var(--_116vl6m1a)}.cy2dbi3{color:var(--_166ain012)}
|
|
1
|
+
._7hazmf0{width:100%}._7hazmf1{gap:var(--gpbfm95y);flex-direction:column;display:flex;overflow:visible}._7hazmf2{flex-direction:column;width:100%;display:flex}._7hazmf3{transition:grid-template-rows var(--m8lxqj1i) var(--m8lxqj1t), margin-top var(--m8lxqj1i) var(--m8lxqj1t), opacity var(--m8lxqj1i) var(--m8lxqj1t);display:grid;overflow:visible}._7hazmf4{margin-top:var(--gpbfm95y);opacity:1;grid-template-rows:1fr}._7hazmf5{opacity:0;grid-template-rows:0fr;margin-top:0}._7hazmf6{min-height:0;transition:padding var(--m8lxqj1i) var(--m8lxqj1t), margin var(--m8lxqj1i) var(--m8lxqj1t);overflow:hidden}._7hazmf7{padding:var(--gpbfm95y);margin:calc(-1 * var(--gpbfm95y))}._7hazmf8{margin:0;padding:0}._7hazmf9{justify-content:space-between;align-items:center;gap:var(--gpbfm95w);cursor:pointer;width:100%;color:inherit;font:inherit;text-align:left;background:0 0;border:none;margin:0;padding:0;display:flex}._7hazmfa{align-items:center;gap:var(--gpbfm95w);flex:1;min-width:0;display:flex}._7hazmfb{flex-shrink:0;align-items:center;min-width:0;display:inline-flex}._7hazmfc{transition:transform var(--m8lxqj1i) var(--m8lxqj1t);transform-origin:50%;flex-shrink:0}._7hazmfd{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){._7hazmf3,._7hazmf6,._7hazmfc{transition:none}}._1b4fiav0{width:100%;overflow-x:auto}._1b4fiav1{font-variant-numeric:tabular-nums;font-weight:500}._1afcqze0{gap:var(--gpbfm95w);flex-direction:column;width:100%;display:flex}._1afcqze1{width:100%}._1afcqze2{align-items:center;gap:var(--gpbfm95x);min-width:0;display:flex}._1afcqze3{width:var(--gpbfm962);height:var(--gpbfm962);background-color:var(--m8lxqjb);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}._1afcqze4{gap:var(--gpbfm95x);flex-direction:column;width:100%;display:flex}._1afcqze5{justify-content:center;align-items:center;width:100%;display:flex}._1afcqze6{object-fit:contain;border-radius:var(--m8lxqj1);max-width:100%;max-height:65vh}._1afcqze7{width:100%;min-height:var(--gpbfm968);justify-content:center;align-items:center;display:flex}._1afcqze8{text-align:left;width:100%}.blgld0{flex-direction:column;width:100%;display:flex}.blgld1{color:var(--m8lxqj12)}.blgld2{padding:var(--gpbfm95x)}.blgld3{column-gap:var(--gpbfm95x);row-gap:var(--gpbfm95v);grid-template-columns:minmax(0,1fr) max-content;align-items:start;width:100%;display:grid}.blgld4{gap:var(--gpbfm95v);flex-direction:column;min-width:0;display:flex}.blgld5{align-items:center;gap:var(--gpbfm95w);min-width:0;display:flex}.blgld6{width:var(--gpbfm95s);background-color:var(--m8lxqjw);flex-shrink:0;align-self:stretch}.blgld7{align-items:flex-end;gap:var(--gpbfm95v);flex-direction:column;flex-shrink:0;display:flex}._16tl57e0{gap:var(--gpbfm95y);width:100%;display:grid}._16tl57e1{grid-template-columns:repeat(3,minmax(0,1fr))}._16tl57e2{grid-template-columns:repeat(4,minmax(0,1fr))}._16tl57e3{color:var(--m8lxqj12)}._16tl57e4{gap:var(--gpbfm95v);flex-direction:column;min-width:0;display:flex}._2pn4ri0{isolation:isolate;width:100%;position:relative;overflow:visible}._4l9lye0{flex-direction:column;width:100%;display:flex}._4l9lye1{margin-bottom:var(--gpbfm95x)}._4l9lye2{padding-block:var(--gpbfm95w);gap:var(--gpbfm95v);flex-direction:column;display:flex}._4l9lye2:first-child{padding-top:0}._4l9lye3{justify-content:space-between;align-items:baseline;gap:var(--gpbfm95w);display:flex}._4l9lye4{color:var(--m8lxqj12)}._1ysu3qn0{gap:var(--gpbfm95w);flex-direction:column;display:flex}._1ysu3qn1{align-items:center;gap:var(--gpbfm95w);display:flex}._19nljxi0{gap:var(--gpbfm95x);flex-direction:column;max-width:800px;margin:0 auto;display:flex}._5kl5rv0{flex-direction:column;width:100%;display:flex}._5kl5rv1{background-color:var(--gpbfm9a);border-radius:var(--m8lxqj2);padding:var(--gpbfm95x);flex-direction:column;display:flex}._5kl5rv1:not(:first-child){margin-top:var(--gpbfm95x)}._5kl5rv2{margin-bottom:var(--gpbfm95w)}._5kl5rv3{color:var(--m8lxqj12)}._5kl5rv4{align-content:start;justify-items:start;width:100%;display:grid}._5kl5rv5{width:100%;margin-top:var(--gpbfm95x);margin-bottom:var(--gpbfm95x);height:var(--gpbfm95s);background-color:var(--m8lxqjw);grid-column:1/-1}._5kl5rv6{align-items:flex-start;gap:var(--gpbfm95v);flex-direction:column;justify-self:start;min-width:0;display:flex}.zf6dad0{width:100%}._1v76lkh0{border-width:var(--gpbfm95s);border-style:solid;border-color:var(--m8lxqjw);border-radius:var(--m8lxqj1);display:grid;overflow:hidden}._1v76lkh1{padding-block:var(--gpbfm95w);padding-inline:var(--gpbfm95x)}._1v76lkh2{border-bottom-width:var(--gpbfm95s);border-bottom-style:solid;border-bottom-color:var(--m8lxqjw)}._1le8ba61{pointer-events:none;opacity:var(--m8lxqj1w)}.cy2dbi0{font-weight:var(--gpbfm94r);font-size:13px}.cy2dbi1{color:var(--gpbfm91m)}.cy2dbi2{color:var(--gpbfm91a)}.cy2dbi3{color:var(--m8lxqj12)}.nilaa0{padding-top:var(--gpbfm95w)}
|
|
2
2
|
/*$vite$:1*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { ComponentCatalogDef } from './
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { ComponentCatalogDef } from './scoped-catalog';
|
|
3
|
+
/**
|
|
4
|
+
* Surfaces a catalog component can render on. `"all"` is a wildcard that matches
|
|
5
|
+
* every surface; `"panel"` and `"app"` are reserved for future use.
|
|
6
|
+
*/
|
|
7
|
+
export type RendererContext = "all" | "chat" | "panel" | "app" | "context";
|
|
5
8
|
export interface CatalogEntry {
|
|
6
9
|
name: string;
|
|
7
10
|
catalog: ComponentCatalogDef;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@servicetitan/json-render-react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Generative UI catalog, registry, and renderers for json-render",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"@amcharts/amcharts5": "^5.0.0",
|
|
33
33
|
"@servicetitan/anvil2": ">=1.0.0",
|
|
34
34
|
"@servicetitan/anvil2-ext-charts": "0.1.7",
|
|
35
|
+
"@servicetitan/carto-react-kit": ">=0.3.0",
|
|
35
36
|
"react": ">=18 <20",
|
|
36
37
|
"react-dom": ">=18 <20"
|
|
37
38
|
},
|
|
@@ -39,7 +40,7 @@
|
|
|
39
40
|
"@amcharts/amcharts5": "^5.0.0",
|
|
40
41
|
"@biomejs/biome": "^2.4.15",
|
|
41
42
|
"@chromatic-com/storybook": "^5.2.1",
|
|
42
|
-
"@servicetitan/anvil2": "^3.0
|
|
43
|
+
"@servicetitan/anvil2": "^3.3.0",
|
|
43
44
|
"@servicetitan/anvil2-ext-charts": "0.1.7",
|
|
44
45
|
"@storybook/addon-a11y": "^10.4.1",
|
|
45
46
|
"@storybook/addon-docs": "^10.4.1",
|
|
@@ -72,6 +73,7 @@
|
|
|
72
73
|
"@carto-internal/biome-config": "0.0.0",
|
|
73
74
|
"@carto-internal/tools": "0.0.0",
|
|
74
75
|
"@carto-internal/tsconfig": "0.0.0",
|
|
76
|
+
"@servicetitan/carto-react-kit": "0.3.3",
|
|
75
77
|
"@servicetitan/carto-tokens": "0.2.0"
|
|
76
78
|
},
|
|
77
79
|
"scripts": {
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const badgeCatalog: {
|
|
3
|
-
props: z.ZodObject<{
|
|
4
|
-
content: z.ZodOptional<z.ZodString>;
|
|
5
|
-
offset: z.ZodOptional<z.ZodObject<{
|
|
6
|
-
x: z.ZodOptional<z.ZodString>;
|
|
7
|
-
y: z.ZodOptional<z.ZodString>;
|
|
8
|
-
}, z.core.$strip>>;
|
|
9
|
-
}, z.core.$strip>;
|
|
10
|
-
slots: string[];
|
|
11
|
-
description: string;
|
|
12
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const badgeAnchor: string;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
import { badgeCatalog } from './badge.catalog';
|
|
4
|
-
export { badgeCatalog };
|
|
5
|
-
export declare const BadgeRenderer: ({ props, children, }: {
|
|
6
|
-
props: z.infer<typeof badgeCatalog.props>;
|
|
7
|
-
children?: ReactNode;
|
|
8
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
package/dist/team-catalog.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Catalog } from '@json-render/core';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
export interface ComponentCatalogDef {
|
|
4
|
-
props: z.ZodType;
|
|
5
|
-
slots: string[];
|
|
6
|
-
description: string;
|
|
7
|
-
}
|
|
8
|
-
export interface ActionCatalogDef {
|
|
9
|
-
params: z.ZodType;
|
|
10
|
-
description: string;
|
|
11
|
-
}
|
|
12
|
-
export interface TeamCatalogDef {
|
|
13
|
-
prefix: string;
|
|
14
|
-
components?: Record<string, ComponentCatalogDef>;
|
|
15
|
-
actions?: Record<string, ActionCatalogDef>;
|
|
16
|
-
/** Appended to base rules in generated prompt */
|
|
17
|
-
rules?: string;
|
|
18
|
-
}
|
|
19
|
-
export interface MergedCatalog {
|
|
20
|
-
prefix: string;
|
|
21
|
-
catalog: Catalog;
|
|
22
|
-
prompt(baseRules: string): string;
|
|
23
|
-
jsonSchema(): object;
|
|
24
|
-
}
|
|
25
|
-
export declare function createTeamCatalog(def: TeamCatalogDef): TeamCatalogDef;
|
|
26
|
-
export declare function mergeCatalogs(teamDef: TeamCatalogDef): MergedCatalog;
|