@orchestrator-ui/orchestrator-ui-components 8.7.2 → 8.8.1

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 (52) hide show
  1. package/.turbo/turbo-build.log +8 -8
  2. package/.turbo/turbo-lint.log +1 -1
  3. package/.turbo/turbo-test.log +17 -10
  4. package/CHANGELOG.md +28 -0
  5. package/dist/index.d.ts +506 -19
  6. package/dist/index.js +614 -399
  7. package/dist/index.js.map +1 -1
  8. package/jest.config.cjs +9 -8
  9. package/package.json +1 -1
  10. package/src/components/WfoBadges/WfoWorkflowTargetBadge/WfoWorkflowTargetBadge.tsx +2 -2
  11. package/src/components/WfoContentHeader/WfoContentHeader.tsx +1 -1
  12. package/src/components/WfoInlineNoteEdit/WfoProcessListNoteEdit.spec.tsx +35 -0
  13. package/src/components/WfoInlineNoteEdit/WfoProcessListNoteEdit.tsx +7 -9
  14. package/src/components/WfoProcessList/WfoProcessListDeltaPopover.tsx +1 -1
  15. package/src/components/WfoProcessList/WfoProcessesList.tsx +7 -5
  16. package/src/components/WfoSubscription/WfoProcessesTimeline.tsx +21 -7
  17. package/src/components/WfoSubscription/WfoSubscriptionActions/WfoSubscriptionActions.tsx +25 -9
  18. package/src/components/WfoSubscription/WfoSubscriptionGeneralSections/WfoSubscriptionDetailSection.tsx +1 -1
  19. package/src/components/WfoSubscription/styles.ts +6 -0
  20. package/src/components/WfoSubscription/utils/utils.ts +2 -4
  21. package/src/components/WfoTable/WfoStructuredSearchTable/WfoExpandingSearchRow.tsx +0 -1
  22. package/src/components/WfoTable/WfoStructuredSearchTable/WfoFilterBuilder.tsx +30 -3
  23. package/src/components/WfoTable/WfoStructuredSearchTable/WfoOperatorSelector.spec.tsx +143 -0
  24. package/src/components/WfoTable/WfoStructuredSearchTable/WfoOperatorSelector.tsx +33 -11
  25. package/src/components/WfoTable/WfoStructuredSearchTable/WfoRestoreLoop.spec.tsx +130 -0
  26. package/src/components/WfoTable/WfoStructuredSearchTable/WfoStructuredSearchTable.tsx +40 -1
  27. package/src/components/WfoTable/WfoStructuredSearchTable/WfoValueEditor.spec.tsx +60 -0
  28. package/src/components/WfoTable/WfoStructuredSearchTable/WfoValueEditor.tsx +22 -4
  29. package/src/components/WfoTable/WfoStructuredSearchTable/styles.ts +8 -9
  30. package/src/components/WfoTable/WfoStructuredSearchTable/utils.spec.ts +56 -0
  31. package/src/components/WfoTable/WfoStructuredSearchTable/utils.ts +40 -1
  32. package/src/components/WfoTable/WfoTable/WfoTable.tsx +5 -1
  33. package/src/components/WfoTable/WfoTable/WfoTableDataRows.tsx +11 -2
  34. package/src/components/WfoTable/WfoTable/WfoTableExpandedRowReveal.spec.tsx +120 -0
  35. package/src/components/WfoTable/WfoTable/styles.ts +6 -0
  36. package/src/components/WfoTable/utils/tableConfigPersistence.ts +1 -0
  37. package/src/components/WfoTimeline/styles.ts +1 -1
  38. package/src/components/WfoWorkflowUserGuide/WfoPageWithUserGuide.tsx +8 -2
  39. package/src/components/WfoWorkflowUserGuide/WfoWorkflowGuideExpandablePanel.tsx +39 -30
  40. package/src/components/WfoWorkflowUserGuide/styles.ts +55 -7
  41. package/src/configuration/constants.ts +1 -1
  42. package/src/configuration/version.ts +1 -1
  43. package/src/hooks/usePathAutoComplete.spec.tsx +64 -0
  44. package/src/hooks/usePathAutoComplete.ts +98 -41
  45. package/src/hooks/useStoredTableConfig.ts +1 -0
  46. package/src/messages/en-GB.json +3 -1
  47. package/src/messages/nl-NL.json +4 -2
  48. package/src/pages/WfoSearchPocPage.tsx +19 -18
  49. package/src/pages/tasks/WfoTasksListPage.tsx +1 -0
  50. package/src/rtk/endpoints/search.ts +1 -0
  51. package/src/types/types.ts +11 -11
  52. package/src/utils/getDefaultTableConfig.ts +2 -0
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // src/components/WfoAutoExpandableTextArea/WfoAutoExpandableTextArea.tsx
2
- import { useCallback as useCallback5, useEffect as useEffect8, useRef as useRef3 } from "react";
2
+ import { useCallback as useCallback5, useEffect as useEffect8, useRef as useRef4 } from "react";
3
3
  import { EuiTextArea as EuiTextArea2 } from "@elastic/eui";
4
4
 
5
5
  // src/hooks/useCheckEngineStatus.ts
@@ -31,7 +31,7 @@ var METADATA_PRODUCT_ENDPOINT = "products";
31
31
  var METADATA_PRODUCT_BLOCK_ENDPOINT = "product_blocks";
32
32
  var METADATA_RESOURCE_TYPE_ENDPOINT = "resource_types";
33
33
  var METADATA_WORKFLOWS_ENDPOINT = "workflows";
34
- var METADATA_SCHEDULES_ENDPOINT = "schedules";
34
+ var METADATA_SCHEDULES_ENDPOINT = "schedules/";
35
35
  var SEARCH_QUERY_RESULTS_ENDPOINT = "search/queries";
36
36
 
37
37
  // src/configuration/policy-resources.ts
@@ -61,7 +61,7 @@ var PolicyResource = /* @__PURE__ */ ((PolicyResource2) => {
61
61
  })(PolicyResource || {});
62
62
 
63
63
  // src/configuration/version.ts
64
- var ORCHESTRATOR_UI_LIBRARY_VERSION = "8.7.2";
64
+ var ORCHESTRATOR_UI_LIBRARY_VERSION = "8.8.1";
65
65
 
66
66
  // src/types/types.ts
67
67
  var EngineStatus = /* @__PURE__ */ ((EngineStatus2) => {
@@ -95,12 +95,12 @@ var BadgeType = /* @__PURE__ */ ((BadgeType2) => {
95
95
  return BadgeType2;
96
96
  })(BadgeType || {});
97
97
  var WorkflowTarget = /* @__PURE__ */ ((WorkflowTarget2) => {
98
- WorkflowTarget2["CREATE"] = "create";
99
- WorkflowTarget2["MODIFY"] = "modify";
100
- WorkflowTarget2["TERMINATE"] = "terminate";
101
- WorkflowTarget2["SYSTEM"] = "system";
102
- WorkflowTarget2["VALIDATE"] = "validate";
103
- WorkflowTarget2["RECONCILE"] = "reconcile";
98
+ WorkflowTarget2["CREATE"] = "CREATE";
99
+ WorkflowTarget2["MODIFY"] = "MODIFY";
100
+ WorkflowTarget2["TERMINATE"] = "TERMINATE";
101
+ WorkflowTarget2["SYSTEM"] = "SYSTEM";
102
+ WorkflowTarget2["VALIDATE"] = "VALIDATE";
103
+ WorkflowTarget2["RECONCILE"] = "RECONCILE";
104
104
  return WorkflowTarget2;
105
105
  })(WorkflowTarget || {});
106
106
  var StepStatus = /* @__PURE__ */ ((StepStatus2) => {
@@ -1807,10 +1807,11 @@ var filterDataByCriteria = (data, filterCriteria) => {
1807
1807
  };
1808
1808
 
1809
1809
  // src/utils/getDefaultTableConfig.ts
1810
- function getTableConfig(hiddenColumns = [], selectedPageSize = DEFAULT_PAGE_SIZE) {
1810
+ function getTableConfig(hiddenColumns = [], selectedPageSize = DEFAULT_PAGE_SIZE, showMatchDetails = false) {
1811
1811
  return {
1812
1812
  selectedPageSize,
1813
- hiddenColumns
1813
+ hiddenColumns,
1814
+ showMatchDetails
1814
1815
  };
1815
1816
  }
1816
1817
  var getDefaultTableConfig = (storageKey) => {
@@ -2389,7 +2390,7 @@ var {
2389
2390
  // src/rtk/endpoints/startOptions.ts
2390
2391
  var workflowOptionsQuery = `
2391
2392
  query StartOptions {
2392
- workflows(first: 1000000, after: 0, filterBy: [{ field: "target", value: "${"create" /* CREATE */}"}]) {
2393
+ workflows(first: 1000000, after: 0, filterBy: [{ field: "target", value: "${"CREATE" /* CREATE */}"}]) {
2393
2394
  page {
2394
2395
  name
2395
2396
  isAllowed
@@ -3117,6 +3118,7 @@ var {
3117
3118
  useLazySearchQuery,
3118
3119
  useSearchWithPaginationMutation,
3119
3120
  useSearchPathsQuery,
3121
+ useLazySearchPathsQuery,
3120
3122
  useSearchDefinitionsQuery
3121
3123
  } = searchApi;
3122
3124
 
@@ -5260,6 +5262,7 @@ var useStoredTableConfig = (localeStorageKey) => {
5260
5262
  if (storedConfig) {
5261
5263
  tableConfig.hiddenColumns = storedConfig.hiddenColumns;
5262
5264
  tableConfig.selectedPageSize = storedConfig.selectedPageSize;
5265
+ tableConfig.showMatchDetails = storedConfig.showMatchDetails;
5263
5266
  }
5264
5267
  return tableConfig;
5265
5268
  } catch {
@@ -5348,7 +5351,7 @@ var useGetWorkflowNameById = (workflowId) => {
5348
5351
  };
5349
5352
 
5350
5353
  // src/hooks/usePathAutoComplete.ts
5351
- import { useEffect as useEffect3, useState as useState9 } from "react";
5354
+ import { useEffect as useEffect3, useRef as useRef2, useState as useState9 } from "react";
5352
5355
 
5353
5356
  // src/hooks/useDebounce.ts
5354
5357
  import { useEffect as useEffect2, useState as useState8 } from "react";
@@ -5408,6 +5411,40 @@ var FALLBACK_DEFINITIONS = {
5408
5411
  }
5409
5412
  }
5410
5413
  };
5414
+ var mapPathAutocompleteResponseToPathInfos = (pathData, definitions) => {
5415
+ const enrichedPaths = [];
5416
+ (pathData.leaves || []).forEach((leaf) => {
5417
+ const primaryType = leaf.ui_types[0] || "string";
5418
+ const typeDefinition = definitions[primaryType];
5419
+ enrichedPaths.push({
5420
+ path: leaf.name,
5421
+ type: primaryType,
5422
+ operators: typeDefinition?.operators || [],
5423
+ value_schema: typeDefinition?.value_schema || {},
5424
+ group: "leaf",
5425
+ displayLabel: leaf.name,
5426
+ ui_types: leaf.ui_types,
5427
+ availablePaths: leaf.paths || [],
5428
+ pathCount: leaf.paths ? leaf.paths?.length : 0
5429
+ });
5430
+ });
5431
+ (pathData.components || []).forEach((component) => {
5432
+ const primaryType = component.ui_types[0] || "string";
5433
+ const typeDefinition = definitions[primaryType];
5434
+ enrichedPaths.push({
5435
+ path: component.name,
5436
+ type: "component",
5437
+ operators: typeDefinition?.operators || [],
5438
+ value_schema: typeDefinition?.value_schema || {},
5439
+ group: "component",
5440
+ displayLabel: component.name,
5441
+ ui_types: component.ui_types,
5442
+ availablePaths: component.paths || [],
5443
+ pathCount: component.paths ? component.paths?.length : 0
5444
+ });
5445
+ });
5446
+ return enrichedPaths;
5447
+ };
5411
5448
  var usePathAutocomplete = (prefix, entityType) => {
5412
5449
  const [paths, setPaths] = useState9([]);
5413
5450
  const debouncedPrefix = useDebounce(prefix, 300);
@@ -5425,42 +5462,39 @@ var usePathAutocomplete = (prefix, entityType) => {
5425
5462
  if (!pathData) {
5426
5463
  return;
5427
5464
  }
5428
- const enrichedPaths = [];
5429
- (pathData.leaves || []).forEach((leaf) => {
5430
- const primaryType = leaf.ui_types[0] || "string";
5431
- const typeDefinition = definitions[primaryType];
5432
- enrichedPaths.push({
5433
- path: leaf.name,
5434
- type: primaryType,
5435
- operators: typeDefinition?.operators || [],
5436
- value_schema: typeDefinition?.value_schema || {},
5437
- group: "leaf",
5438
- displayLabel: leaf.name,
5439
- ui_types: leaf.ui_types,
5440
- availablePaths: leaf.paths || [],
5441
- pathCount: leaf.paths ? leaf.paths?.length : 0
5442
- });
5443
- });
5444
- (pathData.components || []).forEach((component) => {
5445
- const primaryType = component.ui_types[0] || "string";
5446
- const typeDefinition = definitions[primaryType];
5447
- enrichedPaths.push({
5448
- path: component.name,
5449
- type: "component",
5450
- operators: typeDefinition?.operators || [],
5451
- value_schema: typeDefinition?.value_schema || {},
5452
- group: "component",
5453
- displayLabel: component.name,
5454
- ui_types: component.ui_types,
5455
- availablePaths: component.paths || [],
5456
- pathCount: component.paths ? component.paths?.length : 0
5457
- });
5458
- });
5459
- setPaths(enrichedPaths);
5465
+ setPaths(mapPathAutocompleteResponseToPathInfos(pathData, definitions));
5460
5466
  }, [pathData, definitions, debouncedPrefix?.length]);
5461
5467
  const errorMessage = isError ? "Failed to load paths" : defError ? "Failed to load definitions" : null;
5462
5468
  return { paths, loading: isLoading, error: errorMessage };
5463
5469
  };
5470
+ var useFieldsPathInfo = (fields, entityType) => {
5471
+ const [fieldsPathInfo, setFieldsPathInfo] = useState9(/* @__PURE__ */ new Map());
5472
+ const requestedFieldsRef = useRef2(/* @__PURE__ */ new Set());
5473
+ const [fetchPaths] = useLazySearchPathsQuery();
5474
+ const { data: definitions, isError: definitionsFailed } = useSearchDefinitionsQuery();
5475
+ const settledDefinitions = definitions ?? (definitionsFailed ? FALLBACK_DEFINITIONS : void 0);
5476
+ useEffect3(() => {
5477
+ requestedFieldsRef.current = /* @__PURE__ */ new Set();
5478
+ setFieldsPathInfo(/* @__PURE__ */ new Map());
5479
+ }, [entityType]);
5480
+ useEffect3(() => {
5481
+ if (!settledDefinitions) {
5482
+ return;
5483
+ }
5484
+ const newFields = fields.filter((field) => field && !requestedFieldsRef.current.has(field));
5485
+ newFields.forEach((field) => {
5486
+ requestedFieldsRef.current.add(field);
5487
+ fetchPaths({ q: field, entity_type: entityType }, true).unwrap().then((pathData) => {
5488
+ const pathInfos = mapPathAutocompleteResponseToPathInfos(pathData, settledDefinitions);
5489
+ const match = pathInfos.find((pathInfo) => pathInfo.path === field) ?? pathInfos.find((pathInfo) => pathInfo.availablePaths?.includes(field));
5490
+ setFieldsPathInfo((previous) => new Map(previous).set(field, match ?? null));
5491
+ }).catch(() => {
5492
+ requestedFieldsRef.current.delete(field);
5493
+ });
5494
+ });
5495
+ }, [fields, entityType, fetchPaths, settledDefinitions]);
5496
+ return fieldsPathInfo;
5497
+ };
5464
5498
 
5465
5499
  // src/hooks/useGetPydanticFormsConfig.tsx
5466
5500
  import { useCallback as useCallback4 } from "react";
@@ -6341,7 +6375,7 @@ var WfoTimestampField = ({
6341
6375
  };
6342
6376
 
6343
6377
  // src/components/WfoPydanticForm/fields/WfoCron.tsx
6344
- import React15, { useMemo as useMemo2, useRef as useRef2, useState as useState13 } from "react";
6378
+ import React15, { useMemo as useMemo2, useRef as useRef3, useState as useState13 } from "react";
6345
6379
  import { CronExpressionParser } from "cron-parser";
6346
6380
  import cronstrue from "cronstrue/i18n";
6347
6381
  import _3 from "lodash";
@@ -6415,7 +6449,7 @@ var WfoCron = ({ onChange, value, disabled, pydanticFormField }) => {
6415
6449
  const t = useTranslations10("pydanticForms.widgets.cron");
6416
6450
  const cronstrueLocale = useLanguageCode();
6417
6451
  const [activeFieldIndex, setActiveFieldIndex] = useState13(null);
6418
- const inputRef = useRef2(null);
6452
+ const inputRef = useRef3(null);
6419
6453
  const fieldName = getFormFieldIdWithPath3(pydanticFormField.id);
6420
6454
  const fieldValue = _3.isObject(value) && _3.has(value, fieldName) ? _3.get(value, fieldName) : value;
6421
6455
  const { description, parseError, nextOccurrences } = useMemo2(() => {
@@ -6786,7 +6820,7 @@ var getStyles2 = ({ theme, toSecondaryColor }) => {
6786
6820
  import { jsx as jsx93 } from "@emotion/react/jsx-runtime";
6787
6821
  var WfoAutoExpandableTextArea = ({ inputRef, onChange, ...restProps }) => {
6788
6822
  const { autoExpandableTextAreaStyles } = useWithOrchestratorTheme(getStyles2);
6789
- const textAreaRef = useRef3(null);
6823
+ const textAreaRef = useRef4(null);
6790
6824
  const adjustTextAreaHeight = (textArea) => {
6791
6825
  if (!textArea) {
6792
6826
  return;
@@ -7196,29 +7230,29 @@ var WfoWorkflowTargetBadge = ({ target }) => {
7196
7230
  if (!target) return null;
7197
7231
  const getBadgeColorFromTarget = (_target) => {
7198
7232
  const { primary, danger, textDanger, textPrimary, success, textSuccess, warning, textWarning, accent, textAccent } = theme.colors;
7199
- switch (_target?.toLowerCase()) {
7200
- case "create" /* CREATE */:
7233
+ switch (_target) {
7234
+ case "CREATE" /* CREATE */:
7201
7235
  return {
7202
7236
  badgeColor: toSecondaryColor(success),
7203
7237
  textColor: textSuccess
7204
7238
  };
7205
- case "modify" /* MODIFY */:
7239
+ case "MODIFY" /* MODIFY */:
7206
7240
  return {
7207
7241
  badgeColor: toSecondaryColor(primary),
7208
7242
  textColor: textPrimary
7209
7243
  };
7210
- case "system" /* SYSTEM */:
7211
- case "validate" /* VALIDATE */:
7244
+ case "SYSTEM" /* SYSTEM */:
7245
+ case "VALIDATE" /* VALIDATE */:
7212
7246
  return {
7213
7247
  badgeColor: toSecondaryColor(warning),
7214
7248
  textColor: textWarning
7215
7249
  };
7216
- case "terminate" /* TERMINATE */:
7250
+ case "TERMINATE" /* TERMINATE */:
7217
7251
  return {
7218
7252
  badgeColor: toSecondaryColor(danger),
7219
7253
  textColor: textDanger
7220
7254
  };
7221
- case "reconcile" /* RECONCILE */:
7255
+ case "RECONCILE" /* RECONCILE */:
7222
7256
  return {
7223
7257
  badgeColor: toSecondaryColor(accent),
7224
7258
  textColor: textAccent
@@ -7411,7 +7445,7 @@ var WfoContentHeader = ({ title, subtitle, children }) => /* @__PURE__ */ jsxs52
7411
7445
  /* @__PURE__ */ jsxs52(EuiFlexItem3, { children: [
7412
7446
  /* @__PURE__ */ jsx111(WfoRenderElementOrString, { renderString: (value) => /* @__PURE__ */ jsx111(EuiPageHeader, { pageTitle: value }), children: title }),
7413
7447
  subtitle && /* @__PURE__ */ jsxs52("div", { children: [
7414
- /* @__PURE__ */ jsx111(EuiSpacer5, { size: "m" }),
7448
+ /* @__PURE__ */ jsx111(EuiSpacer5, { size: "s" }),
7415
7449
  /* @__PURE__ */ jsx111(WfoRenderElementOrString, { children: subtitle })
7416
7450
  ] })
7417
7451
  ] }),
@@ -7731,7 +7765,7 @@ var WfoValueOnlyTable = ({ values, showCopyToClipboardIcon = false }) => {
7731
7765
  };
7732
7766
 
7733
7767
  // src/components/WfoSearchBar/WfoSearchField.tsx
7734
- import { useEffect as useEffect10, useRef as useRef4, useState as useState14 } from "react";
7768
+ import { useEffect as useEffect10, useRef as useRef5, useState as useState14 } from "react";
7735
7769
  import { useTranslations as useTranslations19 } from "next-intl";
7736
7770
  import { EuiFieldSearch, EuiFormRow as EuiFormRow3 } from "@elastic/eui";
7737
7771
  import { jsx as jsx120 } from "@emotion/react/jsx-runtime";
@@ -7739,7 +7773,7 @@ var WfoSearchField = ({ queryString, queryIsValid = true, onUpdateQueryString })
7739
7773
  const t = useTranslations19("common");
7740
7774
  const tError = useTranslations19("errors");
7741
7775
  const { formFieldBaseStyle } = useWithOrchestratorTheme(getFormFieldsBaseStyle);
7742
- const handleSearch = useRef4((queryText) => onUpdateQueryString?.(queryText));
7776
+ const handleSearch = useRef5((queryText) => onUpdateQueryString?.(queryText));
7743
7777
  const [currentQuery, setCurrentQuery] = useState14(queryString ?? "");
7744
7778
  useEffect10(() => {
7745
7779
  setCurrentQuery(queryString ?? "");
@@ -7884,32 +7918,32 @@ var flattenSubscriptionActionProps = (action) => {
7884
7918
  return flatObject;
7885
7919
  };
7886
7920
  var getWorkflowTargetColor = (workflowTarget, theme) => {
7887
- switch (workflowTarget.toLocaleLowerCase()) {
7888
- case "create" /* CREATE */:
7921
+ switch (workflowTarget) {
7922
+ case "CREATE" /* CREATE */:
7889
7923
  return theme.colors.textSuccess;
7890
- case "modify" /* MODIFY */:
7924
+ case "MODIFY" /* MODIFY */:
7891
7925
  return theme.colors.textPrimary;
7892
- case "system" /* SYSTEM */:
7893
- case "validate" /* VALIDATE */:
7926
+ case "SYSTEM" /* SYSTEM */:
7927
+ case "VALIDATE" /* VALIDATE */:
7894
7928
  return theme.colors.warning;
7895
- case "reconcile" /* RECONCILE */:
7929
+ case "RECONCILE" /* RECONCILE */:
7896
7930
  return theme.colors.accent;
7897
- case "terminate" /* TERMINATE */:
7931
+ case "TERMINATE" /* TERMINATE */:
7898
7932
  return theme.colors.danger;
7899
7933
  default:
7900
7934
  return theme.colors.backgroundBaseDisabled;
7901
7935
  }
7902
7936
  };
7903
7937
  var getWorkflowTargetIconContent = (workflowTarget) => {
7904
- switch (workflowTarget.toLocaleLowerCase()) {
7905
- case "create" /* CREATE */:
7938
+ switch (workflowTarget) {
7939
+ case "CREATE" /* CREATE */:
7906
7940
  return "C";
7907
- case "system" /* SYSTEM */:
7908
- case "validate" /* VALIDATE */:
7941
+ case "SYSTEM" /* SYSTEM */:
7942
+ case "VALIDATE" /* VALIDATE */:
7909
7943
  return "T";
7910
- case "terminate" /* TERMINATE */:
7944
+ case "TERMINATE" /* TERMINATE */:
7911
7945
  return "X";
7912
- case "reconcile" /* RECONCILE */:
7946
+ case "RECONCILE" /* RECONCILE */:
7913
7947
  return "R";
7914
7948
  default:
7915
7949
  return "M";
@@ -8066,7 +8100,7 @@ var WfoSubscriptionDetailSection = ({ subscriptionDetail }) => {
8066
8100
  {
8067
8101
  key: t("lastRunValidation"),
8068
8102
  value: (() => {
8069
- const lastValidate = processes?.page?.filter((process3) => process3.workflowTarget.toLowerCase() === "validate" /* VALIDATE */.toLowerCase()).slice(-1)[0];
8103
+ const lastValidate = processes?.page?.filter((process3) => process3.workflowTarget === "VALIDATE" /* VALIDATE */).slice(-1)[0];
8070
8104
  if (!lastValidate) {
8071
8105
  return t("noValidateWorkflows");
8072
8106
  }
@@ -8423,10 +8457,10 @@ var WfoInSyncField = ({ subscriptionDetail, compactMode = false, setPopover }) =
8423
8457
  };
8424
8458
 
8425
8459
  // src/components/WfoSubscription/WfoProcessesTimeline.tsx
8426
- import React24 from "react";
8460
+ import { useState as useState16 } from "react";
8427
8461
  import { useTranslations as useTranslations26 } from "next-intl";
8428
8462
  import Link7 from "next/link";
8429
- import { EuiComment, EuiCommentList, EuiFlexGroup as EuiFlexGroup10, EuiFlexItem as EuiFlexItem7, EuiSpacer as EuiSpacer11, EuiText as EuiText9 } from "@elastic/eui";
8463
+ import { EuiComment, EuiCommentList, EuiFlexGroup as EuiFlexGroup10, EuiFlexItem as EuiFlexItem7, EuiSpacer as EuiSpacer11, EuiSwitch, EuiText as EuiText9 } from "@elastic/eui";
8430
8464
 
8431
8465
  // src/components/WfoSubscription/styles.ts
8432
8466
  import { css as css21 } from "@emotion/react";
@@ -8474,6 +8508,9 @@ var getSubscriptionDetailStyles = ({ theme, isDarkModeActive }) => {
8474
8508
  flexDirection: "column",
8475
8509
  alignItems: "flex-start"
8476
8510
  });
8511
+ const processToggleStyles = css21({
8512
+ justifySelf: "flex-end"
8513
+ });
8477
8514
  return {
8478
8515
  rowStyle,
8479
8516
  labelCellStyle,
@@ -8485,7 +8522,8 @@ var getSubscriptionDetailStyles = ({ theme, isDarkModeActive }) => {
8485
8522
  inUseByRelationDetailsStyle,
8486
8523
  productBlockTreeWidth,
8487
8524
  customerDescriptionsCustomerNameStyle,
8488
- customerDescriptionsFormStyle
8525
+ customerDescriptionsFormStyle,
8526
+ processToggleStyles
8489
8527
  };
8490
8528
  };
8491
8529
 
@@ -8555,7 +8593,9 @@ var WfoProcessesTimeline = ({ subscriptionDetailProcesses }) => {
8555
8593
  value: "DESC" /* DESC */
8556
8594
  }
8557
8595
  ];
8558
- const [selectedOption, setSelectedOption] = React24.useState(options[0]);
8596
+ const { processToggleStyles } = useWithOrchestratorTheme(getSubscriptionDetailStyles);
8597
+ const [selectedOption, setSelectedOption] = useState16(options[0]);
8598
+ const [hideValidateTasks, setHideValidateTasks] = useState16(true);
8559
8599
  const handleOnSelectOption = (option) => {
8560
8600
  setSelectedOption(option);
8561
8601
  };
@@ -8563,16 +8603,30 @@ var WfoProcessesTimeline = ({ subscriptionDetailProcesses }) => {
8563
8603
  return /* @__PURE__ */ jsxs65(Fragment18, { children: [
8564
8604
  /* @__PURE__ */ jsx132(EuiSpacer11, { size: "m" }),
8565
8605
  !subscriptionDetailProcesses && /* @__PURE__ */ jsx132(WfoLoading, {}),
8566
- /* @__PURE__ */ jsx132(WfoRadioDropdown, { options, onUpdateOption: handleOnSelectOption, selectedOption }),
8567
- sortedProcesses && /* @__PURE__ */ jsx132(EuiCommentList, { "aria-label": "Processes", children: sortedProcesses.filter((process3) => !process3.isTask).map((subscriptionDetailProcess, index) => /* @__PURE__ */ jsx132(WfoRenderSubscriptionProcess, { subscriptionDetailProcess }, index)) })
8606
+ /* @__PURE__ */ jsxs65(EuiFlexGroup10, { alignItems: "center", css: processToggleStyles, children: [
8607
+ /* @__PURE__ */ jsx132(
8608
+ EuiSwitch,
8609
+ {
8610
+ showLabel: true,
8611
+ label: t("hideValidateTasks"),
8612
+ type: "button",
8613
+ checked: hideValidateTasks,
8614
+ onChange: () => setHideValidateTasks((value) => !value)
8615
+ }
8616
+ ),
8617
+ /* @__PURE__ */ jsx132(WfoRadioDropdown, { options, onUpdateOption: handleOnSelectOption, selectedOption })
8618
+ ] }),
8619
+ sortedProcesses && /* @__PURE__ */ jsx132(EuiCommentList, { "aria-label": "Processes", children: sortedProcesses.filter(
8620
+ (process3) => !process3.isTask || process3.workflowTarget === "VALIDATE" /* VALIDATE */ && !hideValidateTasks
8621
+ ).map((subscriptionDetailProcess, index) => /* @__PURE__ */ jsx132(WfoRenderSubscriptionProcess, { subscriptionDetailProcess }, index)) })
8568
8622
  ] });
8569
8623
  };
8570
8624
 
8571
8625
  // src/components/WfoSubscription/WfoRelatedSubscriptions.tsx
8572
- import { useState as useState20 } from "react";
8626
+ import { useState as useState21 } from "react";
8573
8627
  import { useTranslations as useTranslations31 } from "next-intl";
8574
8628
  import Link8 from "next/link";
8575
- import { EuiFlexGroup as EuiFlexGroup12, EuiFlexItem as EuiFlexItem8, EuiSpacer as EuiSpacer14, EuiSwitch } from "@elastic/eui";
8629
+ import { EuiFlexGroup as EuiFlexGroup12, EuiFlexItem as EuiFlexItem8, EuiSpacer as EuiSpacer14, EuiSwitch as EuiSwitch2 } from "@elastic/eui";
8576
8630
 
8577
8631
  // src/components/WfoSubscription/utils/relatedSubscriptionsListItemsObjectMappers.ts
8578
8632
  var mapRelatedSubscriptionsResponseToRelatedSubscriptionsListItems = (input) => input?.relatedSubscriptions.map(({ subscriptionId, description, status, insync, customer, product, startDate }) => ({
@@ -8607,7 +8661,7 @@ var graphQlRelatedSubscriptionsTerminatedSubscriptionsFilterMapper = (data) => d
8607
8661
  } : void 0;
8608
8662
 
8609
8663
  // src/components/WfoTable/WfoTable/WfoTable.tsx
8610
- import { useRef as useRef8, useState as useState18 } from "react";
8664
+ import { useRef as useRef9, useState as useState19 } from "react";
8611
8665
  import { useTranslations as useTranslations28 } from "next-intl";
8612
8666
  import { EuiSpacer as EuiSpacer12, EuiTablePagination, useEuiScrollBar } from "@elastic/eui";
8613
8667
  import { useVirtualizer } from "@tanstack/react-virtual";
@@ -8930,8 +8984,12 @@ var getWfoTableStyles = ({ theme, isDarkModeActive }) => {
8930
8984
  const paginationStyle = css23({
8931
8985
  ".eui-xScroll": { display: "flex", justifyContent: "flex-start" }
8932
8986
  });
8987
+ const showExpandedRowStyle = css23({
8988
+ "& + tr": { display: "table-row" }
8989
+ });
8933
8990
  const toggleExpandedRowOnHoverStyle = css23({
8934
- "&:hover + tr, &:focus-within + tr": { display: "table-row" }
8991
+ "&:hover + tr, &:focus-within + tr": { display: "table-row" },
8992
+ "& + tr:hover, & + tr:focus-within": { display: "table-row" }
8935
8993
  });
8936
8994
  return {
8937
8995
  tableContainerStyle,
@@ -8950,6 +9008,7 @@ var getWfoTableStyles = ({ theme, isDarkModeActive }) => {
8950
9008
  dragAndDropStyle,
8951
9009
  paginationStyle,
8952
9010
  setWidth,
9011
+ showExpandedRowStyle,
8953
9012
  toggleExpandedRowOnHoverStyle
8954
9013
  };
8955
9014
  };
@@ -9020,6 +9079,7 @@ var WfoTableDataRows = ({
9020
9079
  hiddenColumns = [],
9021
9080
  columnOrder = [],
9022
9081
  rowExpandingConfiguration,
9082
+ showExpandedRows,
9023
9083
  onRowClick,
9024
9084
  className
9025
9085
  }) => {
@@ -9030,6 +9090,7 @@ var WfoTableDataRows = ({
9030
9090
  dataRowStyle,
9031
9091
  clickableStyle,
9032
9092
  setWidth,
9093
+ showExpandedRowStyle,
9033
9094
  toggleExpandedRowOnHoverStyle
9034
9095
  } = useWithOrchestratorTheme(getWfoTableStyles);
9035
9096
  const sortedVisibleColumns = getSortedVisibleColumns(columnConfig, columnOrder, hiddenColumns);
@@ -9042,7 +9103,7 @@ var WfoTableDataRows = ({
9042
9103
  rowStyle,
9043
9104
  dataRowStyle,
9044
9105
  onRowClick && clickableStyle,
9045
- rowExpandingConfiguration?.shouldOnlyShowOnHover && toggleExpandedRowOnHoverStyle
9106
+ rowExpandingConfiguration && (showExpandedRows ? showExpandedRowStyle : toggleExpandedRowOnHoverStyle)
9046
9107
  ],
9047
9108
  onClick: () => onRowClick?.(row),
9048
9109
  children: sortedVisibleColumns.map(([key, columnConfig2]) => {
@@ -9082,17 +9143,17 @@ var WfoTableDataRows = ({
9082
9143
  };
9083
9144
 
9084
9145
  // src/components/WfoTable/WfoTable/WfoTableHeaderRow.tsx
9085
- import { useRef as useRef7 } from "react";
9146
+ import { useRef as useRef8 } from "react";
9086
9147
 
9087
9148
  // src/components/WfoTable/WfoTable/WfoDragHandler.tsx
9088
- import { useRef as useRef5, useState as useState16 } from "react";
9149
+ import { useRef as useRef6, useState as useState17 } from "react";
9089
9150
  import Draggable from "react-draggable";
9090
9151
  import { jsx as jsx135 } from "@emotion/react/jsx-runtime";
9091
9152
  var MINIMUM_COLUMN_WIDTH = 50;
9092
9153
  var WfoDragHandler = ({ headerRowRef, fieldName, onUpdateColumWidth }) => {
9093
- const nodeRef = useRef5(null);
9094
- const [position, setPosition] = useState16({ x: 0, y: 0 });
9095
- const [isDragging, setIsDragging] = useState16(false);
9154
+ const nodeRef = useRef6(null);
9155
+ const [position, setPosition] = useState17({ x: 0, y: 0 });
9156
+ const [isDragging, setIsDragging] = useState17(false);
9096
9157
  const { dragAndDropStyle } = useWithOrchestratorTheme(getWfoTableStyles);
9097
9158
  const resetPosition = () => {
9098
9159
  setPosition({ x: 0, y: 0 });
@@ -9155,18 +9216,18 @@ var WfoSortDirectionIcon = ({ sortDirection }) => {
9155
9216
  };
9156
9217
 
9157
9218
  // src/components/WfoTable/WfoTable/WfoTableHeaderCell/WfoTableHeaderCell.tsx
9158
- import { useState as useState17 } from "react";
9219
+ import { useState as useState18 } from "react";
9159
9220
  import { EuiHorizontalRule as EuiHorizontalRule3, EuiPopover as EuiPopover3, EuiText as EuiText10, useGeneratedHtmlId } from "@elastic/eui";
9160
9221
 
9161
9222
  // src/components/WfoTable/WfoTable/WfoTableHeaderCell/WfoPopoverContent.tsx
9162
- import { useRef as useRef6 } from "react";
9223
+ import { useRef as useRef7 } from "react";
9163
9224
  import { useTranslations as useTranslations27 } from "next-intl";
9164
9225
  import { EuiFieldSearch as EuiFieldSearch2, EuiForm, EuiFormRow as EuiFormRow4 } from "@elastic/eui";
9165
9226
  import { jsx as jsx137 } from "@emotion/react/jsx-runtime";
9166
9227
  var WfoPopoverContent = ({ onSearch, closePopover, fieldName }) => {
9167
9228
  const { headerCellPopoverContentStyle } = useWithOrchestratorTheme(getWfoBasicTableStyles);
9168
9229
  const t = useTranslations27("common");
9169
- const inputRef = useRef6(null);
9230
+ const inputRef = useRef7(null);
9170
9231
  const handleSubmit = (e) => {
9171
9232
  e.preventDefault();
9172
9233
  const newValue = inputRef.current?.value || "";
@@ -9210,7 +9271,7 @@ var WfoTableHeaderCell = ({
9210
9271
  const smallContextMenuPopoverId = useGeneratedHtmlId({
9211
9272
  prefix: "smallContextMenuPopover"
9212
9273
  });
9213
- const [isPopoverOpen, setPopover] = useState17(false);
9274
+ const [isPopoverOpen, setPopover] = useState18(false);
9214
9275
  const handleButtonClick = () => setPopover(!isPopoverOpen);
9215
9276
  const closePopover = () => setPopover(false);
9216
9277
  const WfoHeaderCellContentButton = () => /* @__PURE__ */ jsx138("button", { onClick: handleButtonClick, disabled: !isFilterable, children: /* @__PURE__ */ jsx138("div", { css: getHeaderCellContentStyle(isFilterable), children }) });
@@ -9261,7 +9322,7 @@ var WfoTableHeaderRow = ({
9261
9322
  }) => {
9262
9323
  const { cellStyle, headerCellContainer, sortableHeaderCellStyle, rowStyle, setWidth } = useWithOrchestratorTheme(getWfoTableStyles);
9263
9324
  const sortedVisibleColumns = getSortedVisibleColumns(columnConfig, columnOrder, hiddenColumns);
9264
- const headerRowRef = useRef7(null);
9325
+ const headerRowRef = useRef8(null);
9265
9326
  return /* @__PURE__ */ jsx139("tr", { className, css: rowStyle, ref: headerRowRef, children: sortedVisibleColumns.map(([fieldName, columnConfig2], index) => {
9266
9327
  const dataSortingConfiguration = dataSorting.find((dataSorting2) => dataSorting2.field === fieldName);
9267
9328
  if (columnConfig2.columnType === "data" /* DATA */) {
@@ -9338,6 +9399,7 @@ var WfoTable = ({
9338
9399
  isLoading = false,
9339
9400
  dataSorting = [],
9340
9401
  rowExpandingConfiguration,
9402
+ showExpandedRows = false,
9341
9403
  pagination,
9342
9404
  overrideHeader,
9343
9405
  onUpdateDataSorting,
@@ -9348,12 +9410,12 @@ var WfoTable = ({
9348
9410
  isVirtualized = false,
9349
9411
  height
9350
9412
  }) => {
9351
- const [localColumnWidths, setLocalColumnWidths] = useState18(
9413
+ const [localColumnWidths, setLocalColumnWidths] = useState19(
9352
9414
  getColumnWidthsFromConfig(columnConfig)
9353
9415
  );
9354
9416
  const dataLength = data.length;
9355
9417
  usePageIndexBoundsGuard({ dataLength, isLoading, pagination });
9356
- const parentRef = useRef8(null);
9418
+ const parentRef = useRef9(null);
9357
9419
  const columnConfigWithFiller = appendFillerColumn ? {
9358
9420
  ...columnConfig,
9359
9421
  filler: {
@@ -9446,6 +9508,7 @@ var WfoTable = ({
9446
9508
  hiddenColumns,
9447
9509
  columnOrder,
9448
9510
  rowExpandingConfiguration,
9511
+ showExpandedRows,
9449
9512
  onRowClick
9450
9513
  },
9451
9514
  virtualRow.key
@@ -9466,6 +9529,7 @@ var WfoTable = ({
9466
9529
  hiddenColumns,
9467
9530
  columnOrder,
9468
9531
  rowExpandingConfiguration,
9532
+ showExpandedRows,
9469
9533
  onRowClick
9470
9534
  }
9471
9535
  ) })
@@ -9494,7 +9558,7 @@ import { useTranslations as useTranslations30 } from "next-intl";
9494
9558
  import { EuiButtonEmpty as EuiButtonEmpty4, EuiFlexGroup as EuiFlexGroup11, EuiSpacer as EuiSpacer13 } from "@elastic/eui";
9495
9559
 
9496
9560
  // src/components/WfoTable/WfoTable/WfoGroupedTable/useGroupedTableConfig.tsx
9497
- import { useEffect as useEffect13, useRef as useRef9, useState as useState19 } from "react";
9561
+ import { useEffect as useEffect13, useRef as useRef10, useState as useState20 } from "react";
9498
9562
 
9499
9563
  // src/components/WfoTable/WfoTable/WfoGroupedTable/WfoExpandableRow.tsx
9500
9564
  import { useTranslations as useTranslations29 } from "next-intl";
@@ -9667,17 +9731,17 @@ var useGroupedTableConfig = ({
9667
9731
  nestingLevel = 0,
9668
9732
  notifyParent
9669
9733
  }) => {
9670
- const groupReferences = useRef9(/* @__PURE__ */ new Map());
9671
- const [expandedRowIds, setExpandedRowIds] = useState19([]);
9672
- const [isAllGroupsExpanded, setIsAllGroupsExpanded] = useState19(false);
9673
- const [isAllSubgroupsExpanded, setIsAllSubgroupsExpanded] = useState19([]);
9674
- const [isExpanding, setIsExpanding] = useState19(false);
9734
+ const groupReferences = useRef10(/* @__PURE__ */ new Map());
9735
+ const [expandedRowIds, setExpandedRowIds] = useState20([]);
9736
+ const [isAllGroupsExpanded, setIsAllGroupsExpanded] = useState20(false);
9737
+ const [isAllSubgroupsExpanded, setIsAllSubgroupsExpanded] = useState20([]);
9738
+ const [isExpanding, setIsExpanding] = useState20(false);
9675
9739
  const groups = getObjectKeys(data).map((key) => ({
9676
9740
  groupName: key.toString()
9677
9741
  }));
9678
9742
  const numberOfColumnsInnerTable = Object.keys(columnConfig).length;
9679
- const notifyParentRef = useRef9(notifyParent);
9680
- const groupsRef = useRef9(groups);
9743
+ const notifyParentRef = useRef10(notifyParent);
9744
+ const groupsRef = useRef10(groups);
9681
9745
  useEffect13(() => {
9682
9746
  if (isExpanding) {
9683
9747
  groupReferences.current.forEach((ref) => {
@@ -9902,7 +9966,7 @@ var WfoRelatedSubscriptions = ({
9902
9966
  subscriptionId,
9903
9967
  subscriptionPath = PATH_SUBSCRIPTIONS
9904
9968
  }) => {
9905
- const [hideTerminatedSubscriptions, setHideTerminatedSubscriptions] = useState20(true);
9969
+ const [hideTerminatedSubscriptions, setHideTerminatedSubscriptions] = useState21(true);
9906
9970
  const t = useTranslations31("subscriptions.detail");
9907
9971
  const { theme } = useOrchestratorTheme();
9908
9972
  const terminatedSubscriptionsFilter = {
@@ -9982,7 +10046,7 @@ var WfoRelatedSubscriptions = ({
9982
10046
  return /* @__PURE__ */ jsxs73(Fragment26, { children: [
9983
10047
  /* @__PURE__ */ jsx150(EuiSpacer14, { size: "xl" }),
9984
10048
  /* @__PURE__ */ jsx150(EuiFlexGroup12, { justifyContent: "flexEnd", children: /* @__PURE__ */ jsx150(EuiFlexItem8, { grow: 0, children: /* @__PURE__ */ jsx150(
9985
- EuiSwitch,
10049
+ EuiSwitch2,
9986
10050
  {
9987
10051
  showLabel: true,
9988
10052
  label: t("hideTerminatedRelatedSubscriptions"),
@@ -10093,7 +10157,7 @@ var WfoSubscription = ({ subscriptionId }) => {
10093
10157
  };
10094
10158
 
10095
10159
  // src/components/WfoSubscription/WfoSubscriptionActions/WfoSubscriptionActions.tsx
10096
- import { useState as useState23 } from "react";
10160
+ import { useState as useState24 } from "react";
10097
10161
  import { useTranslations as useTranslations34 } from "next-intl";
10098
10162
  import { useRouter as useRouter6 } from "next/router";
10099
10163
  import { EuiButton as EuiButton8, EuiButtonIcon as EuiButtonIcon8, EuiLoadingSpinner as EuiLoadingSpinner3, EuiTitle } from "@elastic/eui";
@@ -10103,7 +10167,7 @@ import { useTranslations as useTranslations33 } from "next-intl";
10103
10167
  import { EuiContextMenuItem as EuiContextMenuItem2, EuiLoadingSpinner as EuiLoadingSpinner2, EuiToolTip as EuiToolTip8 } from "@elastic/eui";
10104
10168
 
10105
10169
  // src/components/WfoSubscription/WfoSubscriptionActions/WfoSubscriptionActionExpandableMenuItem.tsx
10106
- import { useState as useState21 } from "react";
10170
+ import { useState as useState22 } from "react";
10107
10171
  import { useTranslations as useTranslations32 } from "next-intl";
10108
10172
  import Link9 from "next/link";
10109
10173
  import { EuiButtonIcon as EuiButtonIcon7, EuiText as EuiText12 } from "@elastic/eui";
@@ -10116,7 +10180,7 @@ var WfoSubscriptionActionExpandableMenuItem = ({
10116
10180
  }) => {
10117
10181
  const t = useTranslations32("subscriptions.detail.actions");
10118
10182
  const { clickableStyle, expandableMenuItemStyle, expandButtonStyle, expandedContentStyle, linkStyle } = useWithOrchestratorTheme(getSubscriptionActionStyles);
10119
- const [isExpanded, setIsExpanded] = useState21(false);
10183
+ const [isExpanded, setIsExpanded] = useState22(false);
10120
10184
  const relationsDetail = [
10121
10185
  ...subscriptionAction.locked_relations_detail ?? [],
10122
10186
  ...subscriptionAction.unterminated_in_use_by_subscriptions_detail ?? []
@@ -10234,11 +10298,11 @@ var WfoSubscriptionActionsMenuItem = ({
10234
10298
  };
10235
10299
 
10236
10300
  // src/components/WfoSubscription/WfoSubscriptionActions/utils.ts
10237
- import { useEffect as useEffect14, useState as useState22 } from "react";
10301
+ import { useEffect as useEffect14, useState as useState23 } from "react";
10238
10302
  var useActiveProcess = (processes) => {
10239
10303
  const lastProcess = processes?.[processes.length - 1];
10240
10304
  const isLastProcessRunning = lastProcess?.lastStatus.toLowerCase() === "running" /* RUNNING */;
10241
- const [processId, setProcessId] = useState22(null);
10305
+ const [processId, setProcessId] = useState23(null);
10242
10306
  useEffect14(() => {
10243
10307
  if (isLastProcessRunning) {
10244
10308
  setProcessId(lastProcess.processId);
@@ -10277,7 +10341,7 @@ var WfoSubscriptionActions = ({
10277
10341
  }) => {
10278
10342
  const t = useTranslations34("subscriptions.detail.actions");
10279
10343
  const { theme } = useOrchestratorTheme();
10280
- const [isPopoverOpen, setPopover] = useState23(false);
10344
+ const [isPopoverOpen, setPopover] = useState24(false);
10281
10345
  const router = useRouter6();
10282
10346
  const disableQuery = isLoading || !isPopoverOpen && compactMode;
10283
10347
  const { isAllowed } = usePolicy();
@@ -10342,14 +10406,22 @@ var WfoSubscriptionActions = ({
10342
10406
  redirectToUrl(actionName, isTask);
10343
10407
  }
10344
10408
  };
10409
+ const getActionItems = (workflowTarget) => {
10410
+ const actionsByTarget = subscriptionActions;
10411
+ return actionsByTarget?.[workflowTarget] ?? actionsByTarget?.[workflowTarget.toLowerCase()] ?? [];
10412
+ };
10413
+ const validateActionItems = getActionItems("VALIDATE" /* VALIDATE */);
10414
+ const reconcileActionItems = getActionItems("RECONCILE" /* RECONCILE */);
10415
+ const modifyActionItems = getActionItems("MODIFY" /* MODIFY */);
10416
+ const terminateActionItems = getActionItems("TERMINATE" /* TERMINATE */);
10345
10417
  const compactItems = /* @__PURE__ */ jsxs78(Fragment28, { children: [
10346
- isAllowed(SUBSCRIPTION_VALIDATE + subscriptionId) && subscriptionActions?.validate && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10418
+ isAllowed(SUBSCRIPTION_VALIDATE + subscriptionId) && validateActionItems.length > 0 && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10347
10419
  !compactMode && /* @__PURE__ */ jsx156(MenuBlock, { title: t("tasks") }),
10348
- subscriptionActions.validate.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10420
+ validateActionItems.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10349
10421
  WfoSubscriptionActionsMenuItem,
10350
10422
  {
10351
10423
  subscriptionAction,
10352
- target: "validate" /* VALIDATE */,
10424
+ target: "VALIDATE" /* VALIDATE */,
10353
10425
  setPopover,
10354
10426
  subscriptionPath,
10355
10427
  onClick: () => handleActionClick(subscriptionAction.name, compactMode, true),
@@ -10358,13 +10430,13 @@ var WfoSubscriptionActions = ({
10358
10430
  `s_${index}`
10359
10431
  ))
10360
10432
  ] }),
10361
- isAllowed(SUBSCRIPTION_RECONCILE + subscriptionId) && (subscriptionActions?.reconcile?.length ?? 0) > 0 && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10433
+ isAllowed(SUBSCRIPTION_RECONCILE + subscriptionId) && reconcileActionItems.length > 0 && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10362
10434
  !compactMode && /* @__PURE__ */ jsx156(MenuBlock, { title: t("reconcile") }),
10363
- subscriptionActions?.reconcile.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10435
+ reconcileActionItems.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10364
10436
  WfoSubscriptionActionsMenuItem,
10365
10437
  {
10366
10438
  subscriptionAction: buttonIsLoading && !subscriptionAction.reason ? { ...subscriptionAction, reason: "subscription.running_process" } : subscriptionAction,
10367
- target: "reconcile" /* RECONCILE */,
10439
+ target: "RECONCILE" /* RECONCILE */,
10368
10440
  setPopover,
10369
10441
  subscriptionPath,
10370
10442
  onClick: () => handleActionClick(subscriptionAction.name, compactMode, false),
@@ -10383,13 +10455,13 @@ var WfoSubscriptionActions = ({
10383
10455
  ) })
10384
10456
  ] });
10385
10457
  const fullItems = /* @__PURE__ */ jsxs78(Fragment28, { children: [
10386
- isAllowed(SUBSCRIPTION_MODIFY + subscriptionId) && subscriptionActions?.modify && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10458
+ isAllowed(SUBSCRIPTION_MODIFY + subscriptionId) && modifyActionItems.length > 0 && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10387
10459
  /* @__PURE__ */ jsx156(MenuBlock, { title: t("modify") }),
10388
- subscriptionActions.modify.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10460
+ modifyActionItems.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10389
10461
  WfoSubscriptionActionsMenuItem,
10390
10462
  {
10391
10463
  subscriptionAction,
10392
- target: "modify" /* MODIFY */,
10464
+ target: "MODIFY" /* MODIFY */,
10393
10465
  setPopover,
10394
10466
  subscriptionPath,
10395
10467
  onClick: () => {
@@ -10400,13 +10472,13 @@ var WfoSubscriptionActions = ({
10400
10472
  ))
10401
10473
  ] }),
10402
10474
  compactItems,
10403
- isAllowed(SUBSCRIPTION_TERMINATE + subscriptionId) && subscriptionActions?.terminate && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10475
+ isAllowed(SUBSCRIPTION_TERMINATE + subscriptionId) && terminateActionItems.length > 0 && /* @__PURE__ */ jsxs78(Fragment28, { children: [
10404
10476
  /* @__PURE__ */ jsx156(MenuBlock, { title: t("terminate") }),
10405
- subscriptionActions.terminate.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10477
+ terminateActionItems.map((subscriptionAction, index) => /* @__PURE__ */ jsx156(
10406
10478
  WfoSubscriptionActionsMenuItem,
10407
10479
  {
10408
10480
  subscriptionAction,
10409
- target: "terminate" /* TERMINATE */,
10481
+ target: "TERMINATE" /* TERMINATE */,
10410
10482
  setPopover,
10411
10483
  subscriptionPath,
10412
10484
  onClick: () => {
@@ -10432,7 +10504,7 @@ var WfoSubscriptionActions = ({
10432
10504
  };
10433
10505
 
10434
10506
  // src/components/WfoSubscription/WfoSubscriptionProductBlock/WfoSubscriptionProductBlock.tsx
10435
- import { useState as useState24 } from "react";
10507
+ import { useState as useState25 } from "react";
10436
10508
  import { useTranslations as useTranslations36 } from "next-intl";
10437
10509
  import {
10438
10510
  EuiBadge as EuiBadge2,
@@ -10574,7 +10646,7 @@ var WfoSubscriptionProductBlock = ({
10574
10646
  outsideSubscriptionIdTextStyle,
10575
10647
  rowStyle
10576
10648
  } = useWithOrchestratorTheme(getStyles7);
10577
- const [showDetails, setShowDetails] = useState24(false);
10649
+ const [showDetails, setShowDetails] = useState25(false);
10578
10650
  const ownerSubscriptionId = productBlock.subscription.subscriptionId;
10579
10651
  const isOutsideCurrentSubscription = ownerSubscriptionId !== subscriptionId;
10580
10652
  const inUseByRelations = productBlock.inUseByRelations.filter(
@@ -10698,12 +10770,12 @@ var WfoProductBlockKeyValueRow = ({
10698
10770
  };
10699
10771
 
10700
10772
  // src/components/WfoSubscription/WfoSubscriptionDetailTree.tsx
10701
- import React44, { useState as useState26 } from "react";
10773
+ import React44, { useState as useState27 } from "react";
10702
10774
  import { useTranslations as useTranslations38 } from "next-intl";
10703
10775
  import { EuiCallOut as EuiCallOut4, EuiFlexGroup as EuiFlexGroup17, EuiFlexItem as EuiFlexItem13, EuiText as EuiText16 } from "@elastic/eui";
10704
10776
 
10705
10777
  // src/components/WfoButtonComboBox/WfoButtonComboBox.tsx
10706
- import { useEffect as useEffect15, useState as useState25 } from "react";
10778
+ import { useEffect as useEffect15, useState as useState26 } from "react";
10707
10779
  import { EuiPopover as EuiPopover4, EuiSelectable as EuiSelectable2, EuiSpacer as EuiSpacer16, EuiText as EuiText14 } from "@elastic/eui";
10708
10780
 
10709
10781
  // src/components/WfoButtonComboBox/styles.ts
@@ -10739,8 +10811,8 @@ var WfoButtonComboBox = ({
10739
10811
  children,
10740
10812
  className
10741
10813
  }) => {
10742
- const [isPopoverOpen, setPopoverOpen] = useState25(false);
10743
- const [optionsState, setOptionsState] = useState25(options);
10814
+ const [isPopoverOpen, setPopoverOpen] = useState26(false);
10815
+ const [optionsState, setOptionsState] = useState26(options);
10744
10816
  const { selectableStyle, titleStyle } = useWithOrchestratorTheme(getWfoButtonComboBoxStyles);
10745
10817
  useEffect15(() => {
10746
10818
  if (!isPopoverOpen) {
@@ -11018,7 +11090,7 @@ var WfoSubscriptionDetailTree = ({
11018
11090
  }) => {
11019
11091
  const t = useTranslations38("subscriptions.detail");
11020
11092
  const { theme } = useOrchestratorTheme();
11021
- const [, setSelectedTreeNode] = useState26(-1);
11093
+ const [, setSelectedTreeNode] = useState27(-1);
11022
11094
  const { productBlockTreeWidth } = useWithOrchestratorTheme(getSubscriptionDetailStyles);
11023
11095
  const { selectedIds, expandAll, resetSelection, selectAll, selectIds, deselectIds } = React44.useContext(
11024
11096
  TreeContext
@@ -11267,13 +11339,13 @@ var customerDescriptionsApi = orchestratorApi.injectEndpoints({
11267
11339
  var { useSetCustomerDescriptionMutation, useUpdateCustomerDescriptionMutation } = customerDescriptionsApi;
11268
11340
 
11269
11341
  // src/components/WfoInlineEdit/WfoInlineEdit.tsx
11270
- import { useEffect as useEffect17, useState as useState27 } from "react";
11342
+ import { useEffect as useEffect17, useState as useState28 } from "react";
11271
11343
  import { EuiInlineEditText } from "@elastic/eui";
11272
11344
  import { jsx as jsx168 } from "@emotion/react/jsx-runtime";
11273
11345
  var WfoInlineEdit = ({ value, onlyShowOnHover = false, onSave = () => {
11274
11346
  } }) => {
11275
- const [note, setValue] = useState27(value);
11276
- const [isTooltipVisible, setIsTooltipVisible] = useState27(true);
11347
+ const [note, setValue] = useState28(value);
11348
+ const [isTooltipVisible, setIsTooltipVisible] = useState28(true);
11277
11349
  const handleSave = () => {
11278
11350
  onSave(note.startsWith(INVISIBLE_CHARACTER) ? note.replace(INVISIBLE_CHARACTER, "") : note);
11279
11351
  setIsTooltipVisible(true);
@@ -11490,9 +11562,9 @@ var clearTableConfigFromLocalStorage = (key) => {
11490
11562
  };
11491
11563
 
11492
11564
  // src/components/WfoTable/WfoTableSettingsModal/WfoTableSettingsModal.tsx
11493
- import { useState as useState28 } from "react";
11565
+ import { useState as useState29 } from "react";
11494
11566
  import { useTranslations as useTranslations39 } from "next-intl";
11495
- import { EuiForm as EuiForm2, EuiFormRow as EuiFormRow5, EuiHorizontalRule as EuiHorizontalRule4, EuiSelect, EuiSpacer as EuiSpacer17, EuiSwitch as EuiSwitch2 } from "@elastic/eui";
11567
+ import { EuiForm as EuiForm2, EuiFormRow as EuiFormRow5, EuiHorizontalRule as EuiHorizontalRule4, EuiSelect, EuiSpacer as EuiSpacer17, EuiSwitch as EuiSwitch3 } from "@elastic/eui";
11496
11568
 
11497
11569
  // src/components/WfoTable/WfoTableSettingsModal/styles.ts
11498
11570
  import { css as css27 } from "@emotion/react";
@@ -11522,8 +11594,8 @@ var TableSettingsModal = ({
11522
11594
  }) => {
11523
11595
  const t = useTranslations39("main");
11524
11596
  const { formRowStyle, selectFieldStyle } = useWithOrchestratorTheme(getWfoTableSettingsModalStyles);
11525
- const [columns, setColumns] = useState28(tableConfig.columns);
11526
- const [selectedPageSize, setSelectedPageSize] = useState28(tableConfig.selectedPageSize);
11597
+ const [columns, setColumns] = useState29(tableConfig.columns);
11598
+ const [selectedPageSize, setSelectedPageSize] = useState29(tableConfig.selectedPageSize);
11527
11599
  const options = pageSizeOptions.map((pageSizeOption) => ({
11528
11600
  value: pageSizeOption,
11529
11601
  text: pageSizeOption.toString()
@@ -11550,7 +11622,7 @@ var TableSettingsModal = ({
11550
11622
  children: /* @__PURE__ */ jsxs88(EuiForm2, { children: [
11551
11623
  columns.map(({ field, name, isVisible }) => /* @__PURE__ */ jsxs88("div", { children: [
11552
11624
  /* @__PURE__ */ jsx170(EuiFormRow5, { display: "columnCompressed", label: name, css: formRowStyle, children: /* @__PURE__ */ jsx170(
11553
- EuiSwitch2,
11625
+ EuiSwitch3,
11554
11626
  {
11555
11627
  showLabel: false,
11556
11628
  label: name,
@@ -11742,12 +11814,12 @@ var WfoInlineJson = ({ data }) => {
11742
11814
  };
11743
11815
 
11744
11816
  // src/components/WfoTable/WfoRowContextMenu/WfoRowContextMenu.tsx
11745
- import { useEffect as useEffect18, useRef as useRef10, useState as useState29 } from "react";
11817
+ import { useEffect as useEffect18, useRef as useRef11, useState as useState30 } from "react";
11746
11818
  import { EuiButtonIcon as EuiButtonIcon10, EuiContextMenu as EuiContextMenu2, EuiPopover as EuiPopover5 } from "@elastic/eui";
11747
11819
  import { jsx as jsx176 } from "@emotion/react/jsx-runtime";
11748
11820
  var WfoRowContextMenu = ({ items, onOpenContextMenu }) => {
11749
- const [isOpen, setIsOpen] = useState29(false);
11750
- const onOpenContextMenuRef = useRef10(onOpenContextMenu);
11821
+ const [isOpen, setIsOpen] = useState30(false);
11822
+ const onOpenContextMenuRef = useRef11(onOpenContextMenu);
11751
11823
  useEffect18(() => {
11752
11824
  if (isOpen) {
11753
11825
  onOpenContextMenuRef.current?.();
@@ -11802,7 +11874,7 @@ var toSortedTableColumnConfig = (columnConfig, columnKeys) => columnKeys.reduce(
11802
11874
  }, {});
11803
11875
 
11804
11876
  // src/components/WfoTable/WfoAdvancedTable/WfoAdvancedTable.tsx
11805
- import { useEffect as useEffect19, useState as useState30 } from "react";
11877
+ import { useEffect as useEffect19, useState as useState31 } from "react";
11806
11878
  import { useTranslations as useTranslations40 } from "next-intl";
11807
11879
  import { EuiButton as EuiButton9, EuiButtonIcon as EuiButtonIcon11, EuiFlexGroup as EuiFlexGroup18, EuiFlexItem as EuiFlexItem15, EuiSpacer as EuiSpacer18, EuiText as EuiText17 } from "@elastic/eui";
11808
11880
  import { Fragment as Fragment36, jsx as jsx178, jsxs as jsxs91 } from "@emotion/react/jsx-runtime";
@@ -11822,10 +11894,10 @@ var WfoAdvancedTable = ({
11822
11894
  ...tableProps
11823
11895
  }) => {
11824
11896
  const { theme } = useOrchestratorTheme();
11825
- const [hiddenColumns, setHiddenColumns] = useState30(defaultHiddenColumns);
11826
- const [showSettingsModal, setShowSettingsModal] = useState30(false);
11827
- const [selectedDataForDetailModal, setSelectedDataForDetailModal] = useState30(void 0);
11828
- const [showSearchModal, setShowSearchModal] = useState30(false);
11897
+ const [hiddenColumns, setHiddenColumns] = useState31(defaultHiddenColumns);
11898
+ const [showSettingsModal, setShowSettingsModal] = useState31(false);
11899
+ const [selectedDataForDetailModal, setSelectedDataForDetailModal] = useState31(void 0);
11900
+ const [showSearchModal, setShowSearchModal] = useState31(false);
11829
11901
  const t = useTranslations40("common");
11830
11902
  useEffect19(() => {
11831
11903
  if (defaultHiddenColumns) {
@@ -11926,12 +11998,21 @@ var WfoAdvancedTable = ({
11926
11998
  };
11927
11999
 
11928
12000
  // src/components/WfoTable/WfoStructuredSearchTable/WfoStructuredSearchTable.tsx
11929
- import { useEffect as useEffect24, useState as useState35 } from "react";
12001
+ import { useEffect as useEffect25, useState as useState36 } from "react";
11930
12002
  import { useTranslations as useTranslations49 } from "next-intl";
11931
- import { EuiButton as EuiButton11, EuiFlexGroup as EuiFlexGroup22, EuiFlexItem as EuiFlexItem23, EuiFormRow as EuiFormRow7, EuiSelect as EuiSelect3, EuiSpacer as EuiSpacer19, EuiText as EuiText18 } from "@elastic/eui";
12003
+ import {
12004
+ EuiButton as EuiButton11,
12005
+ EuiFlexGroup as EuiFlexGroup22,
12006
+ EuiFlexItem as EuiFlexItem23,
12007
+ EuiFormRow as EuiFormRow7,
12008
+ EuiSelect as EuiSelect3,
12009
+ EuiSpacer as EuiSpacer19,
12010
+ EuiSwitch as EuiSwitch4,
12011
+ EuiText as EuiText18
12012
+ } from "@elastic/eui";
11932
12013
 
11933
12014
  // src/components/WfoTable/WfoStructuredSearchTable/WfoFilterBuilder.tsx
11934
- import { useRef as useRef13, useState as useState34 } from "react";
12015
+ import { useEffect as useEffect24, useMemo as useMemo4, useRef as useRef14, useState as useState35 } from "react";
11935
12016
  import { QueryBuilder, generateID } from "react-querybuilder";
11936
12017
  import "react-querybuilder/dist/query-builder.css";
11937
12018
  import { useTranslations as useTranslations47 } from "next-intl";
@@ -11942,7 +12023,7 @@ import { EuiButtonGroup } from "@elastic/eui";
11942
12023
 
11943
12024
  // src/components/WfoTable/WfoStructuredSearchTable/styles.ts
11944
12025
  import { css as css31 } from "@emotion/react";
11945
- var getWfoStructuredSearchTableStyles = ({ theme }) => {
12026
+ var getWfoStructuredSearchTableStyles = ({ theme, isDarkModeActive }) => {
11946
12027
  const queryBuilderContainerStyles = css31({
11947
12028
  backgroundColor: theme.colors.backgroundBaseSubdued,
11948
12029
  padding: theme.base / 2,
@@ -11999,7 +12080,7 @@ var getWfoStructuredSearchTableStyles = ({ theme }) => {
11999
12080
  const ruleGroupContainerBlueStyles = css31({
12000
12081
  ...ruleGroupContainerBase,
12001
12082
  borderRadius: theme.border.radius.small,
12002
- backgroundColor: "#E9F1F9"
12083
+ backgroundColor: isDarkModeActive ? theme.colors.backgroundLightPrimary : "#E9F1F9"
12003
12084
  });
12004
12085
  const ruleGroupContainerWhiteStyles = css31({
12005
12086
  ...ruleGroupContainerBase,
@@ -12016,7 +12097,7 @@ var getWfoStructuredSearchTableStyles = ({ theme }) => {
12016
12097
  ...ruleGroupContainerBase,
12017
12098
  borderBottomLeftRadius: theme.border.radius.small,
12018
12099
  borderTopLeftRadius: theme.border.radius.small,
12019
- backgroundColor: "#E9F1F9"
12100
+ backgroundColor: isDarkModeActive ? theme.colors.backgroundLightPrimary : "#E9F1F9"
12020
12101
  });
12021
12102
  const removeGroupActionStyles = css31({
12022
12103
  backgroundColor: theme.colors.backgroundLightPrimary,
@@ -12030,11 +12111,10 @@ var getWfoStructuredSearchTableStyles = ({ theme }) => {
12030
12111
  cursor: "pointer"
12031
12112
  });
12032
12113
  const expandingSearchRowStyles = css31({
12033
- padding: theme.base / 2,
12034
- height: theme.base * 2,
12114
+ padding: `${theme.base / 4}px ${theme.base / 2}px`,
12035
12115
  borderRadius: theme.border.radius.medium,
12036
- border: "thin solid FEF7E0",
12037
- backgroundColor: "#FEF7E0"
12116
+ border: `thin solid ${theme.colors.highlight}`,
12117
+ backgroundColor: theme.colors.highlight
12038
12118
  });
12039
12119
  const expandingRowBodyStyles = css31({
12040
12120
  display: "flex",
@@ -12091,11 +12171,11 @@ var getWfoStructuredSearchTableStyles = ({ theme }) => {
12091
12171
  display: "none"
12092
12172
  });
12093
12173
  const dotStyles = css31({
12094
- padding: theme.base / 4
12174
+ padding: `${theme.base / 8}px ${theme.base / 4}px`
12095
12175
  });
12096
12176
  const expandingRowFieldStyles = css31({
12097
12177
  display: "flex",
12098
- padding: theme.base / 4,
12178
+ padding: `${theme.base / 8}px ${theme.base / 4}px`,
12099
12179
  alignItems: "center"
12100
12180
  });
12101
12181
  return {
@@ -12148,7 +12228,7 @@ var WfoCombinatorSelector = (props) => {
12148
12228
  };
12149
12229
 
12150
12230
  // src/components/WfoTable/WfoStructuredSearchTable/WfoFieldSelector.tsx
12151
- import { useEffect as useEffect20, useRef as useRef11, useState as useState31 } from "react";
12231
+ import { useEffect as useEffect20, useRef as useRef12, useState as useState32 } from "react";
12152
12232
  import { useTranslations as useTranslations41 } from "next-intl";
12153
12233
  import { EuiComboBox } from "@elastic/eui";
12154
12234
  import { jsx as jsx180 } from "@emotion/react/jsx-runtime";
@@ -12169,10 +12249,10 @@ var focusValueEditorAfterRender = (searchInput) => {
12169
12249
  var WfoFieldSelector = ({ handleOnChange, disabled, rule, context }) => {
12170
12250
  const { field } = rule;
12171
12251
  const prefilledFieldOptions2 = context.prefilledFieldOptions;
12172
- const [selectedValue, setSelectedValue] = useState31(field);
12173
- const [searchInput, setSearchInput] = useState31(null);
12174
- const optionsRef = useRef11([]);
12175
- const handleFieldSelectionRef = useRef11(() => {
12252
+ const [selectedValue, setSelectedValue] = useState32(field);
12253
+ const [searchInput, setSearchInput] = useState32(null);
12254
+ const optionsRef = useRef12([]);
12255
+ const handleFieldSelectionRef = useRef12(() => {
12176
12256
  });
12177
12257
  const t = useTranslations41("search.page");
12178
12258
  const getOption = (path) => ({
@@ -12276,7 +12356,7 @@ var WfoInlineCombinator = (props) => {
12276
12356
  };
12277
12357
 
12278
12358
  // src/components/WfoTable/WfoStructuredSearchTable/WfoOperatorSelector.tsx
12279
- import { useEffect as useEffect21, useMemo as useMemo3, useRef as useRef12 } from "react";
12359
+ import { useEffect as useEffect21, useMemo as useMemo3, useRef as useRef13 } from "react";
12280
12360
  import { defaultOperators } from "react-querybuilder";
12281
12361
  import { EuiSelect as EuiSelect2 } from "@elastic/eui";
12282
12362
  import { jsx as jsx182 } from "@emotion/react/jsx-runtime";
@@ -12285,26 +12365,36 @@ var FALLBACK_OPERATOR_LABELS = {
12285
12365
  notNull: "\u2713 has component",
12286
12366
  null: "\u2717 does not have component"
12287
12367
  };
12368
+ var getDefaultOperator = (options) => (options.find((option) => option.arity !== "unary") ?? options[0]).name;
12288
12369
  var WfoOperatorSelector = (props) => {
12289
12370
  const { value, handleOnChange } = props;
12290
- const flatOptions = props.options.flatMap(
12291
- (option) => isOptionGroup(option) ? option.options : [option]
12371
+ const flatOptions = useMemo3(
12372
+ () => props.options.flatMap(
12373
+ (option) => isOptionGroup(option) ? option.options : [option]
12374
+ ),
12375
+ [props.options]
12292
12376
  );
12293
12377
  const selectOptions = useMemo3(
12294
12378
  () => flatOptions.map((option) => ({ value: option.name, text: option.label })),
12295
12379
  [flatOptions]
12296
12380
  );
12297
12381
  const optionsKey = selectOptions.map((option) => option.value).join("|");
12298
- const previousOptionsKeyRef = useRef12(optionsKey);
12382
+ const previousOptionsKeyRef = useRef13(optionsKey);
12299
12383
  useEffect21(() => {
12300
12384
  const optionsChanged = previousOptionsKeyRef.current !== optionsKey;
12301
12385
  previousOptionsKeyRef.current = optionsKey;
12302
- if (!optionsChanged || selectOptions.length === 0) return;
12386
+ if (!optionsChanged) return;
12387
+ if (flatOptions.length === 0) {
12388
+ if (value === "null" || value === "notNull") {
12389
+ handleOnChange("=");
12390
+ }
12391
+ return;
12392
+ }
12303
12393
  const currentValueIsValid = selectOptions.some((option) => option.value === value);
12304
12394
  if (!currentValueIsValid) {
12305
- handleOnChange(selectOptions[0].value);
12395
+ handleOnChange(getDefaultOperator(flatOptions));
12306
12396
  }
12307
- }, [optionsKey, selectOptions, value, handleOnChange]);
12397
+ }, [optionsKey, flatOptions, selectOptions, value, handleOnChange]);
12308
12398
  const currentValueIsListed = !value || selectOptions.some((option) => option.value === value);
12309
12399
  const displayOptions = currentValueIsListed ? selectOptions : [
12310
12400
  ...selectOptions,
@@ -12439,18 +12529,18 @@ var WfoRuleGroup = (props) => {
12439
12529
  };
12440
12530
 
12441
12531
  // src/components/WfoTable/WfoStructuredSearchTable/WfoValueEditor.tsx
12442
- import { useEffect as useEffect23, useState as useState33 } from "react";
12532
+ import { useEffect as useEffect23, useState as useState34 } from "react";
12443
12533
  import moment3 from "moment";
12444
12534
  import { useTranslations as useTranslations46 } from "next-intl";
12445
12535
  import { EuiButtonGroup as EuiButtonGroup2, EuiDatePicker as EuiDatePicker2, EuiFieldNumber as EuiFieldNumber2, EuiFieldText as EuiFieldText3 } from "@elastic/eui";
12446
12536
 
12447
12537
  // src/components/WfoTable/WfoStructuredSearchTable/WfoRangeEditor.tsx
12448
- import { useEffect as useEffect22, useState as useState32 } from "react";
12538
+ import { useEffect as useEffect22, useState as useState33 } from "react";
12449
12539
  import { EuiFlexGroup as EuiFlexGroup20 } from "@elastic/eui";
12450
12540
  import { jsx as jsx189, jsxs as jsxs95 } from "@emotion/react/jsx-runtime";
12451
12541
  var WfoRangeEditor = ({ handleOnChange, InputElement, value: currentValue }) => {
12452
12542
  const startValue = currentValue ? currentValue?.toString().split(",") : [];
12453
- const [value, setValue] = useState32(startValue);
12543
+ const [value, setValue] = useState33(startValue);
12454
12544
  const handleRangeChange = (newValue, rangeIndex) => {
12455
12545
  setValue((currentValues) => {
12456
12546
  const next = [...currentValues];
@@ -12488,10 +12578,16 @@ var WfoRangeEditor = ({ handleOnChange, InputElement, value: currentValue }) =>
12488
12578
 
12489
12579
  // src/components/WfoTable/WfoStructuredSearchTable/WfoValueEditor.tsx
12490
12580
  import { jsx as jsx190 } from "@emotion/react/jsx-runtime";
12491
- var BooleanEditor = ({ handleOnChange, value: currentValue = true }) => {
12492
- const [value, setValue] = useState33(currentValue.toString());
12581
+ var BooleanEditor = ({
12582
+ handleOnChange,
12583
+ value: currentValue
12584
+ }) => {
12585
+ const initialValue = typeof currentValue === "boolean" ? currentValue : true;
12586
+ const [value, setValue] = useState34(initialValue.toString());
12493
12587
  useEffect23(() => {
12494
- handleOnChange(true);
12588
+ if (currentValue === void 0 || currentValue === "") {
12589
+ handleOnChange(initialValue);
12590
+ }
12495
12591
  }, []);
12496
12592
  const { buttonGroupStyles } = useWithOrchestratorTheme(getWfoStructuredSearchTableStyles);
12497
12593
  const options = [
@@ -12522,7 +12618,7 @@ var BooleanEditor = ({ handleOnChange, value: currentValue = true }) => {
12522
12618
  );
12523
12619
  };
12524
12620
  var TextEditor = ({ handleOnChange, value: currentValue = "" }) => {
12525
- const [value, setValue] = useState33(currentValue);
12621
+ const [value, setValue] = useState34(currentValue);
12526
12622
  const handleTextChange = (e) => {
12527
12623
  setValue(e.target.value || "");
12528
12624
  };
@@ -12537,7 +12633,7 @@ var TextEditor = ({ handleOnChange, value: currentValue = "" }) => {
12537
12633
  return /* @__PURE__ */ jsx190(EuiFieldText3, { value, onChange: handleTextChange, onBlur: handleOnBlur, onKeyDown: handleOnKeyDown });
12538
12634
  };
12539
12635
  var NumberEditor = ({ handleOnChange, value: currentValue }) => {
12540
- const [value, setValue] = useState33(currentValue?.toString() || "");
12636
+ const [value, setValue] = useState34(currentValue?.toString() || "");
12541
12637
  const handleNumberChange = (e) => {
12542
12638
  setValue(e.target.value || "");
12543
12639
  };
@@ -12561,7 +12657,7 @@ var NumberEditor = ({ handleOnChange, value: currentValue }) => {
12561
12657
  );
12562
12658
  };
12563
12659
  var DatePicker = ({ handleOnChange, value: currentValue }) => {
12564
- const [date, setDate] = useState33(currentValue || "");
12660
+ const [date, setDate] = useState34(currentValue || "");
12565
12661
  const t = useTranslations46("search.page");
12566
12662
  return /* @__PURE__ */ jsx190(
12567
12663
  EuiDatePicker2,
@@ -12617,6 +12713,61 @@ var WfoValueEditor = ({
12617
12713
  return /* @__PURE__ */ jsx190("div", { className, style: { display: "contents" }, onKeyDown: handleWrapperKeyDown, children: getEditor() });
12618
12714
  };
12619
12715
 
12716
+ // src/components/WfoTable/WfoStructuredSearchTable/utils.ts
12717
+ import { prepareRuleGroup } from "react-querybuilder";
12718
+ import { parseCEL } from "react-querybuilder/parseCEL";
12719
+ var collectRuleFields = (ruleGroup) => {
12720
+ const fields = ruleGroup.rules.flatMap((rule) => {
12721
+ if (typeof rule === "string") {
12722
+ return [];
12723
+ }
12724
+ if ("rules" in rule) {
12725
+ return collectRuleFields(rule);
12726
+ }
12727
+ return [rule.field];
12728
+ });
12729
+ return [...new Set(fields)];
12730
+ };
12731
+ var dropFieldValueSources = (ruleGroup) => ({
12732
+ ...ruleGroup,
12733
+ rules: ruleGroup.rules.map((rule) => {
12734
+ if (typeof rule === "string" || "rules" in rule) {
12735
+ return typeof rule === "string" ? rule : dropFieldValueSources(rule);
12736
+ }
12737
+ if (rule.valueSource === "field") {
12738
+ const ruleWithoutValueSource = { ...rule };
12739
+ delete ruleWithoutValueSource.valueSource;
12740
+ return ruleWithoutValueSource;
12741
+ }
12742
+ return rule;
12743
+ })
12744
+ });
12745
+ var parseCelToRuleGroup = (celString) => {
12746
+ if (!celString) {
12747
+ return void 0;
12748
+ }
12749
+ try {
12750
+ const ruleGroup = parseCEL(celString);
12751
+ return ruleGroup?.rules?.length > 0 ? prepareRuleGroup(dropFieldValueSources(ruleGroup)) : void 0;
12752
+ } catch {
12753
+ return void 0;
12754
+ }
12755
+ };
12756
+ var buildColumnFilter = (field, searchText, currentFilter, getColumnSearchFieldName) => {
12757
+ if (!searchText || searchText.includes('"')) {
12758
+ return void 0;
12759
+ }
12760
+ const searchFieldName = getColumnSearchFieldName?.(field) ?? String(field);
12761
+ const columnFilterCondition = `${searchFieldName} == "${searchText}"`;
12762
+ const trimmedCurrentFilter = currentFilter?.trim();
12763
+ const filterString = trimmedCurrentFilter ? `(${trimmedCurrentFilter}) && ${columnFilterCondition}` : columnFilterCondition;
12764
+ const ruleGroup = parseCelToRuleGroup(filterString);
12765
+ if (!ruleGroup) {
12766
+ return void 0;
12767
+ }
12768
+ return { filterString, ruleGroup };
12769
+ };
12770
+
12620
12771
  // src/components/WfoTable/WfoStructuredSearchTable/WfoFilterBuilder.tsx
12621
12772
  import { jsx as jsx191, jsxs as jsxs96 } from "@emotion/react/jsx-runtime";
12622
12773
  var SEARCH_OPERATOR_TO_RQB_OPERATOR_MAP = {
@@ -12677,9 +12828,9 @@ var WfoFilterBuilder = ({
12677
12828
  };
12678
12829
  const t = useTranslations47("common");
12679
12830
  const { queryBuilderContainerStyles } = useWithOrchestratorTheme(getWfoStructuredSearchTableStyles);
12680
- const [fieldToOperatorMap, setFieldToOperatorMap] = useState34(prefilledFieldOptions2);
12681
- const [fieldPathInfoMap, setFieldPathInfoMap] = useState34(/* @__PURE__ */ new Map());
12682
- const latestRuleGroupRef = useRef13(queryBuilderRuleGroup);
12831
+ const [fieldToOperatorMap, setFieldToOperatorMap] = useState35(prefilledFieldOptions2);
12832
+ const [fieldPathInfoMap, setFieldPathInfoMap] = useState35(/* @__PURE__ */ new Map());
12833
+ const latestRuleGroupRef = useRef14(queryBuilderRuleGroup);
12683
12834
  latestRuleGroupRef.current = queryBuilderRuleGroup;
12684
12835
  const handleValueEditorEnter = () => {
12685
12836
  handleSearch({ ruleGroup: latestRuleGroupRef.current });
@@ -12694,6 +12845,20 @@ var WfoFilterBuilder = ({
12694
12845
  });
12695
12846
  }
12696
12847
  };
12848
+ const unresolvedFields = useMemo4(
12849
+ () => collectRuleFields(queryBuilderRuleGroup).filter(
12850
+ (field) => field && field !== "~" && !fieldPathInfoMap.has(field)
12851
+ ),
12852
+ [queryBuilderRuleGroup, fieldPathInfoMap]
12853
+ );
12854
+ const resolvedFieldsPathInfo = useFieldsPathInfo(unresolvedFields, "SUBSCRIPTION" /* SUBSCRIPTION */);
12855
+ useEffect24(() => {
12856
+ resolvedFieldsPathInfo.forEach((pathInfo, field) => {
12857
+ if (pathInfo && !fieldPathInfoMap.has(field)) {
12858
+ handleFieldSelected(field, pathInfo.operators, pathInfo);
12859
+ }
12860
+ });
12861
+ }, [fieldPathInfoMap, resolvedFieldsPathInfo]);
12697
12862
  return /* @__PURE__ */ jsx191(EuiFlexGroup21, { css: queryBuilderContainerStyles, children: /* @__PURE__ */ jsxs96(EuiFlexGroup21, { direction: "column", children: [
12698
12863
  /* @__PURE__ */ jsx191(EuiFlexItem21, { children: /* @__PURE__ */ jsx191(
12699
12864
  QueryBuilder,
@@ -12725,7 +12890,12 @@ var WfoFilterBuilder = ({
12725
12890
  addRuleAction: null,
12726
12891
  addGroupAction: null,
12727
12892
  removeGroupAction: null,
12728
- removeRuleAction: WfoRemoveRuleAction
12893
+ removeRuleAction: WfoRemoveRuleAction,
12894
+ // Field-to-field comparisons are not supported, but a rule can briefly hold
12895
+ // valueSource 'field' while a CEL literal is being typed in the textarea
12896
+ // ('lldp == fals' parses 'fals' as an identifier) — without this override
12897
+ // react-querybuilder's default value source selector flashes into the rule.
12898
+ valueSourceSelector: null
12729
12899
  },
12730
12900
  addRuleToNewGroups: true,
12731
12901
  onAddGroup: onAddGroupHandler,
@@ -12822,39 +12992,12 @@ var WfoSearchFieldWithActions = ({
12822
12992
  ] });
12823
12993
  };
12824
12994
 
12825
- // src/components/WfoTable/WfoStructuredSearchTable/utils.ts
12826
- import { parseCEL } from "react-querybuilder/parseCEL";
12827
- var parseCelToRuleGroup = (celString) => {
12828
- if (!celString) {
12829
- return void 0;
12830
- }
12831
- try {
12832
- const ruleGroup = parseCEL(celString);
12833
- return ruleGroup?.rules?.length > 0 ? ruleGroup : void 0;
12834
- } catch {
12835
- return void 0;
12836
- }
12837
- };
12838
- var buildColumnFilter = (field, searchText, currentFilter, getColumnSearchFieldName) => {
12839
- if (!searchText || searchText.includes('"')) {
12840
- return void 0;
12841
- }
12842
- const searchFieldName = getColumnSearchFieldName?.(field) ?? String(field);
12843
- const columnFilterCondition = `${searchFieldName} == "${searchText}"`;
12844
- const trimmedCurrentFilter = currentFilter?.trim();
12845
- const filterString = trimmedCurrentFilter ? `(${trimmedCurrentFilter}) && ${columnFilterCondition}` : columnFilterCondition;
12846
- const ruleGroup = parseCelToRuleGroup(filterString);
12847
- if (!ruleGroup) {
12848
- return void 0;
12849
- }
12850
- return { filterString, ruleGroup };
12851
- };
12852
-
12853
12995
  // src/components/WfoTable/WfoStructuredSearchTable/WfoStructuredSearchTable.tsx
12854
12996
  import { Fragment as Fragment38, jsx as jsx193, jsxs as jsxs98 } from "@emotion/react/jsx-runtime";
12855
12997
  var WfoStructuredSearchTable = ({
12856
12998
  tableColumnConfig,
12857
12999
  defaultHiddenColumns = [],
13000
+ defaultShowMatchDetails = false,
12858
13001
  queryText,
12859
13002
  localStorageKey,
12860
13003
  exportDataIsLoading,
@@ -12886,18 +13029,22 @@ var WfoStructuredSearchTable = ({
12886
13029
  }) => {
12887
13030
  const { theme } = useOrchestratorTheme();
12888
13031
  const { toggleButtonStyles } = useWithOrchestratorTheme(getWfoStructuredSearchTableStyles);
12889
- const [hiddenColumns, setHiddenColumns] = useState35(defaultHiddenColumns);
12890
- const [isFilterBuilderVisible, setIsFilterBuilderVisible] = useState35(false);
12891
- const [showTableSettingsModal, setShowTableSettingsModal] = useState35(false);
12892
- const [rowDetailModalData, setRowDetailModalData] = useState35(void 0);
12893
- const [showInformationModal, setShowInformationModal] = useState35(false);
13032
+ const [hiddenColumns, setHiddenColumns] = useState36(defaultHiddenColumns);
13033
+ const [isFilterBuilderVisible, setIsFilterBuilderVisible] = useState36(false);
13034
+ const [showTableSettingsModal, setShowTableSettingsModal] = useState36(false);
13035
+ const [rowDetailModalData, setRowDetailModalData] = useState36(void 0);
13036
+ const [showInformationModal, setShowInformationModal] = useState36(false);
13037
+ const [showMatchDetails, setShowMatchDetails] = useState36(defaultShowMatchDetails);
12894
13038
  const t = useTranslations49("common");
12895
- useEffect24(() => {
13039
+ useEffect25(() => {
12896
13040
  if (defaultHiddenColumns) {
12897
13041
  setHiddenColumns(defaultHiddenColumns);
12898
13042
  }
12899
13043
  }, [defaultHiddenColumns]);
12900
- useEffect24(() => {
13044
+ useEffect25(() => {
13045
+ setShowMatchDetails(defaultShowMatchDetails);
13046
+ }, [defaultShowMatchDetails]);
13047
+ useEffect25(() => {
12901
13048
  if (filterString) {
12902
13049
  setIsFilterBuilderVisible(true);
12903
13050
  }
@@ -12922,13 +13069,23 @@ var WfoStructuredSearchTable = ({
12922
13069
  setPageSize(updatedTableConfig.selectedPageSize);
12923
13070
  setTableConfigToLocalStorage(localStorageKey, {
12924
13071
  hiddenColumns: updatedHiddenColumns,
12925
- selectedPageSize: updatedTableConfig.selectedPageSize
13072
+ selectedPageSize: updatedTableConfig.selectedPageSize,
13073
+ showMatchDetails
13074
+ });
13075
+ };
13076
+ const handleToggleShowMatchDetails = (checked) => {
13077
+ setShowMatchDetails(checked);
13078
+ setTableConfigToLocalStorage(localStorageKey, {
13079
+ hiddenColumns,
13080
+ selectedPageSize: pageSize ?? DEFAULT_PAGE_SIZE,
13081
+ showMatchDetails: checked
12926
13082
  });
12927
13083
  };
12928
13084
  const handleResetToDefaults = () => {
12929
13085
  const defaultTableConfig = getDefaultTableConfig(localStorageKey);
12930
13086
  setHiddenColumns(defaultTableConfig.hiddenColumns);
12931
13087
  setPageSize(defaultTableConfig.selectedPageSize);
13088
+ setShowMatchDetails(defaultTableConfig.showMatchDetails ?? false);
12932
13089
  setShowTableSettingsModal(false);
12933
13090
  clearTableConfigFromLocalStorage(localStorageKey);
12934
13091
  };
@@ -12992,6 +13149,7 @@ var WfoStructuredSearchTable = ({
12992
13149
  columnConfig: tableColumnsWithControlColumns,
12993
13150
  hiddenColumns,
12994
13151
  rowExpandingConfiguration,
13152
+ showExpandedRows: showMatchDetails,
12995
13153
  onUpdateDataSorting,
12996
13154
  onUpdateDataSearch: handleColumnFilterSearch,
12997
13155
  dataSorting,
@@ -13016,6 +13174,16 @@ var WfoStructuredSearchTable = ({
13016
13174
  onUpdateTableConfig: handleUpdateTableConfig,
13017
13175
  onResetToDefaults: handleResetToDefaults,
13018
13176
  extraSettings: /* @__PURE__ */ jsxs98(Fragment38, { children: [
13177
+ /* @__PURE__ */ jsx193(EuiFormRow7, { label: t("showMatchDetails"), display: "columnCompressed", children: /* @__PURE__ */ jsx193(
13178
+ EuiSwitch4,
13179
+ {
13180
+ showLabel: false,
13181
+ label: t("showMatchDetails"),
13182
+ checked: showMatchDetails,
13183
+ onChange: (event) => handleToggleShowMatchDetails(event.target.checked),
13184
+ compressed: true
13185
+ }
13186
+ ) }),
13019
13187
  /* @__PURE__ */ jsx193(EuiFormRow7, { label: t("retrieval"), display: "columnCompressed", children: /* @__PURE__ */ jsx193(
13020
13188
  EuiSelect3,
13021
13189
  {
@@ -13043,7 +13211,7 @@ var WfoStructuredSearchTable = ({
13043
13211
  };
13044
13212
 
13045
13213
  // src/components/WfoSearchPage/WfoSearchResults/WfoHighlightedText.tsx
13046
- import { useMemo as useMemo4 } from "react";
13214
+ import { useMemo as useMemo5 } from "react";
13047
13215
  import { css as css32 } from "@emotion/react";
13048
13216
  import { Fragment as Fragment39, jsx as jsx194 } from "@emotion/react/jsx-runtime";
13049
13217
  var WfoHighlightedText = ({ text, highlight_indices }) => {
@@ -13056,7 +13224,7 @@ var WfoHighlightedText = ({ text, highlight_indices }) => {
13056
13224
  font-weight: ${theme.font.weight.bold};
13057
13225
  border-radius: ${theme.size.xs};
13058
13226
  `;
13059
- const highlightedParts = useMemo4(() => {
13227
+ const highlightedParts = useMemo5(() => {
13060
13228
  if (!highlight_indices || highlight_indices.length === 0) {
13061
13229
  return text;
13062
13230
  }
@@ -13157,7 +13325,7 @@ var getTimelineStyles = ({ theme }) => {
13157
13325
  paddingLeft: theme.font.baseline * 4,
13158
13326
  paddingRight: theme.font.baseline * 4,
13159
13327
  position: "sticky",
13160
- top: timelineOutlineWidthPx,
13328
+ top: theme.base / 4,
13161
13329
  zIndex: 2,
13162
13330
  // Some EUI components have a zIndex
13163
13331
  display: "flex",
@@ -13385,12 +13553,12 @@ var WfoIsAllowedToRender = ({ resource, children }) => {
13385
13553
  };
13386
13554
 
13387
13555
  // src/components/WfoDropdownButton/WfoDropdownButton.tsx
13388
- import { useState as useState36 } from "react";
13556
+ import { useState as useState37 } from "react";
13389
13557
  import { EuiButtonGroup as EuiButtonGroup3, EuiPopover as EuiPopover6 } from "@elastic/eui";
13390
13558
  import { jsx as jsx204 } from "@emotion/react/jsx-runtime";
13391
13559
  var WfoDropdownButton = ({ label, isDisabled = false, children }) => {
13392
- const [isHovered, setIsHovered] = useState36(false);
13393
- const [isPopoverOpen, setPopoverOpen] = useState36(false);
13560
+ const [isHovered, setIsHovered] = useState37(false);
13561
+ const [isPopoverOpen, setPopoverOpen] = useState37(false);
13394
13562
  const buttonOptions = [
13395
13563
  {
13396
13564
  id: "id_1",
@@ -13448,7 +13616,7 @@ import Link14 from "next/link";
13448
13616
  import { useRouter as useRouter17 } from "next/router";
13449
13617
 
13450
13618
  // src/pages/metadata/WfoProductBlocksPage.tsx
13451
- import { useEffect as useEffect25, useState as useState37 } from "react";
13619
+ import { useEffect as useEffect26, useState as useState38 } from "react";
13452
13620
  import { useTranslations as useTranslations52 } from "next-intl";
13453
13621
  import { EuiBadgeGroup as EuiBadgeGroup2 } from "@elastic/eui";
13454
13622
 
@@ -13514,12 +13682,12 @@ var WfoProductBlocksPage = () => {
13514
13682
  const t = useTranslations52("metadata.productBlocks");
13515
13683
  const tError = useTranslations52("errors");
13516
13684
  const { showToastMessage } = useShowToastMessage();
13517
- const [tableDefaults, setTableDefaults] = useState37();
13685
+ const [tableDefaults, setTableDefaults] = useState38();
13518
13686
  const getStoredTableConfig = useStoredTableConfig(
13519
13687
  METADATA_PRODUCT_BLOCKS_TABLE_LOCAL_STORAGE_KEY
13520
13688
  );
13521
13689
  const [updateProductBlock] = useUpdateProductBlockMutation();
13522
- useEffect25(() => {
13690
+ useEffect26(() => {
13523
13691
  const storedConfig = getStoredTableConfig();
13524
13692
  if (storedConfig) {
13525
13693
  setTableDefaults(storedConfig);
@@ -13704,7 +13872,7 @@ var WfoProductBlocksPage = () => {
13704
13872
  };
13705
13873
 
13706
13874
  // src/pages/metadata/WfoResourceTypesPage.tsx
13707
- import { useEffect as useEffect26, useState as useState38 } from "react";
13875
+ import { useEffect as useEffect27, useState as useState39 } from "react";
13708
13876
  import { useTranslations as useTranslations53 } from "next-intl";
13709
13877
  import { EuiBadgeGroup as EuiBadgeGroup3 } from "@elastic/eui";
13710
13878
  import { Fragment as Fragment44, jsx as jsx208, jsxs as jsxs102 } from "@emotion/react/jsx-runtime";
@@ -13713,12 +13881,12 @@ var WfoResourceTypesPage = () => {
13713
13881
  const t = useTranslations53("metadata.resourceTypes");
13714
13882
  const tError = useTranslations53("errors");
13715
13883
  const { showToastMessage } = useShowToastMessage();
13716
- const [tableDefaults, setTableDefaults] = useState38();
13884
+ const [tableDefaults, setTableDefaults] = useState39();
13717
13885
  const getStoredTableConfig = useStoredTableConfig(
13718
13886
  METADATA_RESOURCE_TYPES_TABLE_LOCAL_STORAGE_KEY
13719
13887
  );
13720
13888
  const [updateResourceType] = useUpdateResourceTypeMutation();
13721
- useEffect26(() => {
13889
+ useEffect27(() => {
13722
13890
  const storedConfig = getStoredTableConfig();
13723
13891
  if (storedConfig) {
13724
13892
  setTableDefaults(storedConfig);
@@ -13854,11 +14022,11 @@ var WfoResourceTypesPage = () => {
13854
14022
  };
13855
14023
 
13856
14024
  // src/pages/metadata/WfoProductsPage.tsx
13857
- import { useEffect as useEffect27, useState as useState40 } from "react";
14025
+ import { useEffect as useEffect28, useState as useState41 } from "react";
13858
14026
  import { useTranslations as useTranslations54 } from "next-intl";
13859
14027
 
13860
14028
  // src/components/WfoMetadata/WfoMetadataStatusField.tsx
13861
- import { useState as useState39 } from "react";
14029
+ import { useState as useState40 } from "react";
13862
14030
  import { EuiButtonEmpty as EuiButtonEmpty6 } from "@elastic/eui";
13863
14031
 
13864
14032
  // src/components/WfoPopover/WfoPopover.tsx
@@ -13882,7 +14050,7 @@ var WfoPopover = ({ id, isLoading, PopoverContent, button, isPopoverOpen, closeP
13882
14050
  // src/components/WfoMetadata/WfoMetadataStatusField.tsx
13883
14051
  import { jsx as jsx210 } from "@emotion/react/jsx-runtime";
13884
14052
  var WfoMetadataStatusField = ({ onSave, currentStatus }) => {
13885
- const [isPopoverOpen, setPopover] = useState39(false);
14053
+ const [isPopoverOpen, setPopover] = useState40(false);
13886
14054
  const onButtonClick = () => setPopover(!isPopoverOpen);
13887
14055
  const button = /* @__PURE__ */ jsx210(EuiButtonEmpty6, { iconType: "arrowDown", iconSide: "right", onClick: onButtonClick, color: "text", children: /* @__PURE__ */ jsx210(WfoProductStatusBadge, { status: currentStatus }) });
13888
14056
  const wrappedButton = /* @__PURE__ */ jsx210(
@@ -13926,11 +14094,11 @@ var WfoProductsPage = () => {
13926
14094
  const t = useTranslations54("metadata.products");
13927
14095
  const tError = useTranslations54("errors");
13928
14096
  const { showToastMessage } = useShowToastMessage();
13929
- const [tableDefaults, setTableDefaults] = useState40();
14097
+ const [tableDefaults, setTableDefaults] = useState41();
13930
14098
  const getStoredTableConfig = useStoredTableConfig(METADATA_PRODUCT_TABLE_LOCAL_STORAGE_KEY);
13931
14099
  const [updateProductDescription] = useUpdateProductDescriptionMutation();
13932
14100
  const [updateProductStatus] = useUpdateProductStatusMutation();
13933
- useEffect27(() => {
14101
+ useEffect28(() => {
13934
14102
  const storedConfig = getStoredTableConfig();
13935
14103
  if (storedConfig) {
13936
14104
  setTableDefaults(storedConfig);
@@ -14108,7 +14276,7 @@ var WfoProductsPage = () => {
14108
14276
  };
14109
14277
 
14110
14278
  // src/pages/metadata/WfoWorkflowsPage.tsx
14111
- import { useEffect as useEffect28, useState as useState41 } from "react";
14279
+ import { useEffect as useEffect29, useState as useState42 } from "react";
14112
14280
  import { useTranslations as useTranslations55 } from "next-intl";
14113
14281
  import { EuiBadgeGroup as EuiBadgeGroup4 } from "@elastic/eui";
14114
14282
 
@@ -14144,10 +14312,10 @@ var WfoWorkflowsPage = () => {
14144
14312
  const t = useTranslations55("metadata.workflows");
14145
14313
  const tError = useTranslations55("errors");
14146
14314
  const { showToastMessage } = useShowToastMessage();
14147
- const [tableDefaults, setTableDefaults] = useState41();
14315
+ const [tableDefaults, setTableDefaults] = useState42();
14148
14316
  const getStoredTableConfig = useStoredTableConfig(METADATA_WORKFLOWS_TABLE_LOCAL_STORAGE_KEY);
14149
14317
  const [updateWorkflow] = useUpdateWorkflowMutation();
14150
- useEffect28(() => {
14318
+ useEffect29(() => {
14151
14319
  const storedConfig = getStoredTableConfig();
14152
14320
  if (storedConfig) {
14153
14321
  setTableDefaults(storedConfig);
@@ -14302,7 +14470,7 @@ var WfoWorkflowsPage = () => {
14302
14470
  };
14303
14471
 
14304
14472
  // src/pages/metadata/WfoTasksPage.tsx
14305
- import { useEffect as useEffect29, useState as useState42 } from "react";
14473
+ import { useEffect as useEffect30, useState as useState43 } from "react";
14306
14474
  import { useTranslations as useTranslations56 } from "next-intl";
14307
14475
  import { useRouter as useRouter8 } from "next/router";
14308
14476
  import { EuiBadgeGroup as EuiBadgeGroup5, EuiButtonIcon as EuiButtonIcon13, EuiContextMenuItem as EuiContextMenuItem3 } from "@elastic/eui";
@@ -14339,7 +14507,7 @@ var graphQlTaskListMapper = ({ field, order }) => ({
14339
14507
  // src/pages/metadata/WfoTasksPage.tsx
14340
14508
  import { Fragment as Fragment47, jsx as jsx213, jsxs as jsxs105 } from "@emotion/react/jsx-runtime";
14341
14509
  var ScheduleTaskPopoverMenu = ({ workflowId }) => {
14342
- const [isPopoverOpen, setIsPopoverOpen] = useState42(false);
14510
+ const [isPopoverOpen, setIsPopoverOpen] = useState43(false);
14343
14511
  const button = /* @__PURE__ */ jsx213(
14344
14512
  EuiButtonIcon13,
14345
14513
  {
@@ -14383,10 +14551,10 @@ var WfoTasksPage = () => {
14383
14551
  const t = useTranslations56("metadata.tasks");
14384
14552
  const tError = useTranslations56("errors");
14385
14553
  const { showToastMessage } = useShowToastMessage();
14386
- const [tableDefaults, setTableDefaults] = useState42();
14554
+ const [tableDefaults, setTableDefaults] = useState43();
14387
14555
  const getStoredTableConfig = useStoredTableConfig(METADATA_TASKS_TABLE_LOCAL_STORAGE_KEY);
14388
14556
  const [updateWorkflow] = useUpdateWorkflowMutation();
14389
- useEffect29(() => {
14557
+ useEffect30(() => {
14390
14558
  const storedConfig = getStoredTableConfig();
14391
14559
  if (storedConfig) {
14392
14560
  setTableDefaults(storedConfig);
@@ -14555,7 +14723,7 @@ var WfoTasksPage = () => {
14555
14723
  };
14556
14724
 
14557
14725
  // src/pages/metadata/WfoScheduledTasksPage.tsx
14558
- import { useEffect as useEffect30, useState as useState43 } from "react";
14726
+ import { useEffect as useEffect31, useState as useState44 } from "react";
14559
14727
  import { useTranslations as useTranslations57 } from "next-intl";
14560
14728
  import { useRouter as useRouter9 } from "next/router";
14561
14729
  import { EuiButton as EuiButton12, EuiFlexGroup as EuiFlexGroup23, EuiFlexItem as EuiFlexItem24 } from "@elastic/eui";
@@ -14570,14 +14738,14 @@ var WfoScheduledTasksPage = () => {
14570
14738
  const tError = useTranslations57("errors");
14571
14739
  const { showToastMessage } = useShowToastMessage();
14572
14740
  const router = useRouter9();
14573
- const [tableDefaults, setTableDefaults] = useState43();
14741
+ const [tableDefaults, setTableDefaults] = useState44();
14574
14742
  const [deleteScheduledTask, mutationState] = useDeleteScheduledTaskMutation();
14575
14743
  const getStoredTableConfig = useStoredTableConfig(METADATA_SCHEDULES_LOCAL_STORAGE_KEY);
14576
14744
  if (mutationState.isError) {
14577
14745
  showToastMessage("ERROR" /* ERROR */, "", tError("failedDeletingScheduledTask"));
14578
14746
  console.error("Failed to delete scheduled task.", mutationState.error);
14579
14747
  }
14580
- useEffect30(() => {
14748
+ useEffect31(() => {
14581
14749
  const storedConfig = getStoredTableConfig();
14582
14750
  if (storedConfig) {
14583
14751
  setTableDefaults(storedConfig);
@@ -14708,13 +14876,13 @@ var WfoScheduledTasksPage = () => {
14708
14876
  };
14709
14877
 
14710
14878
  // src/pages/metadata/WfoScheduleTaskFormPage.tsx
14711
- import { useCallback as useCallback8, useMemo as useMemo5 } from "react";
14879
+ import { useCallback as useCallback8, useMemo as useMemo6 } from "react";
14712
14880
  import _5 from "lodash";
14713
14881
  import { useRouter as useRouter10 } from "next/router";
14714
14882
  import { PydanticForm as PydanticForm2 } from "pydantic-forms";
14715
14883
 
14716
14884
  // src/components/WfoPydanticForm/Footer.tsx
14717
- import { useCallback as useCallback7, useContext as useContext8, useEffect as useEffect31 } from "react";
14885
+ import { useCallback as useCallback7, useContext as useContext8, useEffect as useEffect32 } from "react";
14718
14886
  import { useTranslations as useTranslations59 } from "next-intl";
14719
14887
  import { EuiButton as EuiButton13, EuiFlexGroup as EuiFlexGroup24, EuiHorizontalRule as EuiHorizontalRule5 } from "@elastic/eui";
14720
14888
 
@@ -14758,7 +14926,7 @@ var Footer = ({ onCancel, onPrevious, hasNext, hasPrevious, isTask = false, butt
14758
14926
  }
14759
14927
  }, [onCancel, showConfirmDialog, t]);
14760
14928
  const { next, previous } = buttons || {};
14761
- useEffect31(() => {
14929
+ useEffect32(() => {
14762
14930
  const handleKeyDown = (event) => {
14763
14931
  const isPrimary = event.metaKey || event.ctrlKey;
14764
14932
  if (isPrimary && event.key === "ArrowLeft") {
@@ -14862,7 +15030,7 @@ import { jsx as jsx217 } from "@emotion/react/jsx-runtime";
14862
15030
  var START_SCHEDULE_PAYLOAD = {};
14863
15031
  var WfoScheduleTaskFormPage = () => {
14864
15032
  const { showToastMessage } = useShowToastMessage();
14865
- const generateFormId = useMemo5(() => {
15033
+ const generateFormId = useMemo6(() => {
14866
15034
  return `${JSON.stringify(START_SCHEDULE_PAYLOAD)}`;
14867
15035
  }, []);
14868
15036
  const [startForm] = useStartFormMutation();
@@ -15004,10 +15172,10 @@ var WfoProcessListSubscriptionsCell = ({
15004
15172
  };
15005
15173
 
15006
15174
  // src/pages/processes/WfoProcessDetailPage.tsx
15007
- import { useRef as useRef15 } from "react";
15175
+ import { useRef as useRef16 } from "react";
15008
15176
 
15009
15177
  // src/pages/processes/WfoProcessDetail.tsx
15010
- import { useContext as useContext9, useEffect as useEffect32, useRef as useRef14 } from "react";
15178
+ import { useContext as useContext9, useEffect as useEffect33, useRef as useRef15 } from "react";
15011
15179
  import { useTranslations as useTranslations61 } from "next-intl";
15012
15180
  import { useRouter as useRouter11 } from "next/router";
15013
15181
  import { EuiButton as EuiButton14, EuiFlexGroup as EuiFlexGroup26, EuiPanel as EuiPanel3, EuiSpacer as EuiSpacer21, EuiText as EuiText19 } from "@elastic/eui";
@@ -15110,8 +15278,8 @@ var ProcessHeaderValue = ({ translationKey, value = "" }) => {
15110
15278
  );
15111
15279
  };
15112
15280
  function useHasPreviousRoute() {
15113
- const hasPrev = useRef14(false);
15114
- useEffect32(() => {
15281
+ const hasPrev = useRef15(false);
15282
+ useEffect33(() => {
15115
15283
  if (document.referrer && document.referrer !== window.location.href) {
15116
15284
  hasPrev.current = true;
15117
15285
  }
@@ -15310,7 +15478,7 @@ var WfoProcessDetail = ({
15310
15478
  // src/pages/processes/WfoProcessDetailPage.tsx
15311
15479
  import { jsx as jsx220 } from "@emotion/react/jsx-runtime";
15312
15480
  var WfoProcessDetailPage = ({ processId }) => {
15313
- const stepListRef = useRef15(null);
15481
+ const stepListRef = useRef16(null);
15314
15482
  const { data, isLoading, isError } = useGetProcessDetailQuery({
15315
15483
  processId
15316
15484
  });
@@ -15360,20 +15528,20 @@ var WfoProcessDetailPage = ({ processId }) => {
15360
15528
  };
15361
15529
 
15362
15530
  // src/pages/processes/WfoStartProcessPage.tsx
15363
- import { useMemo as useMemo9, useState as useState49 } from "react";
15531
+ import { useMemo as useMemo10, useState as useState50 } from "react";
15364
15532
  import { useTranslations as useTranslations70 } from "next-intl";
15365
15533
  import { useRouter as useRouter13 } from "next/router";
15366
15534
  import { EuiFlexGroup as EuiFlexGroup30, EuiFlexItem as EuiFlexItem29, EuiHorizontalRule as EuiHorizontalRule7, EuiPanel as EuiPanel5, EuiText as EuiText25 } from "@elastic/eui";
15367
15535
 
15368
15536
  // src/components/WfoPydanticForm/WfoPydanticForm.tsx
15369
- import { useCallback as useCallback9, useMemo as useMemo6 } from "react";
15537
+ import { useCallback as useCallback9, useMemo as useMemo7 } from "react";
15370
15538
  import _6 from "lodash";
15371
15539
  import { useTranslations as useTranslations62 } from "next-intl";
15372
15540
  import { useRouter as useRouter12 } from "next/router";
15373
15541
  import { PydanticForm as PydanticForm3 } from "pydantic-forms";
15374
15542
  import { jsx as jsx221 } from "@emotion/react/jsx-runtime";
15375
15543
  var WfoPydanticForm = ({ processName, startProcessPayload, isTask }) => {
15376
- const generateFormId = useMemo6(() => {
15544
+ const generateFormId = useMemo7(() => {
15377
15545
  return `${JSON.stringify(startProcessPayload)}`;
15378
15546
  }, [startProcessPayload]);
15379
15547
  const [startProcess] = useStartProcessMutation();
@@ -15462,7 +15630,7 @@ var WfoPydanticForm = ({ processName, startProcessPayload, isTask }) => {
15462
15630
  };
15463
15631
 
15464
15632
  // src/components/WfoWorkflowSteps/WfoStep/WfoStep.tsx
15465
- import React72, { useCallback as useCallback12, useState as useState45 } from "react";
15633
+ import React72, { useCallback as useCallback12, useState as useState46 } from "react";
15466
15634
  import { useTranslations as useTranslations65 } from "next-intl";
15467
15635
  import { EuiFlexGroup as EuiFlexGroup27, EuiFlexItem as EuiFlexItem27, EuiPanel as EuiPanel4, EuiText as EuiText20 } from "@elastic/eui";
15468
15636
 
@@ -15648,7 +15816,7 @@ var getStepContent = (stepDelta, showHiddenKeys) => {
15648
15816
  };
15649
15817
 
15650
15818
  // src/components/WfoWorkflowSteps/WfoStep/WfoCodeViewSelector.tsx
15651
- import { useCallback as useCallback10, useState as useState44 } from "react";
15819
+ import { useCallback as useCallback10, useState as useState45 } from "react";
15652
15820
  import { useTranslations as useTranslations63 } from "next-intl";
15653
15821
  import { EuiButtonGroup as EuiButtonGroup4 } from "@elastic/eui";
15654
15822
  import { jsx as jsx223 } from "@emotion/react/jsx-runtime";
@@ -15656,7 +15824,7 @@ var WfoCodeViewSelector = ({ codeView, handleCodeViewChange }) => {
15656
15824
  const t = useTranslations63("processes.steps");
15657
15825
  const { theme, toSecondaryColor } = useOrchestratorTheme();
15658
15826
  const isSelected = (buttonView) => buttonView === codeView;
15659
- const [showTooltips, setShowTooltips] = useState44(true);
15827
+ const [showTooltips, setShowTooltips] = useState45(true);
15660
15828
  const codeViewOptions = [
15661
15829
  {
15662
15830
  id: "json" /* JSON */,
@@ -15714,7 +15882,7 @@ var WfoCodeViewSelector = ({ codeView, handleCodeViewChange }) => {
15714
15882
  };
15715
15883
 
15716
15884
  // src/components/WfoWorkflowSteps/WfoStep/WfoStepForm.tsx
15717
- import { useCallback as useCallback11, useMemo as useMemo7 } from "react";
15885
+ import { useCallback as useCallback11, useMemo as useMemo8 } from "react";
15718
15886
  import { PydanticForm as PydanticForm4 } from "pydantic-forms";
15719
15887
  import { EuiFlexItem as EuiFlexItem26 } from "@elastic/eui";
15720
15888
 
@@ -15755,7 +15923,7 @@ import { jsx as jsx225 } from "@emotion/react/jsx-runtime";
15755
15923
  var WfoStepForm = ({ userInputForm, isTask, processId, userPermissions }) => {
15756
15924
  const { theme } = useOrchestratorTheme();
15757
15925
  const [resumeProcess] = useResumeProcessMutation();
15758
- const getInitialStepInput = useMemo7(() => userInputForm, [userInputForm]);
15926
+ const getInitialStepInput = useMemo8(() => userInputForm, [userInputForm]);
15759
15927
  const getStepFormProvider = useCallback11(
15760
15928
  () => async ({ requestBody = [] }) => {
15761
15929
  if (requestBody.length === 0) {
@@ -15808,7 +15976,7 @@ var WfoStep = React72.forwardRef(
15808
15976
  userPermissions
15809
15977
  }, ref) => {
15810
15978
  const { isExpanded, step, userInputForm } = stepListItem;
15811
- const [codeView, setCodeView] = useState45("json" /* JSON */);
15979
+ const [codeView, setCodeView] = useState46("json" /* JSON */);
15812
15980
  const { theme } = useOrchestratorTheme();
15813
15981
  const {
15814
15982
  stepEmailContainerStyle,
@@ -15904,7 +16072,7 @@ var WfoStep = React72.forwardRef(
15904
16072
  WfoStep.displayName = "WfoStep";
15905
16073
 
15906
16074
  // src/components/WfoWorkflowSteps/WfoStepList/WfoStepList.tsx
15907
- import React73, { useImperativeHandle as useImperativeHandle2, useRef as useRef16 } from "react";
16075
+ import React73, { useImperativeHandle as useImperativeHandle2, useRef as useRef17 } from "react";
15908
16076
  import { Fragment as Fragment52, jsx as jsx227, jsxs as jsxs114 } from "@emotion/react/jsx-runtime";
15909
16077
  var WfoStepList = React73.forwardRef(
15910
16078
  ({
@@ -15921,7 +16089,7 @@ var WfoStepList = React73.forwardRef(
15921
16089
  const { TIMELINE_HEIGHT, TIMELINE_OUTLINE_WIDTH } = useWithOrchestratorTheme(getTimelineStyles);
15922
16090
  const { SPACE_BETWEEN_STEPS, stepSpacerStyle } = useWithOrchestratorTheme(getWorkflowStepsStyles);
15923
16091
  const scrollOffset = NAVIGATION_HEIGHT + TIMELINE_HEIGHT + TIMELINE_OUTLINE_WIDTH + SPACE_BETWEEN_STEPS;
15924
- const stepReferences = useRef16(/* @__PURE__ */ new Map());
16092
+ const stepReferences = useRef17(/* @__PURE__ */ new Map());
15925
16093
  const { contentRef } = useContentRef();
15926
16094
  useImperativeHandle2(reference, () => ({
15927
16095
  scrollToStep: async (stepId) => {
@@ -15977,11 +16145,11 @@ var WfoStepList = React73.forwardRef(
15977
16145
  WfoStepList.displayName = "WfoStepList";
15978
16146
 
15979
16147
  // src/components/WfoWorkflowSteps/WfoWorkflowStepList/WfoWorkflowStepList.tsx
15980
- import React75, { useEffect as useEffect34, useState as useState47 } from "react";
16148
+ import React75, { useEffect as useEffect35, useState as useState48 } from "react";
15981
16149
  import { useTranslations as useTranslations68 } from "next-intl";
15982
16150
 
15983
16151
  // src/components/WfoDiff/WfoDiff.tsx
15984
- import { useCallback as useCallback13, useEffect as useEffect33, useMemo as useMemo8, useState as useState46 } from "react";
16152
+ import { useCallback as useCallback13, useEffect as useEffect34, useMemo as useMemo9, useState as useState47 } from "react";
15985
16153
  import { Diff, Hunk, parseDiff, tokenize } from "react-diff-view";
15986
16154
  import "react-diff-view/style/index.css";
15987
16155
  import { useTranslations as useTranslations66 } from "next-intl";
@@ -16040,10 +16208,10 @@ var getSubscriptionDiffTexts = (data) => {
16040
16208
  };
16041
16209
  var WfoDiff = ({ oldText, newText, syntax }) => {
16042
16210
  const t = useTranslations66("processes.delta");
16043
- const [showSplit, setShowSplit] = useState46(true);
16044
- const [showFull, setShowFull] = useState46(false);
16211
+ const [showSplit, setShowSplit] = useState47(true);
16212
+ const [showFull, setShowFull] = useState47(false);
16045
16213
  const { diffStyle } = useWithOrchestratorTheme(getWfoDiffStyles);
16046
- const [{ type, hunks }, setDiff] = useState46({
16214
+ const [{ type, hunks }, setDiff] = useState47({
16047
16215
  type: "modify",
16048
16216
  hunks: []
16049
16217
  });
@@ -16054,7 +16222,7 @@ var WfoDiff = ({ oldText, newText, syntax }) => {
16054
16222
  const [diff] = parseDiff(diffText, { nearbySequences: "zip" });
16055
16223
  setDiff(diff);
16056
16224
  }, [oldText, newText, setDiff, showFull]);
16057
- const tokens = useMemo8(() => {
16225
+ const tokens = useMemo9(() => {
16058
16226
  if (!hunks) {
16059
16227
  return void 0;
16060
16228
  }
@@ -16069,7 +16237,7 @@ var WfoDiff = ({ oldText, newText, syntax }) => {
16069
16237
  return void 0;
16070
16238
  }
16071
16239
  }, [hunks, syntax]);
16072
- useEffect33(() => {
16240
+ useEffect34(() => {
16073
16241
  updateDiffText();
16074
16242
  }, [updateDiffText, showFull]);
16075
16243
  return /* @__PURE__ */ jsxs115("div", { children: [
@@ -16160,16 +16328,16 @@ var WfoWorkflowStepList = React75.forwardRef(
16160
16328
  userInputForm,
16161
16329
  userPermissions
16162
16330
  }, reference) => {
16163
- const [showHiddenKeys, setShowHiddenKeys] = useState47(false);
16164
- const [showRaw, setShowRaw] = useState47(false);
16165
- const [showDelta, setShowDelta] = useState47(false);
16166
- const [showTraceback, setShowTraceback] = useState47(false);
16331
+ const [showHiddenKeys, setShowHiddenKeys] = useState48(false);
16332
+ const [showRaw, setShowRaw] = useState48(false);
16333
+ const [showDelta, setShowDelta] = useState48(false);
16334
+ const [showTraceback, setShowTraceback] = useState48(false);
16167
16335
  const t = useTranslations68("processes.steps");
16168
16336
  const initialStepListItems = steps.map((step) => ({
16169
16337
  step,
16170
16338
  isExpanded: false
16171
16339
  }));
16172
- const [stepListItems, setStepListItems] = useState47(initialStepListItems);
16340
+ const [stepListItems, setStepListItems] = useState48(initialStepListItems);
16173
16341
  const persistStepListItemState = (previousStepListItems, updatedSteps, userInputForm2) => {
16174
16342
  const reversedSteps = [...updatedSteps].reverse();
16175
16343
  const lastStepWithSuspendStatusStepId = reversedSteps.find((step) => step.status === "suspend" /* SUSPEND */)?.stepId;
@@ -16184,7 +16352,7 @@ var WfoWorkflowStepList = React75.forwardRef(
16184
16352
  };
16185
16353
  });
16186
16354
  };
16187
- useEffect34(() => {
16355
+ useEffect35(() => {
16188
16356
  setStepListItems(
16189
16357
  (previousStepListItems) => persistStepListItemState(previousStepListItems, steps, userInputForm)
16190
16358
  );
@@ -16254,9 +16422,9 @@ var WfoWorkflowStepList = React75.forwardRef(
16254
16422
  WfoWorkflowStepList.displayName = "WfoWorkflowStepList";
16255
16423
 
16256
16424
  // src/components/WfoWorkflowSteps/WfoWorkflowStepList/WfoStepListHeader.tsx
16257
- import { useState as useState48 } from "react";
16425
+ import { useState as useState49 } from "react";
16258
16426
  import { useTranslations as useTranslations69 } from "next-intl";
16259
- import { EuiButton as EuiButton16, EuiFlexGroup as EuiFlexGroup29, EuiForm as EuiForm3, EuiFormRow as EuiFormRow8, EuiPopover as EuiPopover8, EuiSwitch as EuiSwitch3, EuiText as EuiText24 } from "@elastic/eui";
16427
+ import { EuiButton as EuiButton16, EuiFlexGroup as EuiFlexGroup29, EuiForm as EuiForm3, EuiFormRow as EuiFormRow8, EuiPopover as EuiPopover8, EuiSwitch as EuiSwitch5, EuiText as EuiText24 } from "@elastic/eui";
16260
16428
 
16261
16429
  // src/components/WfoTextAnchor/WfoTextAnchor.tsx
16262
16430
  import { EuiText as EuiText23 } from "@elastic/eui";
@@ -16304,7 +16472,7 @@ var WfoStepListHeader = ({
16304
16472
  const t = useTranslations69("processes.steps");
16305
16473
  const { theme } = useOrchestratorTheme();
16306
16474
  const { stepListHeaderStyle, stepListContentStyle, stepListContentBoldTextStyle, stepListOptionsContainerStyle } = useWithOrchestratorTheme(getWorkflowStepsStyles);
16307
- const [isViewOptionOpen, setIsViewOptionOpen] = useState48(false);
16475
+ const [isViewOptionOpen, setIsViewOptionOpen] = useState49(false);
16308
16476
  const onViewOptionClick = () => setIsViewOptionOpen((isViewOptionOpen2) => !isViewOptionOpen2);
16309
16477
  const closeViewOption = () => setIsViewOptionOpen(false);
16310
16478
  const viewOptionButton = /* @__PURE__ */ jsx232(
@@ -16337,7 +16505,7 @@ var WfoStepListHeader = ({
16337
16505
  ),
16338
16506
  /* @__PURE__ */ jsx232(EuiPopover8, { button: viewOptionButton, isOpen: isViewOptionOpen, closePopover: closeViewOption, display: "block", children: /* @__PURE__ */ jsx232("div", { children: /* @__PURE__ */ jsxs118(EuiForm3, { component: "form", children: [
16339
16507
  /* @__PURE__ */ jsx232(EuiFormRow8, { children: /* @__PURE__ */ jsx232(
16340
- EuiSwitch3,
16508
+ EuiSwitch5,
16341
16509
  {
16342
16510
  label: "Hidden keys",
16343
16511
  checked: showHiddenKeys,
@@ -16348,7 +16516,7 @@ var WfoStepListHeader = ({
16348
16516
  }
16349
16517
  ) }),
16350
16518
  /* @__PURE__ */ jsx232(EuiFormRow8, { children: /* @__PURE__ */ jsx232(
16351
- EuiSwitch3,
16519
+ EuiSwitch5,
16352
16520
  {
16353
16521
  label: "Raw JSON data",
16354
16522
  checked: showRaw,
@@ -16383,7 +16551,7 @@ var getInitialProcessPayload = ({
16383
16551
  var WfoStartProcessPage = ({ processName, isTask = false }) => {
16384
16552
  const t = useTranslations70("processes.steps");
16385
16553
  const router = useRouter13();
16386
- const [hasError, setHasError] = useState49(false);
16554
+ const [hasError, setHasError] = useState50(false);
16387
16555
  const { theme } = useOrchestratorTheme();
16388
16556
  const { productId, subscriptionId } = router.query;
16389
16557
  const {
@@ -16399,7 +16567,7 @@ var WfoStartProcessPage = ({ processName, isTask = false }) => {
16399
16567
  const { data: workflowMetadata, isError: isErrorWorkflowDescription } = useGetDescriptionForWorkflowNameQuery({
16400
16568
  workflowName: processName
16401
16569
  });
16402
- const startProcessPayload = useMemo9(
16570
+ const startProcessPayload = useMemo10(
16403
16571
  () => getInitialProcessPayload({
16404
16572
  productId,
16405
16573
  subscriptionId
@@ -16476,7 +16644,7 @@ var WfoProductInformationWithLink = ({ workflowName, productNames }) => {
16476
16644
  };
16477
16645
 
16478
16646
  // src/pages/settings/WfoSettingsPage.tsx
16479
- import { useMemo as useMemo10 } from "react";
16647
+ import { useMemo as useMemo11 } from "react";
16480
16648
  import { useTranslations as useTranslations73 } from "next-intl";
16481
16649
  import { StringParam as StringParam3, useQueryParam as useQueryParam2, withDefault as withDefault3 } from "use-query-params";
16482
16650
  import { EuiCodeBlock as EuiCodeBlock2, EuiFlexItem as EuiFlexItem31, EuiPanel as EuiPanel7, EuiSpacer as EuiSpacer24, EuiTab as EuiTab3, EuiTabs as EuiTabs3, EuiText as EuiText28 } from "@elastic/eui";
@@ -16589,7 +16757,7 @@ var WfoSettingsPage = () => {
16589
16757
  "activeTab",
16590
16758
  withDefault3(StringParam3, "ACTIONS" /* ACTIONS */)
16591
16759
  );
16592
- const selectedTabContent = useMemo10(() => {
16760
+ const selectedTabContent = useMemo11(() => {
16593
16761
  return settingsTabs.find((obj) => obj.id === selectedTabId)?.content;
16594
16762
  }, [selectedTabId]);
16595
16763
  const onSelectedTabChanged = (id) => {
@@ -16677,16 +16845,16 @@ var WfoSubscriptionDetailPage = () => {
16677
16845
  };
16678
16846
 
16679
16847
  // src/pages/subscriptions/WfoSubscriptionsListPage.tsx
16680
- import { useEffect as useEffect35, useState as useState50 } from "react";
16848
+ import { useEffect as useEffect36, useState as useState51 } from "react";
16681
16849
  import { useTranslations as useTranslations75 } from "next-intl";
16682
16850
  import { StringParam as StringParam4, useQueryParam as useQueryParam3, withDefault as withDefault4 } from "use-query-params";
16683
16851
  import { EuiSpacer as EuiSpacer25 } from "@elastic/eui";
16684
16852
  import { Fragment as Fragment58, jsx as jsx239, jsxs as jsxs124 } from "@emotion/react/jsx-runtime";
16685
16853
  var WfoSubscriptionsListPage = () => {
16686
16854
  const t = useTranslations75("subscriptions.detail");
16687
- const [tableDefaults, setTableDefaults] = useState50();
16855
+ const [tableDefaults, setTableDefaults] = useState51();
16688
16856
  const getStoredTableConfig = useStoredTableConfig(SUBSCRIPTIONS_TABLE_LOCAL_STORAGE_KEY);
16689
- useEffect35(() => {
16857
+ useEffect36(() => {
16690
16858
  const storedConfig = getStoredTableConfig();
16691
16859
  if (storedConfig) {
16692
16860
  setTableDefaults(storedConfig);
@@ -16737,7 +16905,7 @@ var WfoSubscriptionsListPage = () => {
16737
16905
  };
16738
16906
 
16739
16907
  // src/pages/tasks/WfoTasksListPage.tsx
16740
- import { useContext as useContext10, useEffect as useEffect36, useState as useState51 } from "react";
16908
+ import { useContext as useContext10, useEffect as useEffect37, useState as useState52 } from "react";
16741
16909
  import { useTranslations as useTranslations76 } from "next-intl";
16742
16910
  import Link12 from "next/link";
16743
16911
  import { useRouter as useRouter15 } from "next/router";
@@ -16812,7 +16980,7 @@ var WfoTasksListPage = () => {
16812
16980
  const router = useRouter15();
16813
16981
  const t = useTranslations76("tasks.page");
16814
16982
  const [activeTab, setActiveTab] = useQueryParam4("activeTab", withDefault5(StringParam5, "ACTIVE" /* ACTIVE */));
16815
- const [tableDefaults, setTableDefaults] = useState51();
16983
+ const [tableDefaults, setTableDefaults] = useState52();
16816
16984
  const selectedTasksListTab = getTasksListTabTypeFromString(activeTab);
16817
16985
  const localStorageKey = selectedTasksListTab === "ACTIVE" /* ACTIVE */ ? ACTIVE_TASKS_LIST_TABLE_LOCAL_STORAGE_KEY : COMPLETED_TASKS_LIST_TABLE_LOCAL_STORAGE_KEY;
16818
16986
  const getStoredTableConfig = useStoredTableConfig(localStorageKey);
@@ -16820,7 +16988,7 @@ var WfoTasksListPage = () => {
16820
16988
  const { showConfirmDialog } = useContext10(ConfirmationDialogContext);
16821
16989
  const [retryAllProcesses] = useRetryAllProcessesMutation();
16822
16990
  const { isEngineRunningNow } = useCheckEngineStatus();
16823
- useEffect36(() => {
16991
+ useEffect37(() => {
16824
16992
  const storedConfig = getStoredTableConfig();
16825
16993
  if (storedConfig) {
16826
16994
  setTableDefaults(storedConfig);
@@ -16868,6 +17036,7 @@ var WfoTasksListPage = () => {
16868
17036
  "productName",
16869
17037
  "customer",
16870
17038
  "customerAbbreviation",
17039
+ "note",
16871
17040
  "subscriptions",
16872
17041
  "createdBy",
16873
17042
  "assignee",
@@ -16913,7 +17082,7 @@ var WfoTasksListPage = () => {
16913
17082
  };
16914
17083
 
16915
17084
  // src/pages/workflows/WfoWorkflowsListPage.tsx
16916
- import { useEffect as useEffect37, useState as useState52 } from "react";
17085
+ import { useEffect as useEffect38, useState as useState53 } from "react";
16917
17086
  import { useTranslations as useTranslations77 } from "next-intl";
16918
17087
  import { useRouter as useRouter16 } from "next/router";
16919
17088
  import { StringParam as StringParam6, useQueryParam as useQueryParam5, withDefault as withDefault6 } from "use-query-params";
@@ -16990,11 +17159,11 @@ var WfoWorkflowsListPage = () => {
16990
17159
  "activeTab",
16991
17160
  withDefault6(StringParam6, "ACTIVE" /* ACTIVE */)
16992
17161
  );
16993
- const [tableDefaults, setTableDefaults] = useState52();
17162
+ const [tableDefaults, setTableDefaults] = useState53();
16994
17163
  const selectedWorkflowsListTab = getWorkflowsListTabTypeFromString(activeTab);
16995
17164
  const localStorageKey = selectedWorkflowsListTab === "ACTIVE" /* ACTIVE */ ? ACTIVE_PROCESSES_LIST_TABLE_LOCAL_STORAGE_KEY : COMPLETED_PROCESSES_LIST_TABLE_LOCAL_STORAGE_KEY;
16996
17165
  const getStoredTableConfig = useStoredTableConfig(localStorageKey);
16997
- useEffect37(() => {
17166
+ useEffect38(() => {
16998
17167
  const storedConfig = getStoredTableConfig();
16999
17168
  if (storedConfig) {
17000
17169
  setTableDefaults(storedConfig);
@@ -17044,9 +17213,8 @@ var WfoWorkflowsListPage = () => {
17044
17213
  };
17045
17214
 
17046
17215
  // src/pages/WfoSearchPocPage.tsx
17047
- import { useCallback as useCallback14, useEffect as useEffect38, useMemo as useMemo11, useRef as useRef17, useState as useState53 } from "react";
17216
+ import { useCallback as useCallback14, useEffect as useEffect39, useMemo as useMemo12, useRef as useRef18, useState as useState54 } from "react";
17048
17217
  import { formatQuery as formatQuery2 } from "react-querybuilder/formatQuery";
17049
- import { parseCEL as parseCEL2 } from "react-querybuilder/parseCEL";
17050
17218
  import { useTranslations as useTranslations78 } from "next-intl";
17051
17219
  import Link13 from "next/link";
17052
17220
  import { StringParam as StringParam7, useQueryParam as useQueryParam6, withDefault as withDefault7 } from "use-query-params";
@@ -17082,8 +17250,7 @@ var getDataFromResponse = (data, resultColumToPropertyMap2, uniqueRowId, selecte
17082
17250
  return rowMap;
17083
17251
  },
17084
17252
  {}
17085
- ),
17086
- shouldOnlyShowOnHover: true
17253
+ )
17087
17254
  };
17088
17255
  const items = responseColumns.map((responseColumn) => {
17089
17256
  const item = Object.entries(responseColumn).reduce((acc, [key, value]) => {
@@ -17135,32 +17302,32 @@ var WfoSearchPocPage = () => {
17135
17302
  const [activeTab, setActiveTab] = useQueryParam6("activeTab", withDefault7(StringParam7, "ACTIVE" /* ACTIVE */));
17136
17303
  const selectedTab = subscriptionListTabs.find(({ id }) => id === activeTab)?.id ?? "ACTIVE" /* ACTIVE */;
17137
17304
  const getStoredTableConfig = useStoredTableConfig(SEARCH_TABLE_LOCAL_STORAGE_KEY);
17138
- const [retrieverType, setRetrieverType] = useState53("auto" /* Auto */);
17139
- const [queryText, setQueryText] = useState53("");
17305
+ const [retrieverType, setRetrieverType] = useState54("auto" /* Auto */);
17306
+ const [queryText, setQueryText] = useState54("");
17140
17307
  const [committedSearchQuery, setCommittedSearchQuery] = useQueryParam6("queryString", withDefault7(StringParam7, ""));
17141
17308
  const [committedFilterString, setCommittedFilterString] = useQueryParam6("filterString", withDefault7(StringParam7, ""));
17142
- const lastSelfCommittedFilter = useRef17("");
17309
+ const lastSelfCommittedFilter = useRef18("");
17143
17310
  const commitFilterString = (celString) => {
17144
17311
  lastSelfCommittedFilter.current = celString;
17145
17312
  setCommittedFilterString(celString || void 0);
17146
17313
  };
17147
- const lastSelfCommittedQuery = useRef17("");
17314
+ const lastSelfCommittedQuery = useRef18("");
17148
17315
  const commitSearchQuery = (queryText2) => {
17149
17316
  lastSelfCommittedQuery.current = queryText2;
17150
17317
  setCommittedSearchQuery(queryText2 || void 0);
17151
17318
  };
17152
- const [filterString, setFilterString] = useState53("");
17153
- const [queryBuilderRuleGroup, setQueryBuilderRuleGroup] = useState53();
17154
- const committedRuleGroup = useMemo11(
17319
+ const [filterString, setFilterString] = useState54("");
17320
+ const [queryBuilderRuleGroup, setQueryBuilderRuleGroup] = useState54();
17321
+ const committedRuleGroup = useMemo12(
17155
17322
  () => parseCelToRuleGroup(committedFilterString),
17156
17323
  [committedFilterString]
17157
17324
  );
17158
- const [isValidFilterString, setIsValidFilterString] = useState53(true);
17159
- const [tableDefaults, setTableDefaults] = useState53();
17160
- const [pageSize, setPageSize] = useState53(tableDefaults?.selectedPageSize || DEFAULT_PAGE_SIZE);
17161
- const [limit, setLimit] = useState53(pageSize);
17162
- const [pageCursor, setPageCursor] = useState53(void 0);
17163
- const [dataSorting, setDataSorting] = useState53({
17325
+ const [isValidFilterString, setIsValidFilterString] = useState54(true);
17326
+ const [tableDefaults, setTableDefaults] = useState54();
17327
+ const [pageSize, setPageSize] = useState54(tableDefaults?.selectedPageSize || DEFAULT_PAGE_SIZE);
17328
+ const [limit, setLimit] = useState54(pageSize);
17329
+ const [pageCursor, setPageCursor] = useState54(void 0);
17330
+ const [dataSorting, setDataSorting] = useState54({
17164
17331
  field: "subscriptionId",
17165
17332
  sortOrder: "DESC" /* DESC */
17166
17333
  });
@@ -17172,7 +17339,7 @@ var WfoSearchPocPage = () => {
17172
17339
  dataSorting
17173
17340
  ]);
17174
17341
  const cursor = pageCursor?.searchKey === committedSearchKey ? pageCursor.cursor : void 0;
17175
- const searchPayload = useMemo11(() => {
17342
+ const searchPayload = useMemo12(() => {
17176
17343
  const filters = addStatusFilterFromTab(committedRuleGroup, selectedTab);
17177
17344
  const order_by = {
17178
17345
  element: getKeyByValueFromMap(resultColumToPropertyMap, dataSorting.field),
@@ -17192,7 +17359,7 @@ var WfoSearchPocPage = () => {
17192
17359
  const { data, isFetching } = useSearchQuery(searchPayload);
17193
17360
  const [getSubscriptionListTrigger] = useLazySearchQuery();
17194
17361
  const getSubscriptionListForExport = () => getSubscriptionListTrigger(searchPayload).unwrap();
17195
- useEffect38(() => {
17362
+ useEffect39(() => {
17196
17363
  const storedConfig = getStoredTableConfig();
17197
17364
  if (storedConfig) {
17198
17365
  setTableDefaults(storedConfig);
@@ -17336,28 +17503,26 @@ var WfoSearchPocPage = () => {
17336
17503
  setPageCursor(void 0);
17337
17504
  };
17338
17505
  const safeCelParse = useCallback14((celString) => {
17339
- try {
17340
- const ruleGroup = parseCEL2(celString);
17341
- if (celString === "") {
17342
- setIsValidFilterString(true);
17343
- } else if (ruleGroup?.rules?.length > 0) {
17344
- setIsValidFilterString(true);
17345
- setQueryBuilderRuleGroup(ruleGroup);
17346
- } else {
17347
- setIsValidFilterString(false);
17348
- }
17349
- } catch {
17506
+ if (celString === "") {
17507
+ setIsValidFilterString(true);
17508
+ return;
17509
+ }
17510
+ const ruleGroup = parseCelToRuleGroup(celString);
17511
+ if (ruleGroup) {
17512
+ setIsValidFilterString(true);
17513
+ setQueryBuilderRuleGroup(ruleGroup);
17514
+ } else {
17350
17515
  setIsValidFilterString(false);
17351
17516
  }
17352
17517
  }, []);
17353
- useEffect38(() => {
17518
+ useEffect39(() => {
17354
17519
  if (committedSearchQuery === lastSelfCommittedQuery.current) {
17355
17520
  return;
17356
17521
  }
17357
17522
  lastSelfCommittedQuery.current = committedSearchQuery;
17358
17523
  setQueryText(committedSearchQuery);
17359
17524
  }, [committedSearchQuery]);
17360
- useEffect38(() => {
17525
+ useEffect39(() => {
17361
17526
  if (committedFilterString === lastSelfCommittedFilter.current) {
17362
17527
  return;
17363
17528
  }
@@ -17383,7 +17548,7 @@ var WfoSearchPocPage = () => {
17383
17548
  setIsValidFilterString(true);
17384
17549
  } else {
17385
17550
  setFilterString(celQuery);
17386
- setIsValidFilterString(true);
17551
+ setIsValidFilterString(!!parseCelToRuleGroup(celQuery));
17387
17552
  }
17388
17553
  }
17389
17554
  };
@@ -17436,6 +17601,7 @@ var WfoSearchPocPage = () => {
17436
17601
  data: subscriptionListItems,
17437
17602
  rowExpandingConfiguration,
17438
17603
  defaultHiddenColumns: tableDefaults?.hiddenColumns,
17604
+ defaultShowMatchDetails: tableDefaults?.showMatchDetails,
17439
17605
  filterString,
17440
17606
  handleSearch: handleApplyFilter,
17441
17607
  isLoading: isFetching,
@@ -17466,7 +17632,7 @@ var WfoSearchPocPage = () => {
17466
17632
  };
17467
17633
 
17468
17634
  // src/components/WfoProcessList/WfoProcessListDeltaPopover.tsx
17469
- import { useState as useState54 } from "react";
17635
+ import { useState as useState55 } from "react";
17470
17636
  import { useTranslations as useTranslations79 } from "next-intl";
17471
17637
  import { EuiButtonIcon as EuiButtonIcon16, EuiLoadingSpinner as EuiLoadingSpinner5, EuiPanel as EuiPanel8, EuiPopover as EuiPopover9 } from "@elastic/eui";
17472
17638
 
@@ -17502,10 +17668,10 @@ var WfoProcessListDeltaPopover = ({ processListItem }) => {
17502
17668
  getWfoProcessListDeltaPopoverStyles
17503
17669
  );
17504
17670
  const t = useTranslations79("processes.steps");
17505
- const [isPopoverOpen, setPopoverOpen] = useState54(false);
17671
+ const [isPopoverOpen, setPopoverOpen] = useState55(false);
17506
17672
  const { processId, workflowTarget } = processListItem;
17507
17673
  const { data, isFetching } = useGetRawProcessDetailQuery({ processId }, { skip: !isPopoverOpen });
17508
- if (workflowTarget.toUpperCase() !== "modify" /* MODIFY */.toUpperCase()) {
17674
+ if (workflowTarget !== "MODIFY" /* MODIFY */) {
17509
17675
  return null;
17510
17676
  }
17511
17677
  const { oldText, newText } = getSubscriptionDiffTexts(data);
@@ -17788,16 +17954,17 @@ var WfoProcessesList = ({
17788
17954
  sortOrder: sortBy2?.order ?? "ASC" /* ASC */
17789
17955
  };
17790
17956
  const getProcessListForExport = () => getProcessListTrigger(getQueryVariablesForExport(processListQueryVars)).unwrap();
17957
+ const tableConfig = mapSortableAndFilterableValuesToTableColumnConfig(
17958
+ tableColumns,
17959
+ pageInfo?.sortFields,
17960
+ pageInfo?.filterFields
17961
+ );
17791
17962
  return /* @__PURE__ */ jsx244(
17792
17963
  WfoAdvancedTable,
17793
17964
  {
17794
17965
  queryString,
17795
17966
  data: mapGraphQlProcessListResultToProcessListItems(processes || []),
17796
- tableColumnConfig: mapSortableAndFilterableValuesToTableColumnConfig(
17797
- tableColumns,
17798
- pageInfo?.sortFields,
17799
- pageInfo?.filterFields
17800
- ),
17967
+ tableColumnConfig: tableConfig,
17801
17968
  dataSorting: [dataSorting],
17802
17969
  pagination,
17803
17970
  isLoading: isFetching,
@@ -17866,7 +18033,7 @@ var WfoJsonCodeBlock = ({ data, isBasicStyle = false }) => {
17866
18033
  };
17867
18034
 
17868
18035
  // src/components/WfoSettings/WfoFlushSettings.tsx
17869
- import { useState as useState55 } from "react";
18036
+ import { useState as useState56 } from "react";
17870
18037
  import { useTranslations as useTranslations81 } from "next-intl";
17871
18038
  import { EuiButton as EuiButton19, EuiComboBox as EuiComboBox2, EuiPanel as EuiPanel9, EuiSpacer as EuiSpacer29, EuiText as EuiText29 } from "@elastic/eui";
17872
18039
 
@@ -17899,7 +18066,7 @@ var WfoFlushSettings = () => {
17899
18066
  const { comboboxStyle } = useWithOrchestratorTheme(getWfoFlushSettingsStyle);
17900
18067
  const [clearCache] = useClearCacheMutation();
17901
18068
  const t = useTranslations81("settings.page");
17902
- const [selectedOptions, setSelected] = useState55([]);
18069
+ const [selectedOptions, setSelected] = useState56([]);
17903
18070
  const { showToastMessage } = useShowToastMessage();
17904
18071
  const onChange = (selectedOptions2) => {
17905
18072
  setSelected(selectedOptions2);
@@ -18978,11 +19145,11 @@ var WfoTitleWithWebsocketBadge = ({
18978
19145
  };
18979
19146
 
18980
19147
  // src/components/WfoRadioDropdown/WfoRadioDropdown.tsx
18981
- import { useState as useState56 } from "react";
19148
+ import { useState as useState57 } from "react";
18982
19149
  import { EuiButtonEmpty as EuiButtonEmpty7, EuiFlexGroup as EuiFlexGroup38, EuiPopover as EuiPopover10, EuiRadioGroup as EuiRadioGroup2 } from "@elastic/eui";
18983
19150
  import { jsx as jsx270 } from "@emotion/react/jsx-runtime";
18984
19151
  var WfoRadioDropdown = ({ options, onUpdateOption, selectedOption }) => {
18985
- const [isOpen, setIsOpen] = useState56(false);
19152
+ const [isOpen, setIsOpen] = useState57(false);
18986
19153
  const handleClose = () => {
18987
19154
  if (isOpen) {
18988
19155
  setIsOpen(false);
@@ -19154,22 +19321,15 @@ var WfoSubscriptionDetailNoteEdit = ({
19154
19321
  };
19155
19322
 
19156
19323
  // src/components/WfoInlineNoteEdit/WfoProcessListNoteEdit.tsx
19157
- import { useEffect as useEffect39, useState as useState57 } from "react";
19158
19324
  import { jsx as jsx273 } from "@emotion/react/jsx-runtime";
19159
19325
  var WfoProcessListNoteEdit = ({ processId, note }) => {
19160
19326
  const [patchProcess] = usePatchProcessMutation();
19161
- const [noteValue, setNoteValue] = useState57(note);
19162
- useEffect39(() => {
19163
- if (note !== noteValue) {
19164
- setNoteValue(note);
19165
- }
19166
- }, [note, noteValue]);
19167
19327
  const onSaveNote = async (note2) => {
19168
19328
  const noteModifyPayload = { id: processId, note: note2 };
19169
19329
  patchProcess(noteModifyPayload);
19170
19330
  return note2;
19171
19331
  };
19172
- return /* @__PURE__ */ jsx273(WfoInlineEdit, { value: noteValue?.trim() || "", onSave: onSaveNote });
19332
+ return /* @__PURE__ */ jsx273(WfoInlineEdit, { value: note?.trim() ? note : INVISIBLE_CHARACTER, onSave: onSaveNote });
19173
19333
  };
19174
19334
 
19175
19335
  // src/components/WfoTableCodeBlock/WfoTableCodeBlock.tsx
@@ -19741,7 +19901,7 @@ var WfoSearchLoadingState = () => {
19741
19901
  };
19742
19902
 
19743
19903
  // src/components/WfoSearchPage/WfoSearchResults/WfoSearchResultItem.tsx
19744
- import { useEffect as useEffect43, useRef as useRef18 } from "react";
19904
+ import { useEffect as useEffect43, useRef as useRef19 } from "react";
19745
19905
  import { useTranslations as useTranslations98 } from "next-intl";
19746
19906
  import { EuiButtonIcon as EuiButtonIcon17, EuiFlexGroup as EuiFlexGroup43, EuiFlexItem as EuiFlexItem45, EuiPanel as EuiPanel18, EuiSpacer as EuiSpacer34, EuiText as EuiText37 } from "@elastic/eui";
19747
19907
 
@@ -19788,7 +19948,7 @@ var WfoSearchResultItem = ({
19788
19948
  const { theme } = useOrchestratorTheme();
19789
19949
  const baseUrl = `${window.location.protocol}//${window.location.host}`;
19790
19950
  const detailUrl = getDetailUrl(result, baseUrl);
19791
- const itemRef = useRef18(null);
19951
+ const itemRef = useRef19(null);
19792
19952
  useEffect43(() => {
19793
19953
  if (isSelected && onPositionChange && itemRef.current) {
19794
19954
  onPositionChange(index, itemRef.current);
@@ -20924,6 +21084,10 @@ import {
20924
21084
  // src/components/WfoWorkflowUserGuide/styles.ts
20925
21085
  import { css as css47 } from "@emotion/react";
20926
21086
  var getStyles16 = ({ theme }) => {
21087
+ const navigationHeight = theme.base * 3;
21088
+ const timelineStickyHeight = theme.base * 4;
21089
+ const stripBottomGap = theme.base;
21090
+ const stripMinHeight = theme.base * 40;
20927
21091
  const fullHeightStyle = css47({
20928
21092
  height: "100%"
20929
21093
  });
@@ -20931,23 +21095,50 @@ var getStyles16 = ({ theme }) => {
20931
21095
  width: theme.base * 4,
20932
21096
  cursor: "pointer"
20933
21097
  });
21098
+ const stickyStripContainerStyle = css47({
21099
+ width: theme.base * 4,
21100
+ cursor: "pointer",
21101
+ alignSelf: "stretch",
21102
+ position: "sticky",
21103
+ top: timelineStickyHeight,
21104
+ minHeight: stripMinHeight,
21105
+ maxHeight: `calc(100vh - ${navigationHeight + timelineStickyHeight + stripBottomGap}px)`
21106
+ });
21107
+ const stripIconStyle = css47({
21108
+ display: "flex",
21109
+ justifyContent: "center"
21110
+ });
21111
+ const stickyPanelFillStyle = css47({
21112
+ flexGrow: 1
21113
+ });
20934
21114
  const toggleStripContainerHorizontalStyle = css47({
20935
21115
  width: "100%",
20936
21116
  height: theme.base * 4,
20937
21117
  cursor: "pointer"
20938
21118
  });
21119
+ const stickyHorizontalStripContainerStyle = css47({
21120
+ width: "100%",
21121
+ height: theme.base * 4,
21122
+ cursor: "pointer",
21123
+ position: "sticky",
21124
+ top: timelineStickyHeight,
21125
+ zIndex: 2
21126
+ });
20939
21127
  const toggleStripPanelStyle = css47({
20940
21128
  height: "100%",
20941
21129
  backgroundColor: theme.colors.backgroundBasePrimary,
20942
- border: `2px dashed ${theme.colors.backgroundLightPrimary}`,
20943
- transition: "box-shadow 100ms ease-in-out, border-style 100ms ease-in-out",
21130
+ border: `2px solid ${theme.colors.backgroundLightPrimary}`,
21131
+ transition: "border-color 100ms ease-in-out",
20944
21132
  "&:hover": {
20945
- borderStyle: "solid",
20946
- boxShadow: `0 0 0 2px ${theme.colors.backgroundBasePrimary}`
21133
+ borderColor: theme.colors.borderBasePrimary
20947
21134
  }
20948
21135
  });
20949
21136
  const guideExpandedItemStyle = css47({
20950
- position: "relative"
21137
+ alignSelf: "stretch",
21138
+ position: "sticky",
21139
+ top: timelineStickyHeight,
21140
+ minHeight: stripMinHeight,
21141
+ maxHeight: `calc(100vh - ${navigationHeight + timelineStickyHeight + stripBottomGap}px)`
20951
21142
  });
20952
21143
  const guideExpandedFillStyle = css47({
20953
21144
  position: "absolute",
@@ -20956,8 +21147,10 @@ var getStyles16 = ({ theme }) => {
20956
21147
  const guidePanelStyle = css47({
20957
21148
  height: "100%",
20958
21149
  overflowY: "auto",
20959
- border: `2px dashed ${theme.colors.backgroundLightPrimary}`,
20960
- borderRightWidth: 0
21150
+ border: `2px solid ${theme.colors.backgroundLightPrimary}`,
21151
+ borderRightWidth: 0,
21152
+ borderTopRightRadius: 0,
21153
+ borderBottomRightRadius: 0
20961
21154
  });
20962
21155
  const guideBodyStyle = css47({
20963
21156
  flex: 1,
@@ -20966,23 +21159,33 @@ var getStyles16 = ({ theme }) => {
20966
21159
  flexDirection: "column"
20967
21160
  });
20968
21161
  const noLeftBorderStyle = css47({
20969
- borderLeftWidth: 0
21162
+ borderLeftWidth: 0,
21163
+ borderTopLeftRadius: 0,
21164
+ borderBottomLeftRadius: 0
20970
21165
  });
20971
21166
  const noBottomBorderStyle = css47({
20972
- borderBottomWidth: 0
21167
+ borderBottomWidth: 0,
21168
+ borderBottomLeftRadius: 0,
21169
+ borderBottomRightRadius: 0
20973
21170
  });
20974
21171
  const guideStackedBodyStyle = css47({
20975
21172
  maxHeight: "50vh",
20976
21173
  overflowY: "auto"
20977
21174
  });
20978
21175
  const guideStackedPanelStyle = css47({
20979
- border: `2px dashed ${theme.colors.backgroundLightPrimary}`,
20980
- borderTopWidth: 0
21176
+ border: `2px solid ${theme.colors.backgroundLightPrimary}`,
21177
+ borderTopWidth: 0,
21178
+ borderTopLeftRadius: 0,
21179
+ borderTopRightRadius: 0
20981
21180
  });
20982
21181
  return {
20983
21182
  fullHeightStyle,
20984
21183
  toggleStripContainerStyle,
21184
+ stickyStripContainerStyle,
21185
+ stripIconStyle,
21186
+ stickyPanelFillStyle,
20985
21187
  toggleStripContainerHorizontalStyle,
21188
+ stickyHorizontalStripContainerStyle,
20986
21189
  toggleStripPanelStyle,
20987
21190
  noLeftBorderStyle,
20988
21191
  noBottomBorderStyle,
@@ -21002,62 +21205,60 @@ var WfoWorkflowGuideToggleStrip = ({
21002
21205
  ariaLabel,
21003
21206
  isBigScreen,
21004
21207
  noLeadingBorder,
21208
+ sticky,
21005
21209
  children
21006
21210
  }) => {
21007
21211
  const {
21008
21212
  fullHeightStyle,
21213
+ stickyStripContainerStyle,
21214
+ stripIconStyle,
21215
+ stickyPanelFillStyle,
21009
21216
  toggleStripContainerStyle,
21010
21217
  toggleStripContainerHorizontalStyle,
21218
+ stickyHorizontalStripContainerStyle,
21011
21219
  toggleStripPanelStyle,
21012
21220
  noLeftBorderStyle,
21013
21221
  noBottomBorderStyle
21014
21222
  } = useWithOrchestratorTheme(getStyles16);
21015
- return /* @__PURE__ */ jsx292(
21016
- EuiFlexItem53,
21223
+ const containerStyle = isBigScreen ? sticky ? stickyStripContainerStyle : toggleStripContainerStyle : sticky ? stickyHorizontalStripContainerStyle : toggleStripContainerHorizontalStyle;
21224
+ return /* @__PURE__ */ jsx292(EuiFlexItem53, { grow: false, onClick: onToggle, "aria-label": ariaLabel, css: containerStyle, children: /* @__PURE__ */ jsx292(
21225
+ EuiPanel22,
21017
21226
  {
21018
- grow: false,
21019
- onClick: onToggle,
21020
- "aria-label": ariaLabel,
21021
- css: isBigScreen ? toggleStripContainerStyle : toggleStripContainerHorizontalStyle,
21022
- children: /* @__PURE__ */ jsx292(
21023
- EuiPanel22,
21227
+ hasShadow: false,
21228
+ css: [
21229
+ toggleStripPanelStyle,
21230
+ sticky && stickyPanelFillStyle,
21231
+ noLeadingBorder && (isBigScreen ? noLeftBorderStyle : noBottomBorderStyle)
21232
+ ],
21233
+ children: isBigScreen ? /* @__PURE__ */ jsx292("div", { css: stripIconStyle, children }) : /* @__PURE__ */ jsx292(
21234
+ EuiFlexGroup52,
21024
21235
  {
21025
- hasShadow: false,
21026
- css: [toggleStripPanelStyle, noLeadingBorder && (isBigScreen ? noLeftBorderStyle : noBottomBorderStyle)],
21027
- children: /* @__PURE__ */ jsx292(
21028
- EuiFlexGroup52,
21029
- {
21030
- direction: isBigScreen ? "column" : "row",
21031
- alignItems: "center",
21032
- gutterSize: "s",
21033
- justifyContent: "center",
21034
- css: fullHeightStyle,
21035
- children
21036
- }
21037
- )
21236
+ direction: "row",
21237
+ alignItems: "center",
21238
+ gutterSize: "s",
21239
+ justifyContent: "center",
21240
+ css: fullHeightStyle,
21241
+ children
21038
21242
  }
21039
21243
  )
21040
21244
  }
21041
- );
21245
+ ) });
21042
21246
  };
21043
21247
  var WfoWorkflowGuideMarkdown = ({ workflowName, isBigScreen }) => {
21044
21248
  const t = useTranslations107("workflowGuide");
21045
21249
  const { guideBodyStyle, guidePanelStyle, guideStackedBodyStyle, guideStackedPanelStyle } = useWithOrchestratorTheme(getStyles16);
21046
21250
  const { data, isLoading, isError } = useGetWorkflowGuideQuery({ workflowName });
21047
21251
  const content = data?.content ?? "";
21048
- return /* @__PURE__ */ jsx292("div", { css: isBigScreen ? guideBodyStyle : guideStackedBodyStyle, children: isLoading && /* @__PURE__ */ jsx292(EuiLoadingSpinner7, { size: "m" }) || (isError || !content) && /* @__PURE__ */ jsx292(EuiText44, { color: "subdued", children: t("noGuideAvailable") }) || /* @__PURE__ */ jsx292(EuiPanel22, { paddingSize: "m", hasShadow: true, css: isBigScreen ? guidePanelStyle : guideStackedPanelStyle, children: /* @__PURE__ */ jsx292(EuiMarkdownFormat2, { children: content }) }) });
21252
+ return /* @__PURE__ */ jsx292("div", { css: isBigScreen ? guideBodyStyle : guideStackedBodyStyle, children: isLoading && /* @__PURE__ */ jsx292(EuiLoadingSpinner7, { size: "m" }) || /* @__PURE__ */ jsx292(EuiPanel22, { paddingSize: "m", hasShadow: true, css: isBigScreen ? guidePanelStyle : guideStackedPanelStyle, children: (isError || !content) && /* @__PURE__ */ jsx292(EuiText44, { color: "subdued", children: t("noGuideAvailable") }) || /* @__PURE__ */ jsx292(EuiMarkdownFormat2, { children: content }) }) });
21049
21253
  };
21050
21254
  var WfoWorkflowGuideExpandablePanel = ({ workflowName, isExpanded, onToggle }) => {
21051
21255
  const t = useTranslations107("workflowGuide");
21052
21256
  const { fullHeightStyle, guideExpandedItemStyle, guideExpandedFillStyle } = useWithOrchestratorTheme(getStyles16);
21053
21257
  const isBigScreen = useIsWithinBreakpoints(["xl", "xxl"]);
21054
- const OpenGuideButton = () => /* @__PURE__ */ jsx292(EuiFlexItem53, { grow: false, children: /* @__PURE__ */ jsxs152(EuiFlexGroup52, { gutterSize: "xs", alignItems: "center", direction: isBigScreen ? "column" : "row", children: [
21055
- /* @__PURE__ */ jsx292(EuiIcon8, { type: isBigScreen ? "arrowLeft" : "arrowDown", size: "xxl", color: "primary" }),
21056
- /* @__PURE__ */ jsx292(EuiIcon8, { type: "info", size: "xxl", color: "primary" })
21057
- ] }) });
21258
+ const OpenGuideButton = () => /* @__PURE__ */ jsx292(EuiIcon8, { type: "info", size: "xxl", color: "primary" });
21058
21259
  const CloseGuideButton = () => /* @__PURE__ */ jsx292(EuiFlexItem53, { grow: false, children: /* @__PURE__ */ jsx292(EuiIcon8, { type: isBigScreen ? "arrowRight" : "arrowUp", size: "xl", color: "primary" }) });
21059
21260
  if (!isExpanded) {
21060
- return /* @__PURE__ */ jsx292(WfoWorkflowGuideToggleStrip, { onToggle, ariaLabel: t("show"), isBigScreen, children: /* @__PURE__ */ jsx292(OpenGuideButton, {}) });
21261
+ return /* @__PURE__ */ jsx292(WfoWorkflowGuideToggleStrip, { onToggle, ariaLabel: t("show"), isBigScreen, sticky: true, children: /* @__PURE__ */ jsx292(OpenGuideButton, {}) });
21061
21262
  }
21062
21263
  if (isBigScreen) {
21063
21264
  return /* @__PURE__ */ jsx292(EuiFlexItem53, { grow: 1, css: guideExpandedItemStyle, children: /* @__PURE__ */ jsxs152(EuiFlexGroup52, { gutterSize: "none", css: [fullHeightStyle, guideExpandedFillStyle], children: [
@@ -21099,11 +21300,19 @@ var WfoPageWithUserGuide = ({ workflowName, children }) => {
21099
21300
  onToggle: () => setIsExpanded((expanded) => !expanded)
21100
21301
  }
21101
21302
  );
21102
- return /* @__PURE__ */ jsxs153(EuiFlexGroup53, { gutterSize: "s", direction: isBigScreen ? "row" : "column", children: [
21103
- !isBigScreen && workflowGuideExpandablePanel,
21104
- /* @__PURE__ */ jsx293(EuiFlexItem54, { grow: true, children }),
21105
- isBigScreen && workflowGuideExpandablePanel
21106
- ] });
21303
+ return /* @__PURE__ */ jsxs153(
21304
+ EuiFlexGroup53,
21305
+ {
21306
+ gutterSize: "s",
21307
+ direction: isBigScreen ? "row" : "column",
21308
+ alignItems: isBigScreen ? "flexStart" : "stretch",
21309
+ children: [
21310
+ !isBigScreen && workflowGuideExpandablePanel,
21311
+ /* @__PURE__ */ jsx293(EuiFlexItem54, { grow: true, css: { minWidth: 0 }, children }),
21312
+ isBigScreen && workflowGuideExpandablePanel
21313
+ ]
21314
+ }
21315
+ );
21107
21316
  };
21108
21317
 
21109
21318
  // src/components/WfoMonacoCodeBlock/WfoMonacoCodeBlock.tsx
@@ -21322,6 +21531,7 @@ var en_GB_default = {
21322
21531
  searchModalText: '<p>Different options are available from free text search covering all data columns, or column specific filtering. Note that: <p></p><ul><li>Hidden columns are included</li> <li>Searching is case-insensitive</li> <li>Ordering of words does not matter (unless it is a Phrase)</li> <li>TSV (text search vector) search only available for subscriptions table</li></ul></p> <p>For example:</p> <li><b>"l2vpn"</b> \u2013 free text search</li> <li><b>tag:l2vpn</b> \u2013 search in a specific column</li><li><b>tag:lp description:test</b> \u2013 search in multiple columns</li><li><b>tag:(lp|lr)</b> \u2013 multiselect within 1 column</li><li><b>-tag:lp</b> \u2013 negated filter</li><li><b>test*</b> \u2013 prefix filter</li> <p></p><p><b>Note:</b> Search words containing characters `|-*():"` may not be valid, as they are part of the search query grammar</p><p>Invalid search strings are for example:</p><ul><li>2a10:e300:fff0::/48</li> <li>"node123(planned)"</li> <li>"node123|planned"</li></ul>',
21323
21532
  searchModalTitle: "Search string options",
21324
21533
  showAllColumnsInDetailView: "Show all columns in detail view",
21534
+ showMatchDetails: "Show match details",
21325
21535
  tableSettings: "Table settings",
21326
21536
  unauthorizedPage: "You are not authorized to see this page",
21327
21537
  unknownError: "Unknown error"
@@ -21818,7 +22028,8 @@ var en_GB_default = {
21818
22028
  title: "Subscriptions",
21819
22029
  workflowsTab: {
21820
22030
  startWithNewestLabel: "Start with newest first",
21821
- startWithOldestLabel: "Start with oldest first"
22031
+ startWithOldestLabel: "Start with oldest first",
22032
+ hideValidateTasks: "Hide validation tasks"
21822
22033
  }
21823
22034
  },
21824
22035
  index: {
@@ -21897,6 +22108,7 @@ var nl_NL_default = {
21897
22108
  searchModalText: '<p>Er zijn verschillende opties beschikbaar: zoeken in vrije tekst voor alle datakolommen en specifiek per kolom te filteren. Houd er rekening mee dat: </p><p></p><ul><li>Verborgen kolommen zijn inbegrepen</li> <li>Zoeken is niet hoofdlettergevoelig</li> <li>De volgorde van woorden doet er niet toe (tenzij het een quote)</li> <li>TSV (text search vector) zoekactie alleen beschikbaar voor subscription tabel</li></ul><p>Bijvoorbeeld:</p> <li><b>"l2vpn"</b> \u2013 vrije tekst search</li> <li><b>tag:l2vpn</b> \u2013 zoeken in een specifieke kolom</li> <li><b>tag:lp beschrijving: test</b> \u2013 zoeken in meerdere kolommen</li><li><b>tag:(lp|lr)</b> \u2013 multi select binnen 1 kolom</li> <li><b>-tag:lp</b> \u2013 omgekeerd filteren</li> <li><b>test*</b> \u2013 prefix filter</li> <p></p><p><b>Opmerking:</b> Zoeken op woorden die tekens `|-*():"` bevatten, zijn mogelijk niet geldig, omdat ze deel uitmaken van de grammatica van de zoekfunctie</p><p>Ongeldige zoekwoorden zijn bijvoorbeeld:</p><ul><li>2a10:e300:fff0::/48</li> <li>"node123(gepland)"</li> <li>"node123|gepland"</li></ul>',
21898
22109
  searchModalTitle: "Zoekwoorden opties",
21899
22110
  showAllColumnsInDetailView: "Toon alle kolommen in detailweergave",
22111
+ showMatchDetails: "Toon overeenkomstdetails",
21900
22112
  tableSettings: "Tabel instellingen",
21901
22113
  unauthorizedPage: "Niet geautoriseerd om deze pagina te bekijken",
21902
22114
  unknownError: "Onbekende fout"
@@ -22392,8 +22604,9 @@ var nl_NL_default = {
22392
22604
  tag: "Tag",
22393
22605
  title: "Subscriptions",
22394
22606
  workflowsTab: {
22395
- startWithNewestLabel: "Start met nieuwste eerst",
22396
- startWithOldestLabel: "Start met oudste eerst"
22607
+ startWithNewestLabel: "Start met nieuwste",
22608
+ startWithOldestLabel: "Start met oudste",
22609
+ hideValidateTasks: "Verberg validatie taken"
22397
22610
  }
22398
22611
  },
22399
22612
  index: {
@@ -23018,6 +23231,7 @@ export {
23018
23231
  useDataDisplayParams,
23019
23232
  useDeleteProcessMutation,
23020
23233
  useDeleteScheduledTaskMutation,
23234
+ useFieldsPathInfo,
23021
23235
  useGetCacheNamesQuery,
23022
23236
  useGetCustomerQuery,
23023
23237
  useGetCustomersQuery,
@@ -23063,6 +23277,7 @@ export {
23063
23277
  useLazyGetSubscriptionListQuery,
23064
23278
  useLazyGetTasksQuery,
23065
23279
  useLazyGetWorkflowsQuery,
23280
+ useLazySearchPathsQuery,
23066
23281
  useLazySearchQuery,
23067
23282
  useLazyStreamMessagesQuery,
23068
23283
  useOrchestratorConfig,