impact-chatbot 2.3.70 → 2.3.71

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.
@@ -7,11 +7,12 @@
7
7
  * @param {Array} props.formData - Array of raw widget_data items from step_form chunk
8
8
  * @param {number} props.messageIndex - Index for form state persistence keys
9
9
  */
10
- declare const StepFormContent: ({ formData, messageIndex, isFormDisabled, showSavedFilters }: {
10
+ declare const StepFormContent: ({ formData, messageIndex, isFormDisabled, showSavedFilters, preSelectedFilters }: {
11
11
  formData: any;
12
12
  messageIndex?: number;
13
13
  isFormDisabled?: boolean;
14
14
  showSavedFilters?: boolean;
15
+ preSelectedFilters?: any;
15
16
  }) => import("react/jsx-runtime").JSX.Element;
16
17
  /** Reset the timeout flag (call when a new conversation/message starts) */
17
18
  export declare const resetStepFormTimeoutFlag: () => void;
@@ -8,9 +8,11 @@
8
8
  * @param {Array} existingSelections - Upstream filter selections
9
9
  * Each item: { filterName, attributeName, values, checkAll }
10
10
  * @param {Array} allFilters - Full array of all filter configs
11
+ * @param {Object|null} preSelectedFilters - Optional pre-selected filters from init response
12
+ * Format: { param_name: { values: [...], label, dimension, is_mandatory } }
11
13
  * @returns {Promise<Array<{label, value}>>} - Formatted options
12
14
  */
13
- export declare const fetchCrossFilterOptions: (filterConfig: any, existingSelections?: any[], allFilters?: any[]) => Promise<{
15
+ export declare const fetchCrossFilterOptions: (filterConfig: any, existingSelections?: any[], allFilters?: any[], preSelectedFilters?: any) => Promise<{
14
16
  label: any;
15
17
  value: string;
16
18
  }[]>;
package/dist/index.cjs.js CHANGED
@@ -6620,9 +6620,11 @@ const CrossFilterProvider = ({ filters, fetchOptionsFn, initialSelections = {},
6620
6620
  * @param {Array} existingSelections - Upstream filter selections
6621
6621
  * Each item: { filterName, attributeName, values, checkAll }
6622
6622
  * @param {Array} allFilters - Full array of all filter configs
6623
+ * @param {Object|null} preSelectedFilters - Optional pre-selected filters from init response
6624
+ * Format: { param_name: { values: [...], label, dimension, is_mandatory } }
6623
6625
  * @returns {Promise<Array<{label, value}>>} - Formatted options
6624
6626
  */
6625
- const fetchCrossFilterOptions = async (filterConfig, existingSelections = [], allFilters = []) => {
6627
+ const fetchCrossFilterOptions = async (filterConfig, existingSelections = [], allFilters = [], preSelectedFilters = null) => {
6626
6628
  try {
6627
6629
  const attributeName = filterConfig.column_name ||
6628
6630
  filterConfig.attribute_name ||
@@ -6655,6 +6657,39 @@ const fetchCrossFilterOptions = async (filterConfig, existingSelections = [], al
6655
6657
  display_order: fullConfig?.display_order || fullConfig?.ordering || 0,
6656
6658
  };
6657
6659
  });
6660
+ // Build pre-selected filter entries from init response (if provided)
6661
+ // These are always included in the payload alongside user selections
6662
+ const preSelectedEntries = [];
6663
+ if (preSelectedFilters && typeof preSelectedFilters === "object") {
6664
+ Object.entries(preSelectedFilters).forEach(([key, config]) => {
6665
+ // Skip if this filter is the one we're fetching options for
6666
+ if (key === attributeName)
6667
+ return;
6668
+ // Skip if user has already selected values for this filter (user selection takes precedence)
6669
+ const userAlreadySelected = filtersArray.some((f) => f.attribute_name === key || f.filter_id === key);
6670
+ if (userAlreadySelected)
6671
+ return;
6672
+ const values = Array.isArray(config.values) ? config.values : [];
6673
+ if (values.length === 0)
6674
+ return;
6675
+ preSelectedEntries.push({
6676
+ filter_name: config.label || key,
6677
+ filter_id: key,
6678
+ filter_type: "cascaded",
6679
+ dimension: config.dimension || dimension,
6680
+ display_type: "dropdown",
6681
+ check_configuration: [],
6682
+ is_mandatory: config.is_mandatory || false,
6683
+ extra: {},
6684
+ values: values,
6685
+ attribute_name: key,
6686
+ operator: "in",
6687
+ display_order: 0,
6688
+ });
6689
+ });
6690
+ }
6691
+ // Merge: pre-selected filters first, then user selections
6692
+ const combinedFilters = [...preSelectedEntries, ...filtersArray];
6658
6693
  const payload = {
6659
6694
  attributes: [
6660
6695
  {
@@ -6664,7 +6699,7 @@ const fetchCrossFilterOptions = async (filterConfig, existingSelections = [], al
6664
6699
  },
6665
6700
  ],
6666
6701
  filter_type: "cascaded",
6667
- filters: filtersArray,
6702
+ filters: combinedFilters,
6668
6703
  is_urm_filter: true,
6669
6704
  screen_name: "Chatbot",
6670
6705
  application_code: 1,
@@ -6779,11 +6814,15 @@ const SelectContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
6779
6814
  const [currentOptions, setCurrentOptions] = React.useState([]);
6780
6815
  const persistedFormValues = reactRedux.useSelector((state) => state.smartBotReducer.persistedFormValues);
6781
6816
  const [currentSelectedOptions, setCurrentSelectedOptions] = React.useState(persistedFormValues?.[formKey] || []);
6782
- const [isAllSelected, setIsAllSelected] = React.useState(false);
6817
+ const selectAllKey = `${formKey}__selectAllCount`;
6818
+ const [isAllSelected, setIsAllSelected] = React.useState(() => {
6819
+ return (persistedFormValues?.[selectAllKey] || 0) > 0;
6820
+ });
6783
6821
  const [initialOptions, setInitialOptions] = React.useState([]);
6784
6822
  const allOptionsRef = React.useRef([]);
6785
6823
  const isSearchActiveRef = React.useRef(false);
6786
6824
  const searchTermRef = React.useRef("");
6825
+ const selectAllCountRef = React.useRef(persistedFormValues?.[selectAllKey] || 0);
6787
6826
  const chatbotContext = reactRedux.useSelector((state) => state.smartBotReducer.chatbotContext);
6788
6827
  const heirarchyKeyValuePairs = reactRedux.useSelector((state) => state.smartBotReducer.heirarchyKeyValuePairs);
6789
6828
  const dispatch = reactRedux.useDispatch();
@@ -6924,16 +6963,16 @@ const SelectContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
6924
6963
  updated: true,
6925
6964
  },
6926
6965
  }));
6927
- dispatch(smartBotActions.setPersistedFormValues({ [formKey]: [] }));
6966
+ dispatch(smartBotActions.setPersistedFormValues({ [formKey]: [], [selectAllKey]: 0 }));
6928
6967
  // Notify cross-filter context to clear downstream filters
6929
6968
  if (isCascading) {
6930
6969
  crossFilterCtx.onFilterChange(paramName, []);
6931
6970
  }
6932
6971
  }, handleChange: (selected) => onChange(selected), isCloseWhenClickOutside: true, setIsOpen: (open) => {
6933
6972
  setIsOpen(open);
6934
- // When dropdown closes after a filtered select-all on a subset,
6935
- // reset the isAllSelected flag so scroll-to-load-more doesn't auto-select more items
6936
- if (!open && isAllSelected && currentSelectedOptions.length < allOptionsRef.current.length) {
6973
+ // When dropdown closes after a search-filtered select-all on a subset,
6974
+ // reset the isAllSelected flag since only a subset was selected
6975
+ if (!open && isAllSelected && isSearchActiveRef.current) {
6937
6976
  setIsAllSelected(false);
6938
6977
  }
6939
6978
  if (isCascading) {
@@ -6973,6 +7012,8 @@ const SelectContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
6973
7012
  const nextOptions = [...currentOptions, ...newBatch];
6974
7013
  setCurrentOptions(nextOptions);
6975
7014
  setInitialOptions(nextOptions);
7015
+ // When all are selected, mark newly loaded items as selected too
7016
+ // so they render with checkmarks in the dropdown
6976
7017
  if (isAllSelected) {
6977
7018
  setCurrentSelectedOptions(nextOptions);
6978
7019
  }
@@ -6981,17 +7022,20 @@ const SelectContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
6981
7022
  if (e && e.target.checked) {
6982
7023
  // When search is active, select only the filtered/visible options
6983
7024
  // When no search is active, select ALL options from the full dataset
6984
- let optionsToSelect;
7025
+ // but only render the currently visible chunk to avoid 100k+ DOM nodes
6985
7026
  let valuesToDispatch;
6986
7027
  if (isSearchActiveRef.current) {
6987
- optionsToSelect = [...currentOptions];
7028
+ // Search-filtered select all: only select the visible filtered options
6988
7029
  valuesToDispatch = currentOptions.map((opt) => opt.value);
7030
+ setCurrentSelectedOptions([...currentOptions]);
7031
+ selectAllCountRef.current = currentOptions.length;
6989
7032
  }
6990
7033
  else {
6991
- optionsToSelect = allOptionsRef.current.map(formatOption);
7034
+ // Full select all: select all options but only render the visible chunk
6992
7035
  valuesToDispatch = allOptionsRef.current.map((opt) => opt.value);
7036
+ setCurrentSelectedOptions([...currentOptions]);
7037
+ selectAllCountRef.current = allOptionsRef.current.length;
6993
7038
  }
6994
- setCurrentSelectedOptions(optionsToSelect);
6995
7039
  setIsAllSelected(true);
6996
7040
  dispatch(smartBotActions.setChatbotContext({
6997
7041
  ...chatbotContext,
@@ -7001,7 +7045,11 @@ const SelectContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
7001
7045
  updated: true,
7002
7046
  },
7003
7047
  }));
7004
- dispatch(smartBotActions.setPersistedFormValues({ [formKey]: optionsToSelect }));
7048
+ // Persist only the currently visible options (not all 100k+) to avoid Redux memory bloat
7049
+ dispatch(smartBotActions.setPersistedFormValues({
7050
+ [formKey]: [...currentOptions],
7051
+ [selectAllKey]: selectAllCountRef.current,
7052
+ }));
7005
7053
  // Notify cross-filter context if cascading is active
7006
7054
  if (isCascading) {
7007
7055
  crossFilterCtx.onFilterChange(paramName, valuesToDispatch);
@@ -7018,15 +7066,17 @@ const SelectContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
7018
7066
  updated: true,
7019
7067
  },
7020
7068
  }));
7021
- dispatch(smartBotActions.setPersistedFormValues({ [formKey]: [] }));
7069
+ dispatch(smartBotActions.setPersistedFormValues({ [formKey]: [], [selectAllKey]: 0 }));
7022
7070
  // Notify cross-filter context of deselection
7023
7071
  if (isCascading) {
7024
7072
  crossFilterCtx.onFilterChange(paramName, []);
7025
7073
  }
7026
7074
  }
7027
- }, customPlaceholderAfterSelect: currentSelectedOptions.length > 0
7028
- ? currentSelectedOptions.length
7029
- : null }) }));
7075
+ }, customPlaceholderAfterSelect: isAllSelected
7076
+ ? selectAllCountRef.current
7077
+ : currentSelectedOptions.length > 0
7078
+ ? currentSelectedOptions.length
7079
+ : null }) }));
7030
7080
  };
7031
7081
 
7032
7082
  const DatePickerContent = ({ bodyText, isFormDisabled = false, messageIndex }) => {
@@ -7242,7 +7292,7 @@ const STEP_FORM_TIMEOUT_KEY = "__stepFormTimedOut";
7242
7292
  * @param {Array} props.formData - Array of raw widget_data items from step_form chunk
7243
7293
  * @param {number} props.messageIndex - Index for form state persistence keys
7244
7294
  */
7245
- const StepFormContent = ({ formData, messageIndex = 0, isFormDisabled = false, showSavedFilters = true }) => {
7295
+ const StepFormContent = ({ formData, messageIndex = 0, isFormDisabled = false, showSavedFilters = true, preSelectedFilters = null }) => {
7246
7296
  const dispatch = reactRedux.useDispatch();
7247
7297
  const savedFilterSets = reactRedux.useSelector((state) => state.smartBotReducer.savedFilterSets);
7248
7298
  const persistedFormValues = reactRedux.useSelector((state) => state.smartBotReducer.persistedFormValues);
@@ -7559,7 +7609,7 @@ const StepFormContent = ({ formData, messageIndex = 0, isFormDisabled = false, s
7559
7609
  return null;
7560
7610
  return (jsxRuntime.jsxs("div", { className: "step-form-content", children: [showSavedFilters && filterSetOptions.length > 0 && (jsxRuntime.jsx("div", { style: { width: "100%", marginTop: "10px" }, children: jsxRuntime.jsx(impactUiV3.Select, { currentOptions: filterSetCurrentOptions, setCurrentOptions: setFilterSetCurrentOptions, label: "Saved Filter Sets", labelOrientation: "top", isRequired: false, isDisabled: savedFilterDisabled, handleChange: (selected) => onFilterSetChange(selected), isCloseWhenClickOutside: true, setIsOpen: setIsFilterSetOpen, isOpen: isFilterSetOpen, selectedOptions: selectedFilterSet, setSelectedOptions: setSelectedFilterSet, initialOptions: filterSetOptions, isMulti: false, isClearable: true }) })), showSavedFilters && filterSetOptions.length > 0 && (jsxRuntime.jsx("hr", { style: { border: "none", borderTop: "1px solid #E0E0E0", margin: "12px 0" } })), jsxRuntime.jsx("div", { style: {
7561
7611
  ...(isFilterSelected && !isFormDisabled ? { pointerEvents: "none", opacity: 0.5 } : {}),
7562
- }, children: crossFilterConfigs.length > 1 ? (jsxRuntime.jsx(CrossFilterProvider, { filters: crossFilterConfigs, fetchOptionsFn: fetchCrossFilterOptions, initialSelections: crossFilterInitialSelections, fetchOnMount: false, children: formFields })) : (formFields) }), buttonItems] }));
7612
+ }, children: crossFilterConfigs.length >= 1 ? (jsxRuntime.jsx(CrossFilterProvider, { filters: crossFilterConfigs, fetchOptionsFn: (filterConfig, existingSelections, allFilters) => fetchCrossFilterOptions(filterConfig, existingSelections, allFilters, preSelectedFilters), initialSelections: crossFilterInitialSelections, fetchOnMount: false, children: formFields })) : (formFields) }), buttonItems] }));
7563
7613
  };
7564
7614
  /** Reset the timeout flag (call when a new conversation/message starts) */
7565
7615
  const resetStepFormTimeoutFlag = () => {
@@ -7835,7 +7885,7 @@ const getQuestionStatus$1 = (questionSteps) => {
7835
7885
  /**
7836
7886
  * Renders a single progress bar item (main point + sub-items)
7837
7887
  */
7838
- const ProgressBarItem$1 = ({ question, questionSteps, isLast, classes, formData, showSavedFilters = true, isFormDisabled, onAllSubItemsAnimated = undefined }) => {
7888
+ const ProgressBarItem$1 = ({ question, questionSteps, isLast, classes, formData, showSavedFilters = true, preSelectedFilters = null, isFormDisabled, onAllSubItemsAnimated = undefined }) => {
7839
7889
  const status = getQuestionStatus$1(questionSteps);
7840
7890
  const animatedCountRef = React.useRef(0);
7841
7891
  const [isExpanded, setIsExpanded] = React.useState(true);
@@ -7868,7 +7918,7 @@ const ProgressBarItem$1 = ({ question, questionSteps, isLast, classes, formData,
7868
7918
  if (animatedCountRef.current >= arr.length && onAllSubItemsAnimated) {
7869
7919
  onAllSubItemsAnimated();
7870
7920
  }
7871
- } }) }, idx))) })), formData && isExpanded && (jsxRuntime.jsx("div", { className: classes.stepFormContainer, children: jsxRuntime.jsx(StepFormContent, { formData: formData, isFormDisabled: isFormDisabled, showSavedFilters: showSavedFilters }) }))] })] }));
7921
+ } }) }, idx))) })), formData && isExpanded && (jsxRuntime.jsx("div", { className: classes.stepFormContainer, children: jsxRuntime.jsx(StepFormContent, { formData: formData, isFormDisabled: isFormDisabled, showSavedFilters: showSavedFilters, preSelectedFilters: preSelectedFilters }) }))] })] }));
7872
7922
  };
7873
7923
  const Steps$1 = ({ steps, setSteps, done, setTabValue, setDone, finalStepDone, setFinalStepDone, stepChange, currentMode, questions = [], questionsStepsMap = {}, stepFormDataMap = {}, isFormDisabled = false, }) => {
7874
7924
  const classes = useStyles$4();
@@ -7951,8 +8001,9 @@ const Steps$1 = ({ steps, setSteps, done, setTabValue, setDone, finalStepDone, s
7951
8001
  const formEntry = stepFormDataMap[question] || null;
7952
8002
  const formData = formEntry ? (Array.isArray(formEntry) ? formEntry : formEntry.widgets) : null;
7953
8003
  const showSavedFilters = formEntry && !Array.isArray(formEntry) ? formEntry.showSavedFilters : true;
8004
+ const preSelectedFilters = formEntry && !Array.isArray(formEntry) ? formEntry.preSelectedFilters : null;
7954
8005
  const isLast = index === questions.length - 1;
7955
- return (jsxRuntime.jsx(ProgressBarItem$1, { question: question, questionSteps: questionSteps, isLast: isLast && !showThinking, classes: classes, formData: formData, isFormDisabled: isFormDisabled, showSavedFilters: showSavedFilters, onAllSubItemsAnimated: isLast && lastQuestionCompleted && !done
8006
+ return (jsxRuntime.jsx(ProgressBarItem$1, { question: question, questionSteps: questionSteps, isLast: isLast && !showThinking, classes: classes, formData: formData, isFormDisabled: isFormDisabled, showSavedFilters: showSavedFilters, preSelectedFilters: preSelectedFilters, onAllSubItemsAnimated: isLast && lastQuestionCompleted && !done
7956
8007
  ? () => setShowThinking(true)
7957
8008
  : undefined }, index));
7958
8009
  }), showThinking && !done && (jsxRuntime.jsx("div", { style: {
@@ -8770,6 +8821,7 @@ const StreamedContent = ({ botData }) => {
8770
8821
  stepFormDataMapRef.current[currentIntent] = {
8771
8822
  widgets: [...formWidgetData, stepFormSubmitButton],
8772
8823
  showSavedFilters: data.show_saved_filters !== false,
8824
+ preSelectedFilters: data.pre_selected_filters || null,
8773
8825
  };
8774
8826
  setStepFormDataMap({ ...stepFormDataMapRef.current });
8775
8827
  }
@@ -9708,7 +9760,7 @@ const getQuestionStatus = (questionSteps) => {
9708
9760
  /**
9709
9761
  * Renders a single progress bar item (main point + sub-items)
9710
9762
  */
9711
- const ProgressBarItem = ({ question, questionSteps, isLast, classes, formData, isFormDisabled, isRestreaming = false, showSavedFilters = true }) => {
9763
+ const ProgressBarItem = ({ question, questionSteps, isLast, classes, formData, isFormDisabled, isRestreaming = false, showSavedFilters = true, preSelectedFilters = null }) => {
9712
9764
  const baseStatus = getQuestionStatus(questionSteps);
9713
9765
  // When restreaming and this is the last item, show as in-progress
9714
9766
  const status = (isRestreaming && isLast) ? "in-progress" : baseStatus;
@@ -9737,7 +9789,7 @@ const ProgressBarItem = ({ question, questionSteps, isLast, classes, formData, i
9737
9789
  setIsExpanded(true);
9738
9790
  }
9739
9791
  }, [status, formData]);
9740
- return (jsxRuntime.jsxs("div", { className: classes.progressItem, children: [jsxRuntime.jsxs("div", { className: classes.progressTrack, children: [jsxRuntime.jsx("div", { className: `${classes.progressDot} ${dotClass}` }), !isLast && jsxRuntime.jsx("div", { className: `${classes.progressLine} ${lineClass}` })] }), jsxRuntime.jsxs("div", { className: classes.progressContent, children: [jsxRuntime.jsxs("div", { className: classes.progressHeader, onClick: handleToggle, children: [jsxRuntime.jsx("span", { className: `${classes.progressHeaderText} ${textClass}`, children: question }), hasSubItems && (jsxRuntime.jsx(ChevronRightIcon$1, { className: `${classes.progressChevron} ${textClass} ${isExpanded ? "expanded" : ""}` }))] }), hasSubItems && isExpanded && status === "in-progress" && (jsxRuntime.jsxs("div", { className: classes.reasoningLabel, children: [jsxRuntime.jsx(SvgReasoningIcon, {}), "Reasoning..."] })), hasSubItems && isExpanded && (jsxRuntime.jsx("div", { className: classes.progressSubItems, style: { maxHeight: isExpanded ? "500px" : "0", opacity: isExpanded ? 1 : 0 }, children: questionSteps.map((step, idx) => (jsxRuntime.jsxs("div", { className: classes.progressSubItem, children: [step.header, step.sub_header ? ` - ${step.sub_header}` : ""] }, idx))) })), formData && isExpanded && (jsxRuntime.jsx("div", { className: classes.stepFormContainer, children: jsxRuntime.jsx(StepFormContent, { formData: formData, isFormDisabled: isFormDisabled, showSavedFilters: showSavedFilters }) }))] })] }));
9792
+ return (jsxRuntime.jsxs("div", { className: classes.progressItem, children: [jsxRuntime.jsxs("div", { className: classes.progressTrack, children: [jsxRuntime.jsx("div", { className: `${classes.progressDot} ${dotClass}` }), !isLast && jsxRuntime.jsx("div", { className: `${classes.progressLine} ${lineClass}` })] }), jsxRuntime.jsxs("div", { className: classes.progressContent, children: [jsxRuntime.jsxs("div", { className: classes.progressHeader, onClick: handleToggle, children: [jsxRuntime.jsx("span", { className: `${classes.progressHeaderText} ${textClass}`, children: question }), hasSubItems && (jsxRuntime.jsx(ChevronRightIcon$1, { className: `${classes.progressChevron} ${textClass} ${isExpanded ? "expanded" : ""}` }))] }), hasSubItems && isExpanded && status === "in-progress" && (jsxRuntime.jsxs("div", { className: classes.reasoningLabel, children: [jsxRuntime.jsx(SvgReasoningIcon, {}), "Reasoning..."] })), hasSubItems && isExpanded && (jsxRuntime.jsx("div", { className: classes.progressSubItems, style: { maxHeight: isExpanded ? "500px" : "0", opacity: isExpanded ? 1 : 0 }, children: questionSteps.map((step, idx) => (jsxRuntime.jsxs("div", { className: classes.progressSubItem, children: [step.header, step.sub_header ? ` - ${step.sub_header}` : ""] }, idx))) })), formData && isExpanded && (jsxRuntime.jsx("div", { className: classes.stepFormContainer, children: jsxRuntime.jsx(StepFormContent, { formData: formData, isFormDisabled: isFormDisabled, showSavedFilters: showSavedFilters, preSelectedFilters: preSelectedFilters }) }))] })] }));
9741
9793
  };
9742
9794
  const Steps = ({ steps, questions = [], questionsStepsMap = {}, stepFormDataMap = {}, isFormDisabled = false, activeFormIntent = null, isRestreaming = false }) => {
9743
9795
  const classes = useStyles$3();
@@ -9763,11 +9815,12 @@ const Steps = ({ steps, questions = [], questionsStepsMap = {}, stepFormDataMap
9763
9815
  // Support both old array format and new object format { widgets, showSavedFilters }
9764
9816
  const formData = formEntry ? (Array.isArray(formEntry) ? formEntry : formEntry.widgets) : null;
9765
9817
  const showSavedFilters = formEntry && !Array.isArray(formEntry) ? formEntry.showSavedFilters : true;
9818
+ const preSelectedFilters = formEntry && !Array.isArray(formEntry) ? formEntry.preSelectedFilters : null;
9766
9819
  // If activeFormIntent is set, only the matching form is enabled; all others stay disabled
9767
9820
  const formDisabledForThis = activeFormIntent
9768
9821
  ? question !== activeFormIntent
9769
9822
  : isFormDisabled;
9770
- return (jsxRuntime.jsx(ProgressBarItem, { question: question, questionSteps: questionSteps, isLast: index === questions.length - 1, classes: classes, formData: formData, isFormDisabled: formDisabledForThis, isRestreaming: isRestreaming, showSavedFilters: showSavedFilters }, index));
9823
+ return (jsxRuntime.jsx(ProgressBarItem, { question: question, questionSteps: questionSteps, isLast: index === questions.length - 1, classes: classes, formData: formData, isFormDisabled: formDisabledForThis, isRestreaming: isRestreaming, showSavedFilters: showSavedFilters, preSelectedFilters: preSelectedFilters }, index));
9771
9824
  }) }));
9772
9825
  };
9773
9826
 
@@ -10026,6 +10079,7 @@ const TabularContent = ({ steps: initialSteps, currentTabValue, children, questi
10026
10079
  newStepFormDataMap[currentIntent] = {
10027
10080
  widgets: [...formWidgetData, submitButton],
10028
10081
  showSavedFilters: data.show_saved_filters !== false,
10082
+ preSelectedFilters: data.pre_selected_filters || null,
10029
10083
  };
10030
10084
  }
10031
10085
  }
@@ -10152,6 +10206,7 @@ const TabularContent = ({ steps: initialSteps, currentTabValue, children, questi
10152
10206
  newStepFormDataMap[currentIntent] = {
10153
10207
  widgets: [...formWidgetData, submitButton],
10154
10208
  showSavedFilters: data.show_saved_filters !== false,
10209
+ preSelectedFilters: data.pre_selected_filters || null,
10155
10210
  };
10156
10211
  }
10157
10212
  }