@zestl/zvolv-widgets 0.0.2 → 0.0.3

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.d.ts CHANGED
@@ -235,6 +235,8 @@ declare function useTokens(): ZvolvTokens;
235
235
 
236
236
  type KpiTemplateId = "standard" | "trend" | "comparison" | "progress" | "financial" | "status" | "chart" | "hero_chart" | "icon";
237
237
  type BadgeTone = "success" | "warning" | "error" | "info" | "neutral";
238
+ /** Where a content item goes in a card-level KPI layout (`config.layout: "card"`). */
239
+ type KpiRole = "main" | "sub" | "chip" | "series";
238
240
  /**
239
241
  * View-model for a single resolved KPI item.
240
242
  *
@@ -273,9 +275,34 @@ interface KpiContentVM {
273
275
  description?: string;
274
276
  };
275
277
  series?: number[];
278
+ /** From `KpiContentConfig.role`; set only when configured. */
279
+ role?: KpiRole;
276
280
  raw: any;
277
281
  config: any;
278
282
  }
283
+ /** Content items sorted into card slots. */
284
+ interface KpiCardRoles {
285
+ /** role "main", else the first item without a role, else the first item. */
286
+ main: KpiContentVM | null;
287
+ /** role "sub": small values under the main one. */
288
+ subs: KpiContentVM[];
289
+ /** role "chip": its `delta` is the change badge. */
290
+ chip: KpiContentVM | null;
291
+ /** Sparkline data: the role "series" item's series, else main's. */
292
+ series: number[] | undefined;
293
+ }
294
+ /** Args for `KpiWidget` `render` and the `"KPI_CARD:card"` template. */
295
+ interface KpiCardRenderArgs {
296
+ /** Every resolved item, in config order. */
297
+ vms: KpiContentVM[];
298
+ /** Items by `dataPoint` (the first item wins when two share one). */
299
+ byKey: Record<string, KpiContentVM>;
300
+ roles: KpiCardRoles;
301
+ state: "loading" | "ready" | "empty" | "unconfigured" | "error";
302
+ tokens: any;
303
+ config: any;
304
+ onItemClick?: (vm: KpiContentVM, index: number) => void;
305
+ }
279
306
  /** Props every KPI template component receives. */
280
307
  interface KpiTemplateProps {
281
308
  vm: KpiContentVM;
@@ -307,11 +334,23 @@ declare const Value: React.FC<{
307
334
  declare const Delta: React.FC<{
308
335
  vm: KpiTemplateProps["vm"];
309
336
  }>;
310
- declare const Sparkline: React.FC<{
337
+ interface KpiSparklineProps {
311
338
  series: number[];
312
339
  color: string;
340
+ /** CSS width. Default "100%". */
341
+ width?: number | string;
342
+ /** Height in px. Default 40. */
313
343
  height?: number;
314
- }>;
344
+ /** Fill the area under the line. */
345
+ area?: boolean;
346
+ /** "minmax" (default) fits the data; "zero" keeps 0 on the axis. */
347
+ scale?: "minmax" | "zero";
348
+ }
349
+ declare const Sparkline: React.FC<KpiSparklineProps>;
350
+ /** Sorts card items into slots by `role`. Pure. */
351
+ declare function resolveKpiRoles(vms: KpiContentVM[]): KpiCardRoles;
352
+ /** Default `"KPI_CARD:card"` template: one card, items placed by `role`. */
353
+ declare const Card: React.FC<KpiCardRenderArgs>;
315
354
  declare const KPI_DEFAULT_TEMPLATES: {
316
355
  standard: React.FC<KpiTemplateProps>;
317
356
  trend: React.FC<KpiTemplateProps>;
@@ -523,6 +562,53 @@ declare function coerceSeriesNumbers(rows: any[], series: {
523
562
  valueField: string;
524
563
  }[]): any[];
525
564
 
565
+ /**
566
+ * Row reshaping that runs client-side after the query: turning one wide row
567
+ * into one row per category (`unpivot`), and filling categories that returned
568
+ * no bucket (`categoryGap`). Neither changes what is queried.
569
+ */
570
+ interface UnpivotOptions {
571
+ /** Columns of row 0 to turn into rows, in output order. */
572
+ columns: string[];
573
+ /** Output key for the column name. Default "label". */
574
+ labelField?: string;
575
+ /** Output key for the column value. Default "value". */
576
+ valueField?: string;
577
+ /**
578
+ * Extra columns to copy onto an output row: source column → output field.
579
+ * A source column belongs to the listed column its name starts with (the
580
+ * longest such match), so `{ "Contacted %": "step" }` sets `step` on the
581
+ * "Contacted" row. A source column matching no listed column is copied
582
+ * onto every output row.
583
+ */
584
+ extra?: Record<string, string>;
585
+ }
586
+ interface CategoryGapOptions {
587
+ /** Row key holding the category — normally the chart's argumentField. */
588
+ field: string;
589
+ /**
590
+ * Categories in display order, or "fromForm" to read the field's dropdown
591
+ * options from the form schema.
592
+ */
593
+ values: string[] | "fromForm";
594
+ }
595
+ /**
596
+ * Row 0's `columns` → one row per column, in the given order:
597
+ * `{ [labelField]: column, [valueField]: number }`. A missing column is 0.
598
+ * Other input rows are ignored (a multi-number source returns one row).
599
+ */
600
+ declare function unpivotRows(rows: any[], options: UnpivotOptions): any[];
601
+ /** The dropdown values of a form element, as stored (select value first). */
602
+ declare function elementOptionValues(element: any): string[];
603
+ /**
604
+ * One row per value of `field`, in `values` order. Categories with no row get
605
+ * `{ [field]: value }` plus 0 for every series valueField. Rows whose category
606
+ * is not listed are kept, in their original order, after the listed ones.
607
+ */
608
+ declare function fillCategoryGaps(rows: any[], field: string, values: string[], series: {
609
+ valueField: string;
610
+ }[]): any[];
611
+
526
612
  /**
527
613
  * DataSource authoring — how a widget says WHERE its data comes from.
528
614
  *
@@ -884,6 +970,17 @@ interface UseWidgetDataArgs {
884
970
  rowLimit?: number;
885
971
  /** Fill empty periods (and optionally accumulate) on a date x-axis. See `DateGapOptions`. */
886
972
  dateGap?: DateGapOptions | null;
973
+ /**
974
+ * Turn row 0's columns into one row per column, in order (after
975
+ * postOperations). With no declared series, x/y become `labelField`/`valueField`.
976
+ */
977
+ unpivot?: UnpivotOptions | null;
978
+ /**
979
+ * Ensure one row per category, in the given order, with 0 for every series
980
+ * valueField where no bucket came back. Applied after postOperations and
981
+ * widget filters, before local search / column filters / sort.
982
+ */
983
+ categoryGap?: CategoryGapOptions | null;
887
984
  /** Rows supplied by an automation binding; when provided, no query is issued. */
888
985
  automationRows?: any[] | null;
889
986
  automationLoading?: boolean;
@@ -1156,6 +1253,14 @@ interface KpiWidgetProps extends Omit<InteractiveWidgetProps, "widgetType"> {
1156
1253
  * items you fetch yourself. Wins over a self-fetched `seriesSource.dataSource`.
1157
1254
  */
1158
1255
  externalSeriesByIndex?: Record<number, number[]>;
1256
+ /**
1257
+ * Render the whole card yourself. Used only with `layout: "card"` (so a
1258
+ * generic `render` a host passes to every widget never changes a KPI).
1259
+ * Wins over the `"KPI_CARD:card"` template.
1260
+ */
1261
+ renderCard?: (args: KpiCardRenderArgs) => React.ReactNode;
1262
+ /** Same as `renderCard`, and likewise only with `layout: "card"`. */
1263
+ render?: (args: KpiCardRenderArgs) => React.ReactNode;
1159
1264
  }
1160
1265
  declare const KpiWidget: React.FC<KpiWidgetProps>;
1161
1266
 
@@ -1229,9 +1334,49 @@ interface RankingBarWidgetProps extends Omit<InteractiveWidgetProps, "widgetType
1229
1334
  }
1230
1335
  /**
1231
1336
  * Ranked list of categories. Sorting, ranking and ratio math happen here; the
1232
- * caller renders. `config.ranking` supplies { limit, order, labelField, valueField }.
1337
+ * caller renders. `config.ranking` supplies { limit, order, labelField, valueField };
1338
+ * `order: "none"` keeps the incoming row order.
1233
1339
  */
1234
1340
  declare const RankingBarWidget: React.FC<RankingBarWidgetProps>;
1341
+ interface FunnelRow {
1342
+ label: any;
1343
+ value: number;
1344
+ /** value ÷ the first stage's value, 0..∞. 0 when the first stage is 0. */
1345
+ ratioToFirst: number;
1346
+ /** value ÷ the previous stage × 100. null for the first stage, or when the previous is 0. */
1347
+ stepPct: number | null;
1348
+ isFirst: boolean;
1349
+ index: number;
1350
+ raw: any;
1351
+ }
1352
+ interface FunnelRenderArgs {
1353
+ rows: FunnelRow[];
1354
+ /** The first stage, or null with no rows. */
1355
+ first: FunnelRow | null;
1356
+ tokens: ZvolvTokens;
1357
+ config: any;
1358
+ toLabel: (value: any) => any;
1359
+ onItemClick?: (row: FunnelRow) => void;
1360
+ }
1361
+ interface FunnelWidgetProps extends Omit<InteractiveWidgetProps, "widgetType"> {
1362
+ title?: string;
1363
+ description?: string;
1364
+ emptyMessage?: string;
1365
+ unconfiguredMessage?: string;
1366
+ className?: string;
1367
+ style?: React.CSSProperties;
1368
+ /** Called with the clicked stage — for drill-down. */
1369
+ onItemClick?: (row: FunnelRow) => void;
1370
+ render?: (args: FunnelRenderArgs) => React.ReactNode;
1371
+ }
1372
+ /** Rows (in stage order) → funnel stages. Pure; usable outside React. */
1373
+ declare function computeFunnelRows(rows: any[], labelField: string, valueField: string): FunnelRow[];
1374
+ /**
1375
+ * Stage funnel (type FUNNEL). Rows arrive in stage order — usually from `unpivot` on a
1376
+ * one-row, many-number source — and are never re-sorted. `config.funnel`
1377
+ * may set { labelField, valueField }; defaults are the series x / y.
1378
+ */
1379
+ declare const FunnelWidget: React.FC<FunnelWidgetProps>;
1235
1380
  interface GaugeRenderArgs {
1236
1381
  value: number;
1237
1382
  min: number;
@@ -2182,15 +2327,45 @@ declare function resolveFormWidget(config: any, dataSource?: any): {
2182
2327
  };
2183
2328
  /** Form widget: the headless form engine inside widget chrome. */
2184
2329
  declare const FormWidget: React.FC<FormWidgetProps>;
2330
+ /** Options for a filter control fetched from another data source. */
2331
+ interface FilterOptionsSource {
2332
+ /** Usually a raw-rows formSource on another form, e.g. open mandates. */
2333
+ dataSource: any;
2334
+ /** Row key shown in the dropdown. */
2335
+ labelField: string;
2336
+ /**
2337
+ * Row key used as the filter value. For a FORM_SEARCH lookup target this
2338
+ * must be the lookup's ViewLabel field: the filter matches `<field>.view`.
2339
+ */
2340
+ valueField: string;
2341
+ /** Sort options by label. Default: keep the source's row order. */
2342
+ sort?: "asc" | "desc";
2343
+ /** Label of the "no filter" option. Default "All". */
2344
+ allLabel?: string;
2345
+ }
2346
+ interface FilterOption {
2347
+ label: any;
2348
+ value: any;
2349
+ }
2185
2350
  interface FilterControl {
2186
2351
  key: string;
2187
2352
  label: any;
2188
2353
  type: "text" | "select" | "multiselect" | "date" | "daterange" | "number";
2189
- options?: {
2190
- label: any;
2191
- value: any;
2192
- }[];
2354
+ options?: FilterOption[];
2193
2355
  value?: any;
2356
+ /** Field the produced WidgetFilter targets. */
2357
+ field?: string;
2358
+ optionsSource?: FilterOptionsSource;
2359
+ /** True while `optionsSource` options load. */
2360
+ loading?: boolean;
2361
+ }
2362
+ interface FilterSlotArgs {
2363
+ control: FilterControl;
2364
+ options: FilterOption[];
2365
+ value: any;
2366
+ setValue: (value: any) => void;
2367
+ loading: boolean;
2368
+ tokens: ZvolvTokens;
2194
2369
  }
2195
2370
  interface FilterPanelRenderArgs {
2196
2371
  controls: FilterControl[];
@@ -2198,6 +2373,8 @@ interface FilterPanelRenderArgs {
2198
2373
  setValue: (key: string, value: any) => void;
2199
2374
  apply: () => void;
2200
2375
  reset: () => void;
2376
+ /** Current selections as widget filters (select / multiselect controls with a `field`). */
2377
+ filters: WidgetFilter[];
2201
2378
  tokens: ZvolvTokens;
2202
2379
  config: any;
2203
2380
  }
@@ -2209,8 +2386,31 @@ interface FilterPanelWidgetProps {
2209
2386
  /** Current filter values, owned by the dashboard (URL params). */
2210
2387
  value?: Record<string, any>;
2211
2388
  onChange?: (values: Record<string, any>) => void;
2389
+ /**
2390
+ * Selections as `WidgetFilter[]` — pass straight to a widget's
2391
+ * `widgetFilters`. A control on "All" (null / empty) contributes nothing.
2392
+ */
2393
+ onFiltersChange?: (filters: WidgetFilter[]) => void;
2394
+ /** Replaces one control's UI; the panel still owns options and state. */
2395
+ renderFilter?: (args: FilterSlotArgs) => React.ReactNode;
2212
2396
  render?: (args: FilterPanelRenderArgs) => React.ReactNode;
2213
2397
  }
2398
+ /**
2399
+ * The option a stored value refers to. Values restored from URL params are
2400
+ * strings, so "123" matches an option whose value is 123.
2401
+ */
2402
+ declare function matchFilterOption(options: FilterOption[] | undefined, value: any): FilterOption | undefined;
2403
+ /** Panel values → widget filters: `{ field, operator: "IN", value: [...] }` per selected control. */
2404
+ declare function filterPanelToWidgetFilters(controls: FilterControl[], values: Record<string, any>): WidgetFilter[];
2405
+ /**
2406
+ * The query behind a control's options: a distinct-values (composite terms)
2407
+ * aggregation over the WHOLE index, with the source's own filters applied by
2408
+ * Elasticsearch — never "the first N rows". A source that already declares a
2409
+ * pivot is used as is.
2410
+ */
2411
+ declare function optionsDataSource(source: FilterOptionsSource): any;
2412
+ /** Fetched rows → distinct, non-empty options. Pure. */
2413
+ declare function rowsToFilterOptions(rows: any[], source: FilterOptionsSource): FilterOption[];
2214
2414
  /**
2215
2415
  * In-grid filter panel. Dashboard filters are URL-param driven and owned by the
2216
2416
  * host, so this is a controlled component: it renders controls and reports
@@ -2426,9 +2626,16 @@ interface KpiContentConfig {
2426
2626
  mode?: "timeseries" | "fields";
2427
2627
  [k: string]: any;
2428
2628
  };
2629
+ /** Slot in `layout: "card"`: big value, small inline value, delta chip, or sparkline. */
2630
+ role?: KpiRole;
2429
2631
  }
2430
2632
  interface KpiConfig extends WidgetChromeConfig {
2431
2633
  template?: KpiTemplateId;
2634
+ /**
2635
+ * "card" renders every item inside ONE card, placed by `role` (template key
2636
+ * `"KPI_CARD:card"`). Default: each item as its own block.
2637
+ */
2638
+ layout?: "card" | "stack";
2432
2639
  contents?: KpiContentConfig[];
2433
2640
  }
2434
2641
  interface TableColumnConfig {
@@ -2542,10 +2749,19 @@ interface RankingConfig extends WidgetChromeConfig {
2542
2749
  ranking?: {
2543
2750
  labelField?: string;
2544
2751
  valueField?: string;
2545
- order?: "asc" | "desc";
2752
+ /** "none" keeps the incoming row order. Default "desc". */
2753
+ order?: "asc" | "desc" | "none";
2546
2754
  limit?: number;
2547
2755
  };
2548
2756
  }
2757
+ interface FunnelConfig extends WidgetChromeConfig {
2758
+ template?: string;
2759
+ /** Defaults: the series x / y (with `unpivot`, "label" / "value"). */
2760
+ funnel?: {
2761
+ labelField?: string;
2762
+ valueField?: string;
2763
+ };
2764
+ }
2549
2765
  interface TreeConfig extends WidgetChromeConfig {
2550
2766
  tree?: {
2551
2767
  idField?: string;
@@ -2604,6 +2820,19 @@ interface FilterPanelConfig extends WidgetChromeConfig {
2604
2820
  label: any;
2605
2821
  value: any;
2606
2822
  }[];
2823
+ /**
2824
+ * Fetch options from another data source (one request). Selecting one
2825
+ * emits `{ field, operator: "IN", value: [v] }` via `onFiltersChange`;
2826
+ * "All" emits nothing. For a FORM_SEARCH `field`, `valueField` must be
2827
+ * the lookup's ViewLabel field (the filter matches `<field>.view`).
2828
+ */
2829
+ optionsSource?: {
2830
+ dataSource: ZvolvDataSource;
2831
+ labelField: string;
2832
+ valueField: string;
2833
+ sort?: "asc" | "desc";
2834
+ allLabel?: string;
2835
+ };
2607
2836
  }[];
2608
2837
  }
2609
2838
  /** A complete widget definition as a dashboard stores it. */
@@ -3248,4 +3477,4 @@ declare function formWidget(o: {
3248
3477
  Description: string;
3249
3478
  };
3250
3479
 
3251
- export { ActionCardWidget, type ActionCardWidgetProps, type ActionConfig, type ActionItem, type ActionOutcome, type ActionRenderArgs, ActivityFeedWidget, type AggregateOptions, type AggregationType, AreaChartWidget, type AxisConfig, BLOCKED_FILE_EXTENSIONS, type BadgeTone, BannerWidget, BarChartWidget, COLUMN_FILTER_BLANK, CONTAINER_KINDS, CalendarWidget, CardListWidget, CarouselWidget, type CellArgs, type ChartConfig, type ChartRenderArgs, ChartWidget, type ChartWidgetProps, ChildTableWidget, type CollectionConfig, type CollectionItem, type CollectionMappingConfig, type CollectionRenderArgs, CollectionWidget, type CollectionWidgetProps, type ColumnFilterSlotArgs, type ColumnFilters, type CreateZvolvRuntimeOptions, type DashboardFilterDef, type DashboardFilterValue, type DashboardNode, DashboardTableWidget, type DataSourceDefinition, type DataSourceField, DatabaseTableWidget, type DateDiffField, type DateDiffSpec, type DateDiffUnit, type DateGapOptions, type DateGapUnit, type DateInterval, type DateRange, type DateRangeToken, type DateToken, type DeepPartial, DefaultField, type DefaultInsight, DoughnutChartWidget, EMPTY_INTERACTIONS, type ElementSpec, EntityGalleryWidget, type FieldFilter, type FieldKind, type FieldOption, type FieldOptionsState, type FileFieldState, type FileItem, type FillDateGapsArgs, type FilterControl, type FilterInsight, type FilterOperator, type FilterPanelConfig, type FilterPanelRenderArgs, FilterPanelWidget, type FilterPanelWidgetProps, type FilterableField, FormApiContext, type FormConfig, type FormDefinition, type FormElement, type FormErrors, type FormField, FormFields, type FormInspection, type FormKit, FormKitSlot, type FormMode, type FormSpec, type FormStatus, type FormValues, FormWidget, type FormWidgetProps, type FormulaInsight, GRID, GanttChartWidget, type GaugeConfig, GaugeMeterWidget, type GaugeMeterWidgetProps, type GaugeRenderArgs, GoogleMapWidget, GridCardWidget, type GridItem, type HeatCell, type HeatMapConfig, type HeatMapRenderArgs, HeatMapWidget, type HeatMapWidgetProps, type HtmlConfig, type HtmlRenderArgs, HtmlWidget, type HtmlWidgetProps, type IframeConfig, IframeWidget, type IframeWidgetProps, type InteractionMode, type InteractionProps, type InteractionStateProps, type InteractionUiProps, type InteractiveWidgetData, type InteractiveWidgetProps, KPI_DEFAULT_TEMPLATES, type KpiConfig, type KpiContentConfig, type KpiContentVM, Delta as KpiDelta, Label as KpiLabel, Sparkline as KpiSparkline, type KpiTemplateId, type KpiTemplateProps, type KpiTimeseriesSource, Value as KpiValue, KpiWidget, type KpiWidgetProps, type LegendConfig, LineChartWidget, type LookupConfig, type MapConfig, type MapMarker, type MapRenderArgs, type MapWidgetProps, type MasterFieldDataType, type MasterFieldType, MeetingSchedulerWidget, type MockQuery, type MockRuntimeOptions, NON_INPUT_TYPES, NON_RENDERING_TYPES, type NormalizedWidget, type OpenFormRequest, PREFIX_UNITS, type PayloadInsight, PieChartWidget, type PivotConfig, type PivotFilter, PivotGridWidget, type PivotGridWidgetProps, type PivotRenderArgs, type PivotRow, type PivotSummary, type PostOperation, type PostOperator, RankingBarWidget, type RankingBarWidgetProps, type RankingConfig, type RankingRenderArgs, type RankingRow, RawHtmlWidget, type ResolvedChromeConfig, type RuleEffect, type RuleInsight, type RuleOverride, SAMPLE_ROWS, SUBMISSION_SKIP_TYPES, SUFFIX_UNITS, ScatterChartWidget, type SearchSlotArgs, type SeriesConfig, type SheetColumn, type SheetFieldState, type SortDirection, type SortSlotArgs, type SortState, type StepItem, type StepperConfig, type StepperRenderArgs, StepperWidget, type StepperWidgetProps, type SubmitOptions, type TabConfig, type TabItem, type TabRenderArgs, TabWidget, type TabWidgetProps, type TableColumn, type TableColumnConfig, type TableConfig, type TableRenderArgs, TableWidget, type TableWidgetProps, TaskTrackerTableWidget, type TemplateComponent, type TemplateMap, TemplateProvider, type TemporalConfig, type TemporalEvent, type TemporalMappingConfig, type TemporalRenderArgs, TemporalWidget, type TemporalWidgetProps, TimelineWidget, type Tone, type ToolbarSlotArgs, type TreeConfig, type TreeNode, type TreeRenderArgs, TreeWidget, type TreeWidgetProps, type TrialButton, type TrialFieldState, type TrialLogEntry, type UploadedFile, type UseKpiContentsArgs, type UseWidgetDataArgs, type UseZvolvFormArgs, type ValidationInsight, WIDGET_REGISTRY, type WidgetChrome, type WidgetChromeConfig, type WidgetConfigurations, type WidgetDataResult, type WidgetDefinition, type WidgetFilter, type WidgetFilterSlotArgs, type WidgetInteractionState, type WidgetInteractions, WidgetShell, type WidgetShellProps, type WidgetState, type WidgetStateRenderArgs, WidgetStateSlot, type WidgetStyleOverrides, type WidgetTypeId, ZaiChatWidget, type ZaiChatWidgetProps, type ZvolvDataSource, ZvolvForm, type ZvolvFormApi, type ZvolvFormProps, ZvolvProvider, type ZvolvProviderProps, type ZvolvRuntime, ZvolvThemeProvider, type ZvolvTokens, ZvolvWidget, type ZvolvWidgetProps, addPeriod, aggregate, alignSummaryToSeries, applyCumulative, applyLocalColumnFilters, applyLocalSearch, applyLocalSort, applyLocalWidgetFilters, applyPostOperations, applyRules, automationSource, buildColumnFilterClauses, buildDashFilters, buildDashboardTree, buildInitialValues, buildRemoteSort, buildSearchClause, buildSubmissionElements, buildTree, buildTriggerBody, buildWidgetFilterClauses, cascade, cdateFiltersFor, childIdsOf, cleanTitle, clearLookupCache, coerceSeriesNumbers, computeRowFormulas, createMockRuntime, createSubmission, createZvolvRuntime, dashboardDefaultDateToken, dashboardFilterDefs, dateDiff, dateRangeFor, defaultTokens, defineConfig, defineForm, derive, describeWidgetFilter, distinctColumnValues, eid, el, evaluateFormula, extractAgentFormData, fetchForm, fetchLookupOptions, fetchSubmission, field, fieldKind, fieldKindOf, fillDateGaps, filterableFields, flattenPercentiles, formSource, formWidget, formatAmountValue, formatCompact, formatFieldValue, formulaLabels, getDataType, getEmptyValue, getPostOpOperandSet, getPostOpResult, gridHeight, gridWidgets, groupBy, hasActiveInteractions, inspectForm, interpolate, invokeAgent, invokeTrigger, invokeZeno, isDataSourceConfigured, isLegacyId, isLikelyTimestamp, isServerSafeFormula, lookupConfigOf, mergeTokens, normaliseElement, normaliseForm, normalizeWidget, openFormRequest, operatorsForKind, optionFilterRules, parseConfig, parseDateValue, parseDeep, percentileKey, pivot, renderHtmlVariables, resetQueryUser, resolveChrome, resolveChromeConfig, resolveCollectionMapping, resolveDashboardLayout, resolveDateToken, resolveDrillDown, resolveFieldType, resolveFilterMode, resolveFormWidget, resolveSeries, resolveTableMode, resolveWidget, resolveWidgetDefaults, resolveXKey, rowSubmissionIds, ruleMatches, rulesOf, searchPeople, serializeElementValue, startOfPeriod, statusTone, submissionIdOf, submissionToValues, submitElementsOf, taskField, taskSource, toBraceFormula, toNum, toRelational, toneColor, toneSurface, updateSubmission, uploadFile, useCollectionItems, useFieldOptions, useFileField, useFormApi, useFormInspector, useInteractiveWidgetData, useKpiContents, useSheetField, useTableColumns, useTemplateOverride, useTemporalEvents, useTokens, useTrialField, useWidgetData, useWidgetInteractions, useZvolvClient, useZvolvForm, useZvolvRuntime, usesFormFramework, validateField, validateForm, when, where };
3480
+ export { ActionCardWidget, type ActionCardWidgetProps, type ActionConfig, type ActionItem, type ActionOutcome, type ActionRenderArgs, ActivityFeedWidget, type AggregateOptions, type AggregationType, AreaChartWidget, type AxisConfig, BLOCKED_FILE_EXTENSIONS, type BadgeTone, BannerWidget, BarChartWidget, COLUMN_FILTER_BLANK, CONTAINER_KINDS, CalendarWidget, CardListWidget, CarouselWidget, type CategoryGapOptions, type CellArgs, type ChartConfig, type ChartRenderArgs, ChartWidget, type ChartWidgetProps, ChildTableWidget, type CollectionConfig, type CollectionItem, type CollectionMappingConfig, type CollectionRenderArgs, CollectionWidget, type CollectionWidgetProps, type ColumnFilterSlotArgs, type ColumnFilters, type CreateZvolvRuntimeOptions, type DashboardFilterDef, type DashboardFilterValue, type DashboardNode, DashboardTableWidget, type DataSourceDefinition, type DataSourceField, DatabaseTableWidget, type DateDiffField, type DateDiffSpec, type DateDiffUnit, type DateGapOptions, type DateGapUnit, type DateInterval, type DateRange, type DateRangeToken, type DateToken, type DeepPartial, DefaultField, type DefaultInsight, DoughnutChartWidget, EMPTY_INTERACTIONS, type ElementSpec, EntityGalleryWidget, type FieldFilter, type FieldKind, type FieldOption, type FieldOptionsState, type FileFieldState, type FileItem, type FillDateGapsArgs, type FilterControl, type FilterInsight, type FilterOperator, type FilterOption, type FilterOptionsSource, type FilterPanelConfig, type FilterPanelRenderArgs, FilterPanelWidget, type FilterPanelWidgetProps, type FilterSlotArgs, type FilterableField, FormApiContext, type FormConfig, type FormDefinition, type FormElement, type FormErrors, type FormField, FormFields, type FormInspection, type FormKit, FormKitSlot, type FormMode, type FormSpec, type FormStatus, type FormValues, FormWidget, type FormWidgetProps, type FormulaInsight, type FunnelConfig, type FunnelRenderArgs, type FunnelRow, FunnelWidget, type FunnelWidgetProps, GRID, GanttChartWidget, type GaugeConfig, GaugeMeterWidget, type GaugeMeterWidgetProps, type GaugeRenderArgs, GoogleMapWidget, GridCardWidget, type GridItem, type HeatCell, type HeatMapConfig, type HeatMapRenderArgs, HeatMapWidget, type HeatMapWidgetProps, type HtmlConfig, type HtmlRenderArgs, HtmlWidget, type HtmlWidgetProps, type IframeConfig, IframeWidget, type IframeWidgetProps, type InteractionMode, type InteractionProps, type InteractionStateProps, type InteractionUiProps, type InteractiveWidgetData, type InteractiveWidgetProps, KPI_DEFAULT_TEMPLATES, Card as KpiCard, type KpiCardRenderArgs, type KpiCardRoles, type KpiConfig, type KpiContentConfig, type KpiContentVM, Delta as KpiDelta, Label as KpiLabel, type KpiRole, Sparkline as KpiSparkline, type KpiSparklineProps, type KpiTemplateId, type KpiTemplateProps, type KpiTimeseriesSource, Value as KpiValue, KpiWidget, type KpiWidgetProps, type LegendConfig, LineChartWidget, type LookupConfig, type MapConfig, type MapMarker, type MapRenderArgs, type MapWidgetProps, type MasterFieldDataType, type MasterFieldType, MeetingSchedulerWidget, type MockQuery, type MockRuntimeOptions, NON_INPUT_TYPES, NON_RENDERING_TYPES, type NormalizedWidget, type OpenFormRequest, PREFIX_UNITS, type PayloadInsight, PieChartWidget, type PivotConfig, type PivotFilter, PivotGridWidget, type PivotGridWidgetProps, type PivotRenderArgs, type PivotRow, type PivotSummary, type PostOperation, type PostOperator, RankingBarWidget, type RankingBarWidgetProps, type RankingConfig, type RankingRenderArgs, type RankingRow, RawHtmlWidget, type ResolvedChromeConfig, type RuleEffect, type RuleInsight, type RuleOverride, SAMPLE_ROWS, SUBMISSION_SKIP_TYPES, SUFFIX_UNITS, ScatterChartWidget, type SearchSlotArgs, type SeriesConfig, type SheetColumn, type SheetFieldState, type SortDirection, type SortSlotArgs, type SortState, type StepItem, type StepperConfig, type StepperRenderArgs, StepperWidget, type StepperWidgetProps, type SubmitOptions, type TabConfig, type TabItem, type TabRenderArgs, TabWidget, type TabWidgetProps, type TableColumn, type TableColumnConfig, type TableConfig, type TableRenderArgs, TableWidget, type TableWidgetProps, TaskTrackerTableWidget, type TemplateComponent, type TemplateMap, TemplateProvider, type TemporalConfig, type TemporalEvent, type TemporalMappingConfig, type TemporalRenderArgs, TemporalWidget, type TemporalWidgetProps, TimelineWidget, type Tone, type ToolbarSlotArgs, type TreeConfig, type TreeNode, type TreeRenderArgs, TreeWidget, type TreeWidgetProps, type TrialButton, type TrialFieldState, type TrialLogEntry, type UnpivotOptions, type UploadedFile, type UseKpiContentsArgs, type UseWidgetDataArgs, type UseZvolvFormArgs, type ValidationInsight, WIDGET_REGISTRY, type WidgetChrome, type WidgetChromeConfig, type WidgetConfigurations, type WidgetDataResult, type WidgetDefinition, type WidgetFilter, type WidgetFilterSlotArgs, type WidgetInteractionState, type WidgetInteractions, WidgetShell, type WidgetShellProps, type WidgetState, type WidgetStateRenderArgs, WidgetStateSlot, type WidgetStyleOverrides, type WidgetTypeId, ZaiChatWidget, type ZaiChatWidgetProps, type ZvolvDataSource, ZvolvForm, type ZvolvFormApi, type ZvolvFormProps, ZvolvProvider, type ZvolvProviderProps, type ZvolvRuntime, ZvolvThemeProvider, type ZvolvTokens, ZvolvWidget, type ZvolvWidgetProps, addPeriod, aggregate, alignSummaryToSeries, applyCumulative, applyLocalColumnFilters, applyLocalSearch, applyLocalSort, applyLocalWidgetFilters, applyPostOperations, applyRules, automationSource, buildColumnFilterClauses, buildDashFilters, buildDashboardTree, buildInitialValues, buildRemoteSort, buildSearchClause, buildSubmissionElements, buildTree, buildTriggerBody, buildWidgetFilterClauses, cascade, cdateFiltersFor, childIdsOf, cleanTitle, clearLookupCache, coerceSeriesNumbers, computeFunnelRows, computeRowFormulas, createMockRuntime, createSubmission, createZvolvRuntime, dashboardDefaultDateToken, dashboardFilterDefs, dateDiff, dateRangeFor, defaultTokens, defineConfig, defineForm, derive, describeWidgetFilter, distinctColumnValues, eid, el, elementOptionValues, evaluateFormula, extractAgentFormData, fetchForm, fetchLookupOptions, fetchSubmission, field, fieldKind, fieldKindOf, fillCategoryGaps, fillDateGaps, filterPanelToWidgetFilters, filterableFields, flattenPercentiles, formSource, formWidget, formatAmountValue, formatCompact, formatFieldValue, formulaLabels, getDataType, getEmptyValue, getPostOpOperandSet, getPostOpResult, gridHeight, gridWidgets, groupBy, hasActiveInteractions, inspectForm, interpolate, invokeAgent, invokeTrigger, invokeZeno, isDataSourceConfigured, isLegacyId, isLikelyTimestamp, isServerSafeFormula, lookupConfigOf, matchFilterOption, mergeTokens, normaliseElement, normaliseForm, normalizeWidget, openFormRequest, operatorsForKind, optionFilterRules, optionsDataSource, parseConfig, parseDateValue, parseDeep, percentileKey, pivot, renderHtmlVariables, resetQueryUser, resolveChrome, resolveChromeConfig, resolveCollectionMapping, resolveDashboardLayout, resolveDateToken, resolveDrillDown, resolveFieldType, resolveFilterMode, resolveFormWidget, resolveKpiRoles, resolveSeries, resolveTableMode, resolveWidget, resolveWidgetDefaults, resolveXKey, rowSubmissionIds, rowsToFilterOptions, ruleMatches, rulesOf, searchPeople, serializeElementValue, startOfPeriod, statusTone, submissionIdOf, submissionToValues, submitElementsOf, taskField, taskSource, toBraceFormula, toNum, toRelational, toneColor, toneSurface, unpivotRows, updateSubmission, uploadFile, useCollectionItems, useFieldOptions, useFileField, useFormApi, useFormInspector, useInteractiveWidgetData, useKpiContents, useSheetField, useTableColumns, useTemplateOverride, useTemporalEvents, useTokens, useTrialField, useWidgetData, useWidgetInteractions, useZvolvClient, useZvolvForm, useZvolvRuntime, usesFormFramework, validateField, validateForm, when, where };