@factorialco/f0-react 1.378.0 → 1.380.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.
@@ -113229,49 +113229,56 @@ function Eh1() {
113229
113229
  }
113230
113230
  const fM = (e) => typeof e == "string" || typeof e == "number" || typeof e == "boolean" || Array.isArray(e), Fh1 = ({
113231
113231
  defaultFilters: e,
113232
- defaultSorting: t
113232
+ defaultSorting: t,
113233
+ currentVisualization: n
113233
113234
  }) => {
113234
- const n = K2(e), r = K2(t), { onEvent: a } = Eh1(), i = u1(
113235
- (c) => {
113236
- if (!c) return;
113237
- const u = Object.entries(c).find(
113238
- ([m, p]) => n.current?.[m] !== p
113239
- );
113235
+ const r = K2(e), a = K2(t), { onEvent: i } = Eh1(), s = u1(
113236
+ (u) => {
113240
113237
  if (!u) return;
113241
- const [d, C] = u;
113242
- fM(C) && (n.current = c, a("datacollection.filter-change", {
113243
- name: d,
113244
- value: C
113238
+ const d = Object.entries(u).find(
113239
+ ([p, v]) => r.current?.[p] !== v
113240
+ );
113241
+ if (!d) return;
113242
+ const [C, m] = d;
113243
+ fM(m) && (r.current = u, i("datacollection.filter-change", {
113244
+ name: C,
113245
+ value: m,
113246
+ ...n !== void 0 && {
113247
+ visualization: n
113248
+ }
113245
113249
  }));
113246
113250
  },
113247
- [a]
113248
- ), s = u1(
113249
- (c) => {
113250
- r?.current?.field === c?.field && r?.current?.order === c?.order || !c || typeof c.field != "string" || (r.current = c, a("datacollection.sorting-change", {
113251
- name: c.field,
113252
- value: c.order
113251
+ [i, n]
113252
+ ), l = u1(
113253
+ (u) => {
113254
+ a?.current?.field === u?.field && a?.current?.order === u?.order || !u || typeof u.field != "string" || (a.current = u, i("datacollection.sorting-change", {
113255
+ name: u.field,
113256
+ value: u.order
113253
113257
  }));
113254
113258
  },
113255
- [a]
113256
- ), l = u1(
113257
- (c) => {
113258
- if (!c) return;
113259
- const u = Object.entries(c).find(
113260
- ([m, p]) => n.current?.[m] !== p
113261
- );
113259
+ [i]
113260
+ ), c = u1(
113261
+ (u) => {
113262
113262
  if (!u) return;
113263
- const [d, C] = u;
113264
- fM(C) && (n.current = c, a("datacollection.preset-click", {
113265
- name: d,
113266
- value: C
113263
+ const d = Object.entries(u).find(
113264
+ ([p, v]) => r.current?.[p] !== v
113265
+ );
113266
+ if (!d) return;
113267
+ const [C, m] = d;
113268
+ fM(m) && (r.current = u, i("datacollection.preset-click", {
113269
+ name: C,
113270
+ value: m,
113271
+ ...n !== void 0 && {
113272
+ visualization: n
113273
+ }
113267
113274
  }));
113268
113275
  },
113269
- [a]
113276
+ [i, n]
113270
113277
  );
113271
113278
  return {
113272
- emitFilterChange: i,
113273
- emitSortingChange: s,
113274
- emitPresetClick: l
113279
+ emitFilterChange: s,
113280
+ emitSortingChange: l,
113281
+ emitPresetClick: c
113275
113282
  };
113276
113283
  };
113277
113284
  function od(e, t) {
@@ -114616,10 +114623,10 @@ function Kh1({
114616
114623
  R();
114617
114624
  };
114618
114625
  j2(() => {
114619
- const e2 = () => Object.entries(V || {}).find(([i2, m2]) => !Et(e[i2].type).isEmpty(m2, {
114626
+ const e2 = () => Object.entries(V || {}).find(([i2, m2]) => e[i2] ? !Et(e[i2].type).isEmpty(m2, {
114620
114627
  schema: e[i2],
114621
114628
  i18n: C
114622
- }));
114629
+ }) : !1);
114623
114630
  if (g && s === "default") {
114624
114631
  const i2 = e2();
114625
114632
  if (i2)
@@ -1,6 +1,6 @@
1
1
  import { jsx as X, jsxs as le } from "react/jsx-runtime";
2
2
  import { useInsertionEffect as Xe, createContext as ke, useContext as $e, useRef as _, useEffect as ne, useState as _e, useCallback as ze, useMemo as Ye } from "react";
3
- import { y as qe, z as We, D as He, G as je, J as Ne, K as Ke, M as Qe, N as Je, Q as Ze, R as et, V as Ce, W as tt, X as rt, Y as nt, Z as it, _ as ot, $ as at, a0 as st, a1 as ie, a2 as ct, a3 as ut, a4 as lt, a5 as ft, a6 as mt, a7 as dt, a8 as fe, a9 as ht } from "./F0AiChat-Bza8zqLg.js";
3
+ import { y as qe, z as We, D as He, G as je, J as Ne, K as Ke, M as Qe, N as Je, Q as Ze, R as et, V as Ce, W as tt, X as rt, Y as nt, Z as it, _ as ot, $ as at, a0 as st, a1 as ie, a2 as ct, a3 as ut, a4 as lt, a5 as ft, a6 as mt, a7 as dt, a8 as fe, a9 as ht } from "./F0AiChat-CvWFFE9y.js";
4
4
  import { useTrackVolume as pt } from "@livekit/components-react";
5
5
  function vt(t, e, r) {
6
6
  Xe(() => t.on(e, r), [t, e, r]);
package/dist/ai.d.ts CHANGED
@@ -1240,10 +1240,8 @@ declare module "@tiptap/core" {
1240
1240
 
1241
1241
  declare module "@tiptap/core" {
1242
1242
  interface Commands<ReturnType> {
1243
- videoEmbed: {
1244
- setVideoEmbed: (options: {
1245
- src: string;
1246
- }) => ReturnType;
1243
+ transcript: {
1244
+ insertTranscript: (data: TranscriptData) => ReturnType;
1247
1245
  };
1248
1246
  }
1249
1247
  }
@@ -1251,8 +1249,10 @@ declare module "@tiptap/core" {
1251
1249
 
1252
1250
  declare module "@tiptap/core" {
1253
1251
  interface Commands<ReturnType> {
1254
- transcript: {
1255
- insertTranscript: (data: TranscriptData) => ReturnType;
1252
+ videoEmbed: {
1253
+ setVideoEmbed: (options: {
1254
+ src: string;
1255
+ }) => ReturnType;
1256
1256
  };
1257
1257
  }
1258
1258
  }
package/dist/ai.js CHANGED
@@ -1,6 +1,6 @@
1
- import { A as e, B as o, C as t, E as n, h as i, F as r, a as l, x as c, i as A, b as u, s as F, t as h, v as C, w as T, c as d, n as m, o as I, p as f, H as g, I as S, k as p, L as x, O as H, q as P, P as b, S as k, T as O, l as v, m as w, U as M, r as E, j as L, d as q, e as B, u as U, g as j, f as z } from "./F0AiChat-Bza8zqLg.js";
1
+ import { A as e, B as o, C as t, E as n, h as i, F as r, a as l, x as c, i as A, b as u, s as F, t as h, v as C, w as T, c as d, n as m, o as I, p as f, H as g, I as S, k as p, L as x, O as H, q as P, P as b, S as k, T as O, l as v, m as w, U as M, r as E, j as L, d as q, e as B, u as U, g as j, f as z } from "./F0AiChat-CvWFFE9y.js";
2
2
  import { defaultTranslations as R } from "./i18n-provider-defaults.js";
3
- import { A as y, F as G, c as J, b as K, a as N, o as Q, u as W } from "./F0HILActionConfirmation-DVS7vYT1.js";
3
+ import { A as y, F as G, c as J, b as K, a as N, o as Q, u as W } from "./F0HILActionConfirmation-oxIVVb_t.js";
4
4
  export {
5
5
  e as A,
6
6
  y as AiChatTranslationsProvider,
@@ -12,6 +12,7 @@ import { AvatarListCellValue } from './types/avatarList';
12
12
  import { AvatarListCellValue as AvatarListCellValue_2 } from '../../../ui/value-display/types/avatarList';
13
13
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
14
14
  import { BarChartProps } from '../../../components/Charts/BarChart';
15
+ import { BarSeriesCellValue } from './types/barSeries';
15
16
  import { baseColors } from '@factorialco/f0-core';
16
17
  import { ButtonHTMLAttributes } from 'react';
17
18
  import { ClassValue } from 'cva';
@@ -38,6 +39,7 @@ import { FolderCellValue } from './types/folder';
38
39
  import { FolderCellValue as FolderCellValue_2 } from '../../../ui/value-display/types/folder';
39
40
  import { ForwardedRef } from 'react';
40
41
  import { ForwardRefExoticComponent } from 'react';
42
+ import { HourDistributionCellValue } from './types/hourDistribution';
41
43
  import { HTMLAttributeAnchorTarget } from 'react';
42
44
  import { HTMLAttributes } from 'react';
43
45
  import { HTMLInputTypeAttribute } from 'react';
@@ -1867,6 +1869,9 @@ declare type DataCollectionStatus<CurrentFiltersState extends FiltersState<Filte
1867
1869
  search?: string | undefined;
1868
1870
  navigationFilters?: NavigationFiltersState<NavigationFiltersDefinition>;
1869
1871
  visualization?: number;
1872
+ /** Per-visualization filter states, keyed by visualization index.
1873
+ * Only present when visualizations declare per-view filter overrides. */
1874
+ visualizationFilters?: Record<string, CurrentFiltersState>;
1870
1875
  };
1871
1876
 
1872
1877
  declare type DataCollectionStatusComplete<CurrentFiltersState extends FiltersState<FiltersDefinition>> = DataCollectionStatus<CurrentFiltersState> & {
@@ -1878,7 +1883,7 @@ declare type DataCollectionStorageFeature = (typeof dataCollectionStorageFeature
1878
1883
  /**
1879
1884
  * The available features of the data collection status storage
1880
1885
  */
1881
- declare const dataCollectionStorageFeatures: readonly ["filters", "navigationFilters", "sortings", "grouping", "visualization", "search"];
1886
+ declare const dataCollectionStorageFeatures: readonly ["filters", "navigationFilters", "sortings", "grouping", "visualization", "search", "visualizationFilters"];
1882
1887
 
1883
1888
  declare type DataCollectionStorageFeaturesDefinition = ("*" | `all` | `!${DataCollectionStorageFeature}` | `${DataCollectionStorageFeature}`)[];
1884
1889
 
@@ -6382,6 +6387,8 @@ declare const valueDisplayRenderers: {
6382
6387
  readonly person: (args: PersonCellValue, meta: ValueDisplayRendererContext) => JSX_2.Element;
6383
6388
  readonly percentage: (args: PercentageCellValue, meta: ValueDisplayRendererContext) => JSX_2.Element | null;
6384
6389
  readonly progressBar: (args: ProgressBarCellValue, _meta: ValueDisplayRendererContext) => JSX_2.Element | null;
6390
+ readonly barSeries: (args: BarSeriesCellValue, meta: ValueDisplayRendererContext) => JSX_2.Element;
6391
+ readonly hourDistribution: (args: HourDistributionCellValue, meta: ValueDisplayRendererContext) => JSX_2.Element;
6385
6392
  readonly company: (args: CompanyCellValue, meta: ValueDisplayRendererContext) => JSX_2.Element;
6386
6393
  readonly team: (args: TeamCellValue, meta: ValueDisplayRendererContext) => JSX_2.Element;
6387
6394
  readonly tag: (args: TagCellValue) => JSX_2.Element;
@@ -6450,27 +6457,27 @@ declare type VisualizacionTypeDefinition<Props, Settings = Record<string, never>
6450
6457
  * @template Filters - The filters type extending FiltersDefinition
6451
6458
  * @template ItemActions - The actions type extending Item ActionsDefinition
6452
6459
  */
6453
- declare type Visualization<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> = {
6460
+ declare type Visualization<R extends RecordType, Filters extends FiltersDefinition, Sortings extends SortingsDefinition, Summaries extends SummariesDefinition, ItemActions extends ItemActionsDefinition<R>, NavigationFilters extends NavigationFiltersDefinition, Grouping extends GroupingDefinition<R>> = ({
6454
6461
  /** Card-based visualization type */
6455
6462
  type: "card";
6456
6463
  /** Configuration options for card visualization */
6457
6464
  options: CardVisualizationOptions<R, Filters, Sortings>;
6458
- } | {
6465
+ } & VisualizationFilterOverrides<Filters>) | ({
6459
6466
  /** Kanban-based visualization type */
6460
6467
  type: "kanban";
6461
6468
  /** Configuration options for kanban visualization */
6462
6469
  options: KanbanVisualizationOptions<R, Filters, Sortings>;
6463
- } | {
6470
+ } & VisualizationFilterOverrides<Filters>) | ({
6464
6471
  /** Table-based visualization type */
6465
6472
  type: "table";
6466
6473
  /** Configuration options for table visualization */
6467
6474
  options: TableVisualizationOptions<R, Filters, Sortings, Summaries>;
6468
- } | {
6475
+ } & VisualizationFilterOverrides<Filters>) | ({
6469
6476
  /** List-based visualization type */
6470
6477
  type: "list";
6471
6478
  /** Configuration options for list visualization */
6472
6479
  options: ListVisualizationOptions<R, Filters, Sortings>;
6473
- } | {
6480
+ } & VisualizationFilterOverrides<Filters>) | ({
6474
6481
  /** Human-readable label for the visualization */
6475
6482
  label: string;
6476
6483
  /** Icon to represent the visualization in UI */
@@ -6484,6 +6491,23 @@ declare type Visualization<R extends RecordType, Filters extends FiltersDefiniti
6484
6491
  onLoadError: OnLoadErrorCallback;
6485
6492
  source: DataCollectionSource<R, Filters, Sortings, Summaries, ItemActions, NavigationFilters, Grouping>;
6486
6493
  }) => JSX.Element;
6494
+ } & VisualizationFilterOverrides<Filters>);
6495
+
6496
+ /**
6497
+ * Optional per-visualization filter and preset overrides.
6498
+ * When provided on a visualization, these override the global source filters/presets
6499
+ * for that specific view, and the view maintains its own independent filter state.
6500
+ *
6501
+ * @template Filters - The filters type extending FiltersDefinition
6502
+ */
6503
+ export declare type VisualizationFilterOverrides<Filters extends FiltersDefinition> = {
6504
+ /** Override which filters are available when this visualization is active.
6505
+ * If not provided, the global source filters are used.
6506
+ * Can be a subset of the source filters definition. */
6507
+ filters?: Partial<Filters>;
6508
+ /** Preset configuration used only when this visualization is active.
6509
+ * These replace the global source presets for this visualization. */
6510
+ presets?: PresetsDefinition<Filters>;
6487
6511
  };
6488
6512
 
6489
6513
  /**
@@ -6745,10 +6769,8 @@ declare module "@tiptap/core" {
6745
6769
 
6746
6770
  declare module "@tiptap/core" {
6747
6771
  interface Commands<ReturnType> {
6748
- videoEmbed: {
6749
- setVideoEmbed: (options: {
6750
- src: string;
6751
- }) => ReturnType;
6772
+ transcript: {
6773
+ insertTranscript: (data: TranscriptData) => ReturnType;
6752
6774
  };
6753
6775
  }
6754
6776
  }
@@ -6756,8 +6778,10 @@ declare module "@tiptap/core" {
6756
6778
 
6757
6779
  declare module "@tiptap/core" {
6758
6780
  interface Commands<ReturnType> {
6759
- transcript: {
6760
- insertTranscript: (data: TranscriptData) => ReturnType;
6781
+ videoEmbed: {
6782
+ setVideoEmbed: (options: {
6783
+ src: string;
6784
+ }) => ReturnType;
6761
6785
  };
6762
6786
  }
6763
6787
  }