impact-nova 3.0.0-alpha.2 → 3.0.0-alpha.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.
Files changed (35) hide show
  1. package/dist/_virtual/index.js +4 -4
  2. package/dist/_virtual/index2.js +4 -4
  3. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +3 -2
  4. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +3 -2
  5. package/dist/components/data/expandable-list-item/index.d.ts +2 -0
  6. package/dist/components/data/expandable-list-item/index.js +20 -16
  7. package/dist/components/data/expandable-list-item/product-card-hero.d.ts +15 -0
  8. package/dist/components/data/expandable-list-item/product-card-iris-insight-trigger.d.ts +8 -0
  9. package/dist/components/data/expandable-list-item/product-card-iris-insight-trigger.js +41 -0
  10. package/dist/components/data/expandable-list-item/product-card-metrics-toggle.d.ts +13 -0
  11. package/dist/components/data/expandable-list-item/product-card-metrics-toggle.js +27 -0
  12. package/dist/components/data/expandable-list-item/sku-picker-chrome.d.ts +35 -0
  13. package/dist/components/data/expandable-list-item/sku-picker-chrome.js +142 -0
  14. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts +3 -2
  15. package/dist/components/feedback/tooltip/tab-tooltip-render.js +3 -2
  16. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  17. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  18. package/dist/components/forms/select/components/SelectTriggerValue.js +3 -2
  19. package/dist/components/forms/select/components/Submenu.js +3 -2
  20. package/dist/form-react/Fields/VirtualizedListField.d.ts +3 -0
  21. package/dist/form-react/Fields/VirtualizedListField.js +169 -0
  22. package/dist/form-react/fields.d.ts +1 -0
  23. package/dist/form-react/fields.js +28 -26
  24. package/dist/form-react/registry/defaultFieldRegistrations.d.ts +1 -1
  25. package/dist/form-react/registry/defaultFieldRegistrations.js +13 -12
  26. package/dist/form-react/types/fields.types.d.ts +21 -1
  27. package/dist/form-react/types/fieldsOutput.types.d.ts +4 -1
  28. package/dist/form-react/utils/fieldDefaults.utils.js +1 -1
  29. package/dist/impact-nova.css +1 -1
  30. package/dist/index.js +356 -352
  31. package/dist/llms/rules/installation.js +1 -1
  32. package/dist/llms/rules/requirements.js +1 -1
  33. package/dist/node_modules/hast-util-to-jsx-runtime/lib/index.js +1 -1
  34. package/dist/node_modules/unified/lib/index.js +1 -1
  35. package/package.json +3 -1
@@ -0,0 +1,169 @@
1
+ import { jsx as i, jsxs as x } from "react/jsx-runtime";
2
+ import { useState as b } from "react";
3
+ import { Controller as k } from "react-hook-form";
4
+ import { ChoiceCardGroup as I, ChoiceCard as j, ChoiceCardIndicator as q, ChoiceCardContent as z, ChoiceCardTitle as D } from "../../components/forms/choice-card/choice-card.js";
5
+ import { SkuPickerChrome as B } from "../../components/data/expandable-list-item/sku-picker-chrome.js";
6
+ import { cn as S } from "../../lib/utils.js";
7
+ import { getFieldTestId as M } from "../utils/fieldTestIds.js";
8
+ function P(e) {
9
+ if (!Array.isArray(e))
10
+ return [];
11
+ const r = [];
12
+ for (const t of e)
13
+ typeof t == "string" && r.push(t);
14
+ return r;
15
+ }
16
+ function y(e, r, t) {
17
+ if (t === "single") {
18
+ const l = Array.from(r).find((o) => !e.includes(o));
19
+ return l ? [l] : Array.from(r).slice(0, 1);
20
+ }
21
+ const a = [];
22
+ for (const l of e)
23
+ r.has(l) && a.push(l);
24
+ for (const l of r)
25
+ e.includes(l) || a.push(l);
26
+ return a;
27
+ }
28
+ function d(e) {
29
+ return typeof e.label == "string" ? e.label : e.value;
30
+ }
31
+ function E(e, r, t) {
32
+ const a = r.trim().toLowerCase(), l = e.filter(
33
+ (o) => d(o).toLowerCase().includes(a)
34
+ );
35
+ return t ? l.sort(
36
+ (o, f) => d(o).localeCompare(d(f))
37
+ ) : l;
38
+ }
39
+ function G(e, r) {
40
+ let t = 0;
41
+ for (const a of e)
42
+ if (a.isDisabled !== !0 && (t += 1, !r.includes(a.value)))
43
+ return !1;
44
+ return t > 0;
45
+ }
46
+ function R(e, r) {
47
+ const t = [];
48
+ for (const a of r) {
49
+ const l = e.find((o) => o.value === a);
50
+ if (l && (t.push(d(l)), t.length === 5))
51
+ break;
52
+ }
53
+ return t;
54
+ }
55
+ function _(e) {
56
+ const r = e.view === "card";
57
+ return /* @__PURE__ */ i(
58
+ I,
59
+ {
60
+ type: "multiple",
61
+ value: e.selected ? [e.option.value] : [],
62
+ onValueChange: (t) => {
63
+ t.includes(e.option.value) !== e.selected && e.onToggle();
64
+ },
65
+ disabled: e.disabled,
66
+ className: "min-w-0 w-full",
67
+ children: /* @__PURE__ */ x(
68
+ j,
69
+ {
70
+ value: e.option.value,
71
+ size: "sm",
72
+ disabled: e.disabled,
73
+ "aria-label": d(e.option),
74
+ className: S(
75
+ "w-full min-w-0",
76
+ !r && "items-center justify-start gap-3 rounded-none border-0 bg-transparent p-0 shadow-none hover:border-0 data-[selected]:border-0 data-[selected]:bg-transparent data-[selected]:shadow-none"
77
+ ),
78
+ children: [
79
+ /* @__PURE__ */ i(q, { className: r ? "order-last" : "order-first" }),
80
+ /* @__PURE__ */ i(z, { className: "min-w-0", children: /* @__PURE__ */ i(D, { className: "whitespace-normal normal-case", children: d(e.option) }) })
81
+ ]
82
+ }
83
+ )
84
+ }
85
+ );
86
+ }
87
+ const X = ({
88
+ field: e,
89
+ validationRules: r,
90
+ isDisabled: t,
91
+ formHelpers: a
92
+ }) => {
93
+ const [l, o] = b(""), [f, N] = b(!1), [m, A] = b("card");
94
+ if (e.fieldType !== "virtualized_list") return null;
95
+ const C = e.options ?? [], g = e.selectionMode ?? "multi", L = a.form.control, h = E(C, l, f);
96
+ return /* @__PURE__ */ i(
97
+ k,
98
+ {
99
+ name: e.id,
100
+ control: L,
101
+ disabled: t,
102
+ rules: r,
103
+ render: ({ field: u, fieldState: p }) => {
104
+ const c = P(u.value), v = !!p.error, w = v ? p.error?.message : e.helpText, T = (n) => {
105
+ if (t || n.isDisabled === !0)
106
+ return;
107
+ const s = new Set(c);
108
+ s.has(n.value) ? s.delete(n.value) : s.add(n.value), u.onChange(y(c, s, g));
109
+ }, V = () => {
110
+ if (g === "single") {
111
+ const s = h.find((O) => O.isDisabled !== !0);
112
+ u.onChange(s ? [s.value] : []);
113
+ return;
114
+ }
115
+ const n = new Set(c);
116
+ for (const s of h)
117
+ s.isDisabled !== !0 && n.add(s.value);
118
+ u.onChange(y(c, n, "multi"));
119
+ };
120
+ return /* @__PURE__ */ x("div", { "data-testid": M(e.id), children: [
121
+ /* @__PURE__ */ i(
122
+ B,
123
+ {
124
+ collapsible: e.collapsible,
125
+ defaultCollapsed: e.defaultCollapsed,
126
+ title: e.label,
127
+ required: e.isRequired,
128
+ emptyLabel: "None selected",
129
+ searchLabel: e.label ? `Search ${e.label}` : "Search",
130
+ showBack: !1,
131
+ view: m,
132
+ search: l,
133
+ sortAlphabetically: f,
134
+ selectedCount: c.length,
135
+ allSelected: G(h, c),
136
+ previewCodes: R(C, c),
137
+ onSearchChange: o,
138
+ onViewChange: A,
139
+ onToggleSort: () => N((n) => !n),
140
+ onSelectAll: V,
141
+ onClear: () => u.onChange([]),
142
+ children: /* @__PURE__ */ i(
143
+ "div",
144
+ {
145
+ className: m === "card" ? "grid w-full grid-cols-[repeat(auto-fill,minmax(180px,1fr))] gap-3" : "flex w-full flex-col gap-2",
146
+ children: h.map((n) => /* @__PURE__ */ i(
147
+ _,
148
+ {
149
+ option: n,
150
+ selected: c.includes(n.value),
151
+ disabled: t || n.isDisabled === !0,
152
+ view: m,
153
+ onToggle: () => T(n)
154
+ },
155
+ n.value
156
+ ))
157
+ }
158
+ )
159
+ }
160
+ ),
161
+ w ? /* @__PURE__ */ i("p", { className: S("mt-1 text-xs", v ? "text-destructive" : "text-content-tertiary"), children: w }) : null
162
+ ] });
163
+ }
164
+ }
165
+ );
166
+ };
167
+ export {
168
+ X as VirtualizedListField
169
+ };
@@ -14,6 +14,7 @@ export { SelectField } from './Fields/SelectField';
14
14
  export { CheckboxField } from './Fields/CheckboxField';
15
15
  export { SwitchField } from './Fields/SwitchField';
16
16
  export { ChipsField } from './Fields/ChipsField';
17
+ export { VirtualizedListField } from './Fields/VirtualizedListField';
17
18
  export { DateInputField } from './Fields/DateInputField';
18
19
  export { FillFormByPasteField } from './Fields/FillFormByPasteField';
19
20
  export { FillFormByFileUploadField } from './Fields/FillFormByFileUploadField';
@@ -1,50 +1,52 @@
1
- import { TextField as r } from "./Fields/TextField.js";
1
+ import { TextField as o } from "./Fields/TextField.js";
2
2
  import { TextAreaField as t } from "./Fields/TextAreaField.js";
3
3
  import { ButtonsGroupField as d } from "./Fields/ButtonsGroupField.js";
4
4
  import { RadioField as F } from "./Fields/RadioField.js";
5
5
  import { DateRangeField as m } from "./Fields/DateRangeField.js";
6
6
  import { WeekRangeField as a } from "./Fields/WeekRangePicker.js";
7
7
  import { MonthRangeField as n } from "./Fields/MonthRangeField.js";
8
- import { FileUploadField as h } from "./Fields/FileUploadField.js";
8
+ import { FileUploadField as u } from "./Fields/FileUploadField.js";
9
9
  import { SelectField as R } from "./Fields/SelectField.js";
10
10
  import { CheckboxField as g } from "./Fields/CheckboxField.js";
11
- import { SwitchField as B } from "./Fields/SwitchField.js";
12
- import { ChipsField as b } from "./Fields/ChipsField.js";
13
- import { DateInputField as C } from "./Fields/DateInputField.js";
14
- import { FillFormByPasteField as W } from "./Fields/FillFormByPasteField.js";
15
- import { FillFormByFileUploadField as y } from "./Fields/FillFormByFileUploadField.js";
16
- import { NumericComboboxField as U } from "./Fields/NumericComboboxField.js";
11
+ import { SwitchField as s } from "./Fields/SwitchField.js";
12
+ import { ChipsField as T } from "./Fields/ChipsField.js";
13
+ import { VirtualizedListField as C } from "./Fields/VirtualizedListField.js";
14
+ import { DateInputField as W } from "./Fields/DateInputField.js";
15
+ import { FillFormByPasteField as y } from "./Fields/FillFormByPasteField.js";
16
+ import { FillFormByFileUploadField as U } from "./Fields/FillFormByFileUploadField.js";
17
+ import { NumericComboboxField as w } from "./Fields/NumericComboboxField.js";
17
18
  import { MultiMonthPickerField as A } from "./Fields/MultiMonthPickerField.js";
18
19
  import { MultiWeekPickerField as I } from "./Fields/MultiWeekPickerField.js";
19
- import { TextFieldWithBackendValidation as V } from "./Fields/TextFieldWithBackendValidation.js";
20
+ import { TextFieldWithBackendValidation as N } from "./Fields/TextFieldWithBackendValidation.js";
20
21
  import { SliderRangeField as q } from "./Fields/SliderRangeField.js";
21
- import { RichTextField as z } from "./Fields/RichTextField.js";
22
- import { YearPickerField as H } from "./Fields/YearPickerField.js";
23
- import { MultiYearPickerField as K } from "./Fields/MultiYearPickerField.js";
24
- import { YearRangePickerField as O } from "./Fields/YearRangePickerField.js";
22
+ import { RichTextField as E } from "./Fields/RichTextField.js";
23
+ import { YearPickerField as J } from "./Fields/YearPickerField.js";
24
+ import { MultiYearPickerField as O } from "./Fields/MultiYearPickerField.js";
25
+ import { YearRangePickerField as X } from "./Fields/YearRangePickerField.js";
25
26
  export {
26
27
  d as ButtonsGroupField,
27
28
  g as CheckboxField,
28
- b as ChipsField,
29
- C as DateInputField,
29
+ T as ChipsField,
30
+ W as DateInputField,
30
31
  m as DateRangeField,
31
- h as FileUploadField,
32
- y as FillFormByFileUploadField,
33
- W as FillFormByPasteField,
32
+ u as FileUploadField,
33
+ U as FillFormByFileUploadField,
34
+ y as FillFormByPasteField,
34
35
  n as MonthRangeField,
35
36
  A as MultiMonthPickerField,
36
37
  I as MultiWeekPickerField,
37
- K as MultiYearPickerField,
38
- U as NumericComboboxField,
38
+ O as MultiYearPickerField,
39
+ w as NumericComboboxField,
39
40
  F as RadioField,
40
- z as RichTextField,
41
+ E as RichTextField,
41
42
  R as SelectField,
42
43
  q as SliderRangeField,
43
- B as SwitchField,
44
+ s as SwitchField,
44
45
  t as TextAreaField,
45
- r as TextField,
46
- V as TextFieldWithBackendValidation,
46
+ o as TextField,
47
+ N as TextFieldWithBackendValidation,
48
+ C as VirtualizedListField,
47
49
  a as WeekRangeField,
48
- H as YearPickerField,
49
- O as YearRangePickerField
50
+ J as YearPickerField,
51
+ X as YearRangePickerField
50
52
  };
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Register all 26 built-in field types. Safe to call multiple times — runs once.
2
+ * Register all built-in field types. Safe to call multiple times — runs once.
3
3
  *
4
4
  * Consumers must call this at app startup (or use `registerFieldType` selectively)
5
5
  * before rendering any `FieldRenderer` / `ReactHooksForm`.
@@ -2,11 +2,11 @@ import { registerFieldType as e } from "./fieldRegistry.js";
2
2
  import { SelectField as r } from "../Fields/SelectField.js";
3
3
  import { ButtonsGroupField as o } from "../Fields/ButtonsGroupField.js";
4
4
  import { RadioField as t } from "../Fields/RadioField.js";
5
- import { TextField as m } from "../Fields/TextField.js";
6
- import { TextAreaField as l } from "../Fields/TextAreaField.js";
5
+ import { TextField as l } from "../Fields/TextField.js";
6
+ import { TextAreaField as m } from "../Fields/TextAreaField.js";
7
7
  import { DateRangeField as d } from "../Fields/DateRangeField.js";
8
- import { DateInputField as p } from "../Fields/DateInputField.js";
9
- import { WeekRangeField as a } from "../Fields/WeekRangePicker.js";
8
+ import { DateInputField as a } from "../Fields/DateInputField.js";
9
+ import { WeekRangeField as p } from "../Fields/WeekRangePicker.js";
10
10
  import { MonthRangeField as f } from "../Fields/MonthRangeField.js";
11
11
  import { MultiWeekPickerField as F } from "../Fields/MultiWeekPickerField.js";
12
12
  import { MultiMonthPickerField as _ } from "../Fields/MultiMonthPickerField.js";
@@ -14,21 +14,22 @@ import { FileUploadField as n } from "../Fields/FileUploadField.js";
14
14
  import { FillFormByPasteField as c } from "../Fields/FillFormByPasteField.js";
15
15
  import { FillFormByFileUploadField as u } from "../Fields/FillFormByFileUploadField.js";
16
16
  import { ChipsField as k } from "../Fields/ChipsField.js";
17
+ import { VirtualizedListField as s } from "../Fields/VirtualizedListField.js";
17
18
  import { TextFieldWithBackendValidation as b } from "../Fields/TextFieldWithBackendValidation.js";
18
19
  import { SwitchField as g } from "../Fields/SwitchField.js";
19
20
  import { CheckboxField as h } from "../Fields/CheckboxField.js";
20
- import { LabelField as s } from "../Fields/LabelField.js";
21
- import { DividerField as x } from "../Fields/DividerField.js";
22
- import { DividerWithLabelField as y } from "../Fields/DividerWithLabelField.js";
21
+ import { LabelField as x } from "../Fields/LabelField.js";
22
+ import { DividerField as y } from "../Fields/DividerField.js";
23
+ import { DividerWithLabelField as v } from "../Fields/DividerWithLabelField.js";
23
24
  import { NumericComboboxField as w } from "../Fields/NumericComboboxField.js";
24
25
  import { SliderRangeField as P } from "../Fields/SliderRangeField.js";
25
26
  import { YearPickerField as R } from "../Fields/YearPickerField.js";
26
- import { MultiYearPickerField as v } from "../Fields/MultiYearPickerField.js";
27
- import { YearRangePickerField as D } from "../Fields/YearRangePickerField.js";
27
+ import { MultiYearPickerField as D } from "../Fields/MultiYearPickerField.js";
28
+ import { YearRangePickerField as M } from "../Fields/YearRangePickerField.js";
28
29
  let i = !1;
29
- function ie() {
30
- i || (i = !0, e("divider", x), e("divider_with_label", y), e("label", s), e("select", r), e("button_group", o), e("radio", t), e("text", m), e("numeric_combobox", w), e("text_area", l), e("date", p), e("date_range", d), e("week_range", a), e("multi_week_picker", F), e("month_range", f), e("multi_month_picker", _), e("file_upload", n), e("fill_form_by_paste", c), e("fill_form_by_file_upload", u), e("chips", k), e("text_with_backend_validation", b), e("switch", g), e("checkbox", h), e("slider_range", P), e("year_picker", R), e("multi_year_picker", v), e("year_range", D));
30
+ function oe() {
31
+ i || (i = !0, e("divider", y), e("divider_with_label", v), e("label", x), e("select", r), e("button_group", o), e("radio", t), e("text", l), e("numeric_combobox", w), e("text_area", m), e("date", a), e("date_range", d), e("week_range", p), e("multi_week_picker", F), e("month_range", f), e("multi_month_picker", _), e("file_upload", n), e("fill_form_by_paste", c), e("fill_form_by_file_upload", u), e("chips", k), e("virtualized_list", s), e("text_with_backend_validation", b), e("switch", g), e("checkbox", h), e("slider_range", P), e("year_picker", R), e("multi_year_picker", D), e("year_range", M));
31
32
  }
32
33
  export {
33
- ie as registerDefaultFieldTypes
34
+ oe as registerDefaultFieldTypes
34
35
  };
@@ -488,6 +488,26 @@ export type ChipsField = BaseField & {
488
488
  /** When true in single mode, re-clicking the active chip clears the selection. */
489
489
  allowDeselect?: boolean;
490
490
  };
491
+ /**
492
+ * Controlled multi/single select rendered with the virtualized list.
493
+ * Form state is a JSON array of selected option values (`string[]`).
494
+ */
495
+ export type VirtualizedListField = BaseField & {
496
+ fieldType: "virtualized_list";
497
+ options: Array<Option>;
498
+ /** `multi` stores every selected value. `single` stores at most one. Default: multi. */
499
+ selectionMode?: "single" | "multi";
500
+ /** Selected option values when the form first mounts. */
501
+ defaultSelectedValues?: string[];
502
+ /** Row height in pixels. Default: 44. */
503
+ estimateSize?: number;
504
+ /** Scroll viewport height in pixels. Default: 240. */
505
+ viewportHeight?: number;
506
+ /** Fold search and choices behind the label, with the selection summary on the header. */
507
+ collapsible?: boolean;
508
+ /** Start folded. Ignored unless `collapsible` is set. */
509
+ defaultCollapsed?: boolean;
510
+ };
491
511
  export type DividerField = BaseField & {
492
512
  fieldType: "divider";
493
513
  className?: string;
@@ -549,6 +569,6 @@ export type RichTextField = BaseField & {
549
569
  /** Minimum editor height in px. Default: 150 */
550
570
  minHeight?: number;
551
571
  };
552
- export type IField = FileUploadField | ButtonsGroupField | SelectField | DateInputField | DateRangeField | WeekRangeField | MonthRangeField | MultiMonthPickerField | TextAreaField | RadioField | TextField | NumericComboboxField | CopyPasteField | FillFormByFileUploadField | TextFieldWithBackendValidation | ChipsField | DividerField | DividerWithLabelField | LabelField | SwitchField | CheckboxField | YearPickerField | MultiYearPickerField | YearRangePickerField | MultiWeekRangeField | SliderRangeField | RichTextField | ObjectFieldConfig | ArrayFieldConfig;
572
+ export type IField = FileUploadField | ButtonsGroupField | SelectField | DateInputField | DateRangeField | WeekRangeField | MonthRangeField | MultiMonthPickerField | TextAreaField | RadioField | TextField | NumericComboboxField | CopyPasteField | FillFormByFileUploadField | TextFieldWithBackendValidation | ChipsField | VirtualizedListField | DividerField | DividerWithLabelField | LabelField | SwitchField | CheckboxField | YearPickerField | MultiYearPickerField | YearRangePickerField | MultiWeekRangeField | SliderRangeField | RichTextField | ObjectFieldConfig | ArrayFieldConfig;
553
573
  /** Discriminant string union for every built-in field type */
554
574
  export type FieldType = IField["fieldType"];
@@ -23,6 +23,8 @@ export type MultiMonthPickerFieldOutput = MonthSelection[] | null | undefined;
23
23
  /** Empty string is the unset default from getFieldDefaultValue */
24
24
  export type NumericComboboxFieldOutput = number | "" | null | undefined;
25
25
  export type ChipsFieldOutput = string | string[] | null | undefined;
26
+ /** Selected option values. Single mode still stores a one-item array. */
27
+ export type VirtualizedListFieldOutput = string[] | null | undefined;
26
28
  export type SwitchFieldOutput = boolean | null | undefined;
27
29
  export type CheckboxFieldOutput = boolean | null | undefined;
28
30
  export type SliderRangeFieldOutput = number[] | null | undefined;
@@ -36,7 +38,7 @@ export type PresentationalFieldOutput = null | undefined;
36
38
  * Union of all field output values (recursive for object / array nesting).
37
39
  * Defined independently of FieldTypeToOutputMap to avoid circular map lookups.
38
40
  */
39
- export type FieldOutputValue = FileUploadFieldOutput | ButtonsGroupFieldOutput | SelectFieldOutput | DateInputFieldOutput | DateRangeFieldOutput | WeekRangeFieldOutput | MultiWeekPickerFieldOutput | MonthRangeFieldOutput | MultiMonthPickerFieldOutput | TextAreaFieldOutput | RadioFieldOutput | TextFieldOutput | NumericComboboxFieldOutput | CopyPasteFieldOutput | FillFormByFileUploadFieldOutput | TextFieldWithBackendValidationOutput | ChipsFieldOutput | SwitchFieldOutput | CheckboxFieldOutput | SliderRangeFieldOutput | YearPickerFieldOutput | MultiYearPickerFieldOutput | YearRangePickerFieldOutput | RichTextFieldOutput | PresentationalFieldOutput | {
41
+ export type FieldOutputValue = FileUploadFieldOutput | ButtonsGroupFieldOutput | SelectFieldOutput | DateInputFieldOutput | DateRangeFieldOutput | WeekRangeFieldOutput | MultiWeekPickerFieldOutput | MonthRangeFieldOutput | MultiMonthPickerFieldOutput | TextAreaFieldOutput | RadioFieldOutput | TextFieldOutput | NumericComboboxFieldOutput | CopyPasteFieldOutput | FillFormByFileUploadFieldOutput | TextFieldWithBackendValidationOutput | ChipsFieldOutput | VirtualizedListFieldOutput | SwitchFieldOutput | CheckboxFieldOutput | SliderRangeFieldOutput | YearPickerFieldOutput | MultiYearPickerFieldOutput | YearRangePickerFieldOutput | RichTextFieldOutput | PresentationalFieldOutput | {
40
42
  [key: string]: FieldOutputValue;
41
43
  } | Array<{
42
44
  [key: string]: FieldOutputValue;
@@ -62,6 +64,7 @@ export type FieldTypeToOutputMap = {
62
64
  fill_form_by_file_upload: FillFormByFileUploadFieldOutput;
63
65
  text_with_backend_validation: TextFieldWithBackendValidationOutput;
64
66
  chips: ChipsFieldOutput;
67
+ virtualized_list: VirtualizedListFieldOutput;
65
68
  switch: SwitchFieldOutput;
66
69
  checkbox: CheckboxFieldOutput;
67
70
  slider_range: SliderRangeFieldOutput;
@@ -30,7 +30,7 @@ function u(e) {
30
30
  const t = e.min ?? 0;
31
31
  return e.range ? [t, e.max ?? 100] : [t];
32
32
  }
33
- return e.fieldType === "year_picker" ? e.defaultValue != null ? { year: e.defaultValue } : null : e.fieldType === "multi_year_picker" ? e.defaultValue?.map((t) => ({ year: t })) ?? null : e.fieldType === "year_range" && e.defaultRange ? { from: { year: e.defaultRange.start }, to: { year: e.defaultRange.end } } : e.fieldType === "date" ? "" : e.fieldType === "select" ? [] : e.fieldType === "week_range" && e.defaultRange ? {
33
+ return e.fieldType === "year_picker" ? e.defaultValue != null ? { year: e.defaultValue } : null : e.fieldType === "multi_year_picker" ? e.defaultValue?.map((t) => ({ year: t })) ?? null : e.fieldType === "year_range" && e.defaultRange ? { from: { year: e.defaultRange.start }, to: { year: e.defaultRange.end } } : e.fieldType === "date" ? "" : e.fieldType === "select" ? [] : e.fieldType === "virtualized_list" ? e.defaultSelectedValues ?? [] : e.fieldType === "week_range" && e.defaultRange ? {
34
34
  start: e.defaultRange.start || null,
35
35
  end: e.defaultRange.end || null
36
36
  } : null;