@sparrowengg/integrations-templates-frontend 5.0.0 → 5.0.2

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.
@@ -91,18 +91,25 @@ const Configuration = ({
91
91
  /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "regular", css: { color: "$neutral900" } }, field.label)
92
92
  )), /* @__PURE__ */ React.createElement(text.Text, { size: "sm", weight: "regular", css: { color: "$neutral500" } }, checkboxDescription));
93
93
  const renderInputField = () => /* @__PURE__ */ React.createElement(
94
- box.Box,
94
+ flex.Flex,
95
95
  {
96
96
  className: "dm-sans",
97
+ alignItems: "center",
98
+ gap: "$4",
97
99
  css: {
100
+ width: "100%",
98
101
  label: {
99
102
  fontSize: "$xs !important"
100
103
  }
101
104
  }
102
105
  },
103
- /* @__PURE__ */ React.createElement(
106
+ /* @__PURE__ */ React.createElement(box.Box, { css: {
107
+ width: (field == null ? void 0 : field.rightElement) ? "90%" : "100%",
108
+ flex: 1
109
+ } }, /* @__PURE__ */ React.createElement(
104
110
  formInput.FormInput,
105
111
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({
112
+ helperText: field.helperText || "dff",
106
113
  placeholder: field.placeholder || "",
107
114
  className: "dm-sans",
108
115
  disabled: field == null ? void 0 : field.disabled
@@ -118,7 +125,8 @@ const Configuration = ({
118
125
  }), {
119
126
  onChange: handleInputChange
120
127
  })
121
- )
128
+ )),
129
+ (field == null ? void 0 : field.rightElement) && field.rightElement()
122
130
  );
123
131
  const renderSelectField = () => /* @__PURE__ */ React.createElement(
124
132
  flex.Flex,
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sources":["../../../../src/dynamic-mapping/components/configuration.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo } from 'react';\nimport { Box, Flex, Text, Switch, Checkbox, FormInput, FormLabel } from '@sparrowengg/twigs-react';\nimport { CustomAddNewSelect } from './custom-add-new-select';\nimport { useConfigurationField } from '../hooks';\nimport { isConfigurationFieldVisible } from '../helpers';\n\n/* ----- Types / Interfaces ----- */\n\ninterface ConfigurationProps {\n field: any;\n configuredFields: any;\n responseImportType?: string | null;\n}\n\n/* ----- Main Component ----- */\n\n/**\n * Configuration field component with dynamic field type rendering\n * \n * @param {ConfigurationProps} props - Component props\n * @returns {JSX.Element | null} Configuration field component\n * \n * @example\n * <Configuration\n * field={configField}\n * configuredFields={fields}\n * />\n */\nexport const Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: ConfigurationProps): JSX.Element | null => {\n const { error, fieldValue, handleInputChange, handleCheckboxChange, handleSwitchChange } =\n useConfigurationField({\n field,\n configuredFields,\n });\n\n const isVisible = useMemo(\n () => isConfigurationFieldVisible(field, configuredFields),\n [field, configuredFields]\n );\n\n const checkboxDescription = useMemo(() => {\n if (field.fieldType !== 'checkbox') return '';\n if (field.value && typeof field.ifChecked === 'function') {\n return field.ifChecked();\n }\n if (!field.value && typeof field.ifUnchecked === 'function') {\n return field.ifUnchecked(responseImportType);\n }\n return '';\n }, [field, responseImportType]);\n\n if (!isVisible) return null;\n\n const renderSwitchField = () => (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: '$12',\n borderTop: '$borderWidths$xs solid $neutral200',\n paddingTop: '$16',\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={handleSwitchChange}\n />\n <Text size=\"md\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n const renderCheckboxField = () => (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) => handleCheckboxChange(value as boolean)}\n >\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral500' }}>\n {checkboxDescription}\n </Text>\n </Flex>\n );\n\n const renderInputField = () => (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: '$xs !important',\n },\n }}\n >\n <FormInput\n placeholder={field.placeholder || ''}\n className=\"dm-sans\"\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === 'object' ? '' : fieldValue || ''}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={handleInputChange}\n />\n </Box>\n );\n\n const renderSelectField = () => (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: 'pointer !important',\n '.twigs-select__indicator': {\n width: '14px !important',\n color: '#848484 !important',\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: '$5' }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n );\n\n switch (field.fieldType) {\n case 'switch':\n return renderSwitchField();\n case 'checkbox':\n return renderCheckboxField();\n case 'input':\n return renderInputField();\n default:\n return renderSelectField();\n }\n};\n"],"names":["useConfigurationField","useMemo","isConfigurationFieldVisible","Flex","Switch","Text","Checkbox","Box","FormInput","FormLabel","CustomAddNewSelect"],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sources":["../../../../src/dynamic-mapping/components/configuration.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo } from 'react';\nimport { Box, Flex, Text, Switch, Checkbox, FormInput, FormLabel, IconButton } from '@sparrowengg/twigs-react';\nimport { CustomAddNewSelect } from './custom-add-new-select';\nimport { useConfigurationField } from '../hooks';\nimport { isConfigurationFieldVisible } from '../helpers';\n\n/* ----- Types / Interfaces ----- */\n\ninterface ConfigurationProps {\n field: any;\n configuredFields: any;\n responseImportType?: string | null;\n}\n\n/* ----- Main Component ----- */\n\n/**\n * Configuration field component with dynamic field type rendering\n * \n * @param {ConfigurationProps} props - Component props\n * @returns {JSX.Element | null} Configuration field component\n * \n * @example\n * <Configuration\n * field={configField}\n * configuredFields={fields}\n * />\n */\nexport const Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: ConfigurationProps): JSX.Element | null => {\n const { error, fieldValue, handleInputChange, handleCheckboxChange, handleSwitchChange } =\n useConfigurationField({\n field,\n configuredFields,\n });\n\n const isVisible = useMemo(\n () => isConfigurationFieldVisible(field, configuredFields),\n [field, configuredFields]\n );\n\n const checkboxDescription = useMemo(() => {\n if (field.fieldType !== 'checkbox') return '';\n if (field.value && typeof field.ifChecked === 'function') {\n return field.ifChecked();\n }\n if (!field.value && typeof field.ifUnchecked === 'function') {\n return field.ifUnchecked(responseImportType);\n }\n return '';\n }, [field, responseImportType]);\n\n if (!isVisible) return null;\n\n const renderSwitchField = () => (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: '$12',\n borderTop: '$borderWidths$xs solid $neutral200',\n paddingTop: '$16',\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={handleSwitchChange}\n />\n <Text size=\"md\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n const renderCheckboxField = () => (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) => handleCheckboxChange(value as boolean)}\n >\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral500' }}>\n {checkboxDescription}\n </Text>\n </Flex>\n );\n\n const renderInputField = () => (\n <Flex\n className=\"dm-sans\"\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n width: '100%',\n label: {\n fontSize: '$xs !important',\n },\n }}\n >\n <Box css={{\n width: field?.rightElement ? '90%' : '100%',\n flex: 1,\n }}>\n <FormInput\n helperText={field.helperText || 'dff'}\n placeholder={field.placeholder || ''}\n className=\"dm-sans\"\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === 'object' ? '' : fieldValue || ''}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={handleInputChange}\n />\n </Box>\n {field?.rightElement && (\n field.rightElement()\n )}\n </Flex>\n );\n\n const renderSelectField = () => (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: 'pointer !important',\n '.twigs-select__indicator': {\n width: '14px !important',\n color: '#848484 !important',\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: '$5' }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n );\n\n switch (field.fieldType) {\n case 'switch':\n return renderSwitchField();\n case 'checkbox':\n return renderCheckboxField();\n case 'input':\n return renderInputField();\n default:\n return renderSelectField();\n }\n};\n"],"names":["useConfigurationField","useMemo","isConfigurationFieldVisible","Flex","Switch","Text","Checkbox","Box","FormInput","FormLabel","CustomAddNewSelect"],"mappings":"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"}
@@ -24,11 +24,12 @@ const transformDataToString = (data, fieldOptions) => {
24
24
  const value = filter.value;
25
25
  const formattedComparator = ((_a2 = index.operatorOptions.find((option) => option.value === comparator)) == null ? void 0 : _a2.label) || comparator;
26
26
  const fieldOption = fieldOptions.find(
27
- (options) => options.value === field
27
+ (options) => options.value === (field == null ? void 0 : field.value)
28
28
  );
29
- const fieldLabel = (_c2 = (_b2 = fieldOption == null ? void 0 : fieldOption.label) != null ? _b2 : field == null ? void 0 : field.label) != null ? _c2 : field;
29
+ const fieldLabel = (_c2 = (_b2 = field == null ? void 0 : field.label) != null ? _b2 : fieldOption == null ? void 0 : fieldOption.label) != null ? _c2 : field;
30
30
  let displayValue = value;
31
31
  if (Array.isArray(value) && (fieldOption == null ? void 0 : fieldOption.options)) {
32
+ console.log("value", value);
32
33
  displayValue = value.map(
33
34
  (v) => {
34
35
  var _a3, _b3;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-utils.js","sources":["../../../../src/integration-template/components/dashboard-utils.ts"],"sourcesContent":["import { operatorOptions } from \"../../commons/constants\";\nimport { FieldOptionsType } from \"../../commons/types/enhanced\";\n\n/**\n * Get default field value based on type\n */\nexport const getDefaultFieldValue = (defaultValue: {\n type: string;\n value: unknown;\n}): string => {\n if (!defaultValue) return \"--\";\n \n switch (defaultValue?.type) {\n case \"DATE_TIME\":\n case \"STRING\":\n return (defaultValue?.value as string) || \"--\";\n default:\n return (defaultValue?.value as any)?.label || \"--\";\n }\n};\n\n/**\n * Transform filter data to HTML string\n */\nexport const transformDataToString = (\n data: any,\n fieldOptions: FieldOptionsType\n): string => {\n const filterConditions = (data.filters as Record<string, unknown>[])\n .map((filterGroup: any) => {\n return (filterGroup.filter as Record<string, unknown>[])\n .map((filter: any) => {\n const field = filter.field;\n const comparator = filter.comparator;\n const value = filter.value;\n const formattedComparator =\n operatorOptions.find((option) => option.value === comparator)\n ?.label || comparator;\n const fieldOption = fieldOptions.find(\n (options: any) => options.value === field\n );\n const fieldLabel =\n fieldOption?.label ?? field?.label ?? field;\n\n let displayValue = value;\n if (Array.isArray(value) && (fieldOption as any)?.options) {\n displayValue = value\n .map(\n (v: string) =>\n (fieldOption as any).options.find((opt: any) => opt.value === v)?.label ?? v\n )\n .join(\", \");\n } else if (typeof value === \"string\" && (fieldOption as any)?.options) {\n displayValue =\n (fieldOption as any).options.find((opt: any) => opt.value === value)?.label ?? value;\n }\n\n return `${fieldLabel} ${\n formattedComparator === \"NO_PREFERENCE\"\n ? \"has no preference\"\n : formattedComparator\n } ${displayValue}`;\n })\n ?.join(\n ` <span style=\"color: #6A6A6A;font-weight: 600;\">${filterGroup.condition?.toLowerCase() ?? \"\"}</span> `\n );\n })\n .join(\n `<br /> <span style=\"color: #6A6A6A;font-weight: 600;\">${\n data.condition.toLowerCase() === \"or\" ? \"Or\" : \"And\"\n } When,</span> `\n );\n\n return `<p style=\"font-family: 'DM Sans'; font-size: 13.33px; font-weight: 400;line-height: 30px; color: #848484;\"><span style=\"color: #6A6A6A;font-weight: 600;\">When</span> ${filterConditions}</p>`;\n};\n\n"],"names":["_a","_b","_c","operatorOptions"],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-utils.js","sources":["../../../../src/integration-template/components/dashboard-utils.ts"],"sourcesContent":["import { operatorOptions } from \"../../commons/constants\";\nimport { FieldOptionsType } from \"../../commons/types/enhanced\";\n\n/**\n * Get default field value based on type\n */\nexport const getDefaultFieldValue = (defaultValue: {\n type: string;\n value: unknown;\n}): string => {\n if (!defaultValue) return \"--\";\n \n switch (defaultValue?.type) {\n case \"DATE_TIME\":\n case \"STRING\":\n return (defaultValue?.value as string) || \"--\";\n default:\n return (defaultValue?.value as any)?.label || \"--\";\n }\n};\n\n/**\n * Transform filter data to HTML string\n */\nexport const transformDataToString = (\n data: any,\n fieldOptions: FieldOptionsType\n): string => {\n const filterConditions = (data.filters as Record<string, unknown>[])\n .map((filterGroup: any) => {\n return (filterGroup.filter as Record<string, unknown>[])\n .map((filter: any) => {\n const field = filter.field;\n const comparator = filter.comparator;\n const value = filter.value;\n const formattedComparator =\n operatorOptions.find((option) => option.value === comparator)\n ?.label || comparator;\n const fieldOption = fieldOptions.find(\n (options: any) => options.value === field?.value\n );\n const fieldLabel =\n field?.label ?? fieldOption?.label ?? field;\n\n let displayValue = value;\n if (Array.isArray(value) && (fieldOption as any)?.options) {\n console.log(\"value\", value);\n displayValue = value\n .map(\n (v: string) =>\n (fieldOption as any).options.find((opt: any) => opt.value === v)?.label ?? v\n )\n .join(\", \");\n } else if (typeof value === \"string\" && (fieldOption as any)?.options) {\n displayValue =\n (fieldOption as any).options.find((opt: any) => opt.value === value)?.label ?? value;\n }\n\n return `${fieldLabel} ${\n formattedComparator === \"NO_PREFERENCE\"\n ? \"has no preference\"\n : formattedComparator\n } ${displayValue}`;\n })\n ?.join(\n ` <span style=\"color: #6A6A6A;font-weight: 600;\">${filterGroup.condition?.toLowerCase() ?? \"\"}</span> `\n );\n })\n .join(\n `<br /> <span style=\"color: #6A6A6A;font-weight: 600;\">${\n data.condition.toLowerCase() === \"or\" ? \"Or\" : \"And\"\n } When,</span> `\n );\n\n return `<p style=\"font-family: 'DM Sans'; font-size: 13.33px; font-weight: 400;line-height: 30px; color: #848484;\"><span style=\"color: #6A6A6A;font-weight: 600;\">When</span> ${filterConditions}</p>`;\n};\n\n"],"names":["_a","_b","_c","operatorOptions"],"mappings":"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"}
@@ -65,7 +65,7 @@ const EventSetup = ({
65
65
  );
66
66
  }
67
67
  }, [actions == null ? void 0 : actions.value, objects == null ? void 0 : objects.value, actions, objects, eventFields]);
68
- const isContinueDisabled = React.useMemo(
68
+ React.useMemo(
69
69
  () => validation_utils.isEventSetupDisabled(actions, objects, eventFields),
70
70
  [actions, objects, eventFields]
71
71
  );
@@ -213,7 +213,6 @@ const EventSetup = ({
213
213
  size: "lg",
214
214
  rightIcon: /* @__PURE__ */ React.createElement(chevronRight.ChevronRightIcon, null),
215
215
  css: { marginTop: "$16" },
216
- disabled: isContinueDisabled || forceDisableEventSetupCTA,
217
216
  onClick: handleContinueClick
218
217
  },
219
218
  uiStrings.TRIGGERS_UI_STRINGS.CONTINUE
@@ -1 +1 @@
1
- {"version":3,"file":"EventSetup.js","sources":["../../../../src/triggers/components/EventSetup.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useEffect, useCallback, useMemo } from \"react\";\nimport {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n Select,\n FormHelperText,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport { EventSetupProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled } from \"../utils\";\nimport { sanitizeHTML } from \"../../commons/utils\";\n\n/* ----- Helper Components ----- */\n\n/**\n * Custom multi-value component for Select\n *\n * @param {any} props - Component props\n * @returns {JSX.Element} Rendered custom pill\n */\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\n/* ----- Main Component ----- */\n\n/**\n * EventSetup component for configuring trigger event details\n *\n * @param {EventSetupProps} props - Component props\n * @returns {JSX.Element} Rendered EventSetup component\n */\nconst EventSetup: React.FC<EventSetupProps> = ({\n forceDisableEventSetupCTA,\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n}) => {\n /* ----- Effects ----- */\n\n useEffect(() => {\n if (\n actions?.options?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )?.length\n ) {\n actions?.onChangeHandler(\n Object.keys(actions?.value || {})?.length\n ? actions?.value\n : actions?.options\n ?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action)\n );\n }\n if (\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n ) {\n objects?.onChangeHandler(\n objects?.value ??\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n );\n }\n }, [actions?.value, objects?.value, actions, objects, eventFields]);\n\n /* ----- Constants ----- */\n\n const isContinueDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const accountValue = useMemo(\n () =>\n accounts?.options?.find(\n (account: any) => account?.value === eventFields?.account\n ) ?? accounts?.value,\n [accounts?.options, accounts?.value, eventFields?.account]\n );\n\n const objectValue = useMemo(\n () =>\n objects?.value ??\n objects?.options?.find(\n (object: any) => object.value === eventFields?.object\n ),\n [objects?.value, objects?.options, eventFields?.object]\n );\n\n const actionValue = useMemo(\n () =>\n Object.keys(actions?.value || {})?.length\n ? actions.value\n : actions?.options\n .filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action),\n [actions?.value, actions?.options, eventFields?.action]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleAccountChange = useCallback(\n (value: any) => {\n accounts.onChangeHandler(value);\n },\n [accounts]\n );\n\n const handleObjectChange = useCallback(\n (value: any) => {\n objects.onChangeHandler(value);\n },\n [objects]\n );\n\n const handleActionChange = useCallback(\n (value: any) => {\n actions.onChangeHandler(value);\n },\n [actions]\n );\n\n const handleContinueClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{TRIGGERS_UI_STRINGS.ACCOUNT_DETAILS}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {TRIGGERS_UI_STRINGS.SURVEY_NAME_LABEL}\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACCOUNT}\n </FormLabel>\n <Select\n value={accountValue}\n options={accounts.options}\n isMulti={accounts?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleAccountChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(accounts?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_OBJECT}\n </FormLabel>\n <Select\n options={objects.options}\n value={objectValue}\n isMulti={objects?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleObjectChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(objects?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACTION}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actionValue}\n isMulti={actions?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={handleActionChange}\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(actions?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n disabled={isContinueDisabled || forceDisableEventSetupCTA}\n onClick={handleContinueClick}\n >\n {TRIGGERS_UI_STRINGS.CONTINUE}\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default EventSetup;\n\n"],"names":["CustomPill","useEffect","_a","_b","_c","useMemo","isEventSetupDisabled","useCallback","Flex","Box","Heading","TRIGGERS_UI_STRINGS","Text","FormLabel","Select","FormHelperText","sanitizeHTML","Button","ChevronRightIcon"],"mappings":";;;;;;;;;;;;;;;;;;;AA4BA,MAAM,gBAAA,GAAkC,CAAC,KAAA,KAAU;AACjD,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACA,kBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,MAAM,IAAA,CAAK,KAAA;AAAA,MAClB,cAAA,EAAgB,MAAM,KAAA,CAAM,WAAA,CAAY,OAAA,EAAQ;AAAA,MAChD,OAAA,EAAQ,SAAA;AAAA,MACR,MAAA,EAAO;AAAA;AAAA,GACT;AAEJ,CAAA;AAUA,MAAM,aAAwC,CAAC;AAAA,EAC7C,yBAAA;AAAA,EACA,WAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAA,KAAM;AAvDN,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA0DE,EAAAC,eAAA,CAAU,MAAM;AA1DlB,IAAA,IAAAC,GAAAA,EAAAC,KAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA2DI,IAAA,IAAA,CACED,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA,KAAT,gBAAAA,GAAAA,CAAkB,MAAA;AAAA,MAAO,CAAC,MAAA,KAAa;AA5D7C,QAAA,IAAAA,GAAAA;AA6DQ,QAAA,OAAA,CAAAA,MAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAqB,SAAS,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAA;AAAA,MAAA;AAAA,KAAA,KADxC,IAAA,GAAA,MAAA,GAAAC,IAEG,MAAA,EACH;AACA,MAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,eAAA;AAAA,QAAA,CAAA,CACPC,GAAAA,GAAA,MAAA,CAAO,IAAA,CAAA,CAAK,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,UAAS,EAAE,CAAA,KAAhC,IAAA,GAAA,MAAA,GAAAA,IAAmC,MAAA,IAC/B,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,KAAA,GAAA,CACT,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,MAAA;AAAA,UAAO,CAAC,MAAA,KAAa;AApErC,YAAA,IAAAF,GAAAA;AAqEgB,YAAA,OAAA,CAAAA,MAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAqB,SAAS,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAA;AAAA,UAAA;AAAA,SAAA,KAF1C,IAAA,GAAA,MAAA,GAAA,EAAA,CAII,GAAA,CAAI,CAAC,MAAA,KAAgB,MAAA;AAAA,OAAA;AAAA,IAEjC;AACA,IAAA,IAAA,CACE,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,IAAA;AAAA,MAChB,CAAC,MAAA,KAAA,CAAgB,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,OAAU,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA;AAAA,KAAA,EAElD;AACA,MAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,eAAA;AAAA,QAAA,CACP,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,KAAA,KAAT,IAAA,GAAA,EAAA,GAAA,CACE,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,YAAT,IAAA,GAAA,MAAA,GAAA,EAAA,CAAkB,IAAA;AAAA,UAChB,CAAC,MAAA,KAAA,CAAgB,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,OAAU,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA;AAAA;AAAA,OAAA;AAAA,IAGxD;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,KAAA,EAAO,mCAAS,KAAA,EAAO,OAAA,EAAS,OAAA,EAAS,WAAW,CAAC,CAAA;AAIlE,EAAA,MAAM,kBAAA,GAAqBG,aAAA;AAAA,IACzB,MAAMC,qCAAA,CAAqB,OAAA,EAAS,OAAA,EAAS,WAAW,CAAA;AAAA,IACxD,CAAC,OAAA,EAAS,OAAA,EAAS,WAAW;AAAA,GAChC;AAEA,EAAA,MAAM,YAAA,GAAeD,aAAA;AAAA,IACnB,MAAG;AAhGP,MAAA,IAAAH,GAAAA,EAAAC,GAAAA;AAiGM,MAAA,OAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,OAAA,KAAV,gBAAAA,GAAAA,CAAmB,IAAA;AAAA,QACjB,CAAC,OAAA,KAAA,CAAiB,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,KAAA,OAAU,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,OAAA;AAAA,OAAA,KADpD,IAAA,GAAAC,MAEK,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,KAAA;AAAA,IAAA,CAAA;AAAA,IACjB,CAAC,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,OAAA,EAAS,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,KAAA,EAAO,2CAAa,OAAO;AAAA,GAC3D;AAEA,EAAA,MAAM,WAAA,GAAcE,aAAA;AAAA,IAClB,MAAG;AAxGP,MAAA,IAAAH,GAAAA,EAAAC,GAAAA;AAyGM,MAAA,OAAA,CAAAA,GAAAA,GAAA,mCAAS,KAAA,KAAT,IAAA,GAAAA,OACAD,GAAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA,KAAT,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAkB,IAAA;AAAA,QAChB,CAAC,MAAA,KAAgB,MAAA,CAAO,KAAA,MAAU,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA;AAAA,OAAA;AAAA,IAAA,CAAA;AAAA,IAEnD,CAAC,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,KAAA,EAAO,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA,EAAS,2CAAa,MAAM;AAAA,GACxD;AAEA,EAAA,MAAM,WAAA,GAAcG,aAAA;AAAA,IAClB,MAAG;AAjHP,MAAA,IAAAH,GAAAA,EAAAC,GAAAA;AAkHM,MAAA,OAAA,CAAA,CAAAD,GAAAA,GAAA,MAAA,CAAO,IAAA,CAAA,CAAK,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,UAAS,EAAE,CAAA,KAAhC,IAAA,GAAA,MAAA,GAAAA,IAAmC,MAAA,IAC/B,OAAA,CAAQ,KAAA,GAAA,CACRC,GAAAA,GAAA,mCAAS,OAAA,CACN,MAAA;AAAA,QAAO,CAAC,MAAA,KAAa;AArHlC,UAAA,IAAAD,GAAAA;AAsHc,UAAA,OAAA,CAAAA,MAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAqB,SAAS,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAA;AAAA,QAAA;AAAA,OAAA,KAF1C,IAAA,GAAA,MAAA,GAAAC,GAAAA,CAII,GAAA,CAAI,CAAC,MAAA,KAAgB,MAAA,CAAA;AAAA,IAAA,CAAA;AAAA,IAC/B,CAAC,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,KAAA,EAAO,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA,EAAS,2CAAa,MAAM;AAAA,GACxD;AAIA,EAAA,MAAM,mBAAA,GAAsBI,iBAAA;AAAA,IAC1B,CAAC,KAAA,KAAe;AACd,MAAA,QAAA,CAAS,gBAAgB,KAAK,CAAA;AAAA,IAChC,CAAA;AAAA,IACA,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,kBAAA,GAAqBA,iBAAA;AAAA,IACzB,CAAC,KAAA,KAAe;AACd,MAAA,OAAA,CAAQ,gBAAgB,KAAK,CAAA;AAAA,IAC/B,CAAA;AAAA,IACA,CAAC,OAAO;AAAA,GACV;AAEA,EAAA,MAAM,kBAAA,GAAqBA,iBAAA;AAAA,IACzB,CAAC,KAAA,KAAe;AACd,MAAA,OAAA,CAAQ,gBAAgB,KAAK,CAAA;AAAA,IAC/B,CAAA;AAAA,IACA,CAAC,OAAO;AAAA,GACV;AAEA,EAAA,MAAM,mBAAA,GAAsBA,kBAAY,MAAM;AAC5C,IAAA,mBAAA,CAAoB,IAAI,CAAA;AAAA,EAC1B,CAAA,EAAG,CAAC,mBAAmB,CAAC,CAAA;AAIxB,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,EAAE,UAAA,EAAY,KAAA,EAAM;AAAA,MACzB,UAAA,EAAW,QAAA;AAAA,MACX,cAAA,EAAe;AAAA,KAAA;AAAA,wCAEdC,OAAA,EAAA,EAAI,GAAA,EAAK,EAAE,KAAA,EAAO,KAAI,EAAA,kBACrB,KAAA,CAAA,aAAA,CAACC,eAAA,EAAA,EAAQ,IAAA,EAAK,QAAMC,6BAAA,CAAoB,eAAgB,mBACxD,KAAA,CAAA,aAAA,CAACH,SAAA,EAAA,EAAK,KAAI,IAAA,EAAK,GAAA,EAAK,EAAE,SAAA,EAAW,MAAK,EAAA,kBACpC,KAAA,CAAA,aAAA,CAACI,SAAA,EAAA,EAAK,IAAA,EAAK,MAAK,GAAA,EAAK,EAAE,KAAA,EAAO,aAAA,MAC3BD,6BAAA,CAAoB,iBACvB,mBACA,KAAA,CAAA,aAAA,CAACC,SAAA,EAAA,EAAK,MAAK,IAAA,EAAK,MAAA,EAAQ,QAAA,EAAU,GAAA,EAAK,EAAE,KAAA,EAAO,aAAA,EAAc,EAAA,EAC3D,aAAA,CAAc,UACjB,CACF,CAAA,kBACA,KAAA,CAAA,aAAA,CAACJ,SAAA,EAAA,EAAK,eAAc,QAAA,EAAS,GAAA,EAAI,MAAK,GAAA,EAAK,EAAE,WAAW,KAAA,EAAM,EAAA,EAAA,CAC3D,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,WAAA,yCACRA,SAAA,EAAA,EAAK,GAAA,EAAI,IAAA,EAAK,aAAA,EAAc,4BAC3B,KAAA,CAAA,aAAA,CAACK,mBAAA,EAAA,EAAU,IAAA,EAAK,IAAA,EAAK,KAAK,EAAE,UAAA,EAAY,MAAK,EAAA,EAC1CF,6BAAA,CAAoB,cACvB,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,MAACG,aAAA;AAAA,MAAA;AAAA,QACC,KAAA,EAAO,YAAA;AAAA,QACP,SAAS,QAAA,CAAS,OAAA;AAAA,QAClB,SAAS,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,OAAA;AAAA,QACnB,aAAaH,6BAAA,CAAoB,iBAAA;AAAA,QACjC,QAAA,EAAU,mBAAA;AAAA,QACV,IAAA,EAAK;AAAA;AAAA,KACP,kBACA,KAAA,CAAA,aAAA;AAAA,MAACI,6BAAA;AAAA,MAAA;AAAA,QACC,uBAAA,EAAyB;AAAA,UACvB,MAAA,EAAQC,kBAAA,CAAA,CAAa,EAAA,GAAA,QAAA,IAAA,IAAA,GAAA,MAAA,GAAA,QAAA,CAAU,UAAA,KAAV,YAAwB,EAAE;AAAA,SACjD;AAAA,QACA,IAAA,EAAK,IAAA;AAAA,QACL,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,aAAA;AAAA,UACP,CAAA,EAAG;AAAA,YACD,KAAA,EAAO;AAAA;AACT;AACF;AAAA,KAEJ,IAED,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,UAAA,yCACPR,SAAA,EAAA,EAAK,GAAA,EAAI,MAAK,aAAA,EAAc,QAAA,EAAA,sCAC1BK,mBAAA,EAAA,EAAU,IAAA,EAAK,MAAK,GAAA,EAAK,EAAE,YAAY,IAAA,EAAK,EAAA,EAC1CF,6BAAA,CAAoB,aACvB,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,MAACG,aAAA;AAAA,MAAA;AAAA,QACC,SAAS,OAAA,CAAQ,OAAA;AAAA,QACjB,KAAA,EAAO,WAAA;AAAA,QACP,SAAS,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA;AAAA,QAClB,aAAaH,6BAAA,CAAoB,iBAAA;AAAA,QACjC,QAAA,EAAU,kBAAA;AAAA,QACV,IAAA,EAAK;AAAA;AAAA,KACP,kBACA,KAAA,CAAA,aAAA;AAAA,MAACI,6BAAA;AAAA,MAAA;AAAA,QACC,uBAAA,EAAyB;AAAA,UACvB,MAAA,EAAQC,kBAAA,CAAA,CAAa,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,UAAA,KAAT,YAAuB,EAAE;AAAA,SAChD;AAAA,QACA,IAAA,EAAK,IAAA;AAAA,QACL,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,aAAA;AAAA,UACP,CAAA,EAAG;AAAA,YACD,KAAA,EAAO;AAAA;AACT;AACF;AAAA,KAEJ,IAED,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,UAAA,yCACPR,SAAA,EAAA,EAAK,GAAA,EAAI,MAAK,aAAA,EAAc,QAAA,EAAA,sCAC1BK,mBAAA,EAAA,EAAU,IAAA,EAAK,MAAK,GAAA,EAAK,EAAE,YAAY,IAAA,EAAK,EAAA,EAC1CF,6BAAA,CAAoB,aACvB,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,MAACG,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,SAAS,OAAA,CAAQ,OAAA;AAAA,QACjB,KAAA,EAAO,WAAA;AAAA,QACP,SAAS,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,OAAA;AAAA,QAClB,aAAaH,6BAAA,CAAoB,iBAAA;AAAA,QACjC,GAAA,EAAK;AAAA,UACH,0CAAA,EAA4C;AAAA,YAC1C,GAAA,EAAK;AAAA;AACP,SACF;AAAA,QACA,UAAA,EAAY;AAAA,UACV,UAAA,EAAY;AAAA,SACd;AAAA,QACA,QAAA,EAAU;AAAA;AAAA,KACZ,kBACA,KAAA,CAAA,aAAA;AAAA,MAACI,6BAAA;AAAA,MAAA;AAAA,QACC,uBAAA,EAAyB;AAAA,UACvB,MAAA,EAAQC,kBAAA,CAAA,CAAa,EAAA,GAAA,OAAA,IAAA,IAAA,GAAA,MAAA,GAAA,OAAA,CAAS,UAAA,KAAT,YAAuB,EAAE;AAAA,SAChD;AAAA,QACA,IAAA,EAAK,IAAA;AAAA,QACL,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,aAAA;AAAA,UACP,CAAA,EAAG;AAAA,YACD,KAAA,EAAO;AAAA;AACT;AACF;AAAA,KAEJ,CAEJ,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,SAAA,sCAAYC,6BAAA,EAAA,IAAiB,CAAA;AAAA,QAC7B,GAAA,EAAK,EAAE,SAAA,EAAW,KAAA,EAAM;AAAA,QACxB,UAAU,kBAAA,IAAsB,yBAAA;AAAA,QAChC,OAAA,EAAS;AAAA,OAAA;AAAA,MAERP,6BAAA,CAAoB;AAAA,KAEzB;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"EventSetup.js","sources":["../../../../src/triggers/components/EventSetup.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useEffect, useCallback, useMemo } from \"react\";\nimport {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n Select,\n FormHelperText,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport { EventSetupProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled } from \"../utils\";\nimport { sanitizeHTML } from \"../../commons/utils\";\n\n/* ----- Helper Components ----- */\n\n/**\n * Custom multi-value component for Select\n *\n * @param {any} props - Component props\n * @returns {JSX.Element} Rendered custom pill\n */\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\n/* ----- Main Component ----- */\n\n/**\n * EventSetup component for configuring trigger event details\n *\n * @param {EventSetupProps} props - Component props\n * @returns {JSX.Element} Rendered EventSetup component\n */\nconst EventSetup: React.FC<EventSetupProps> = ({\n forceDisableEventSetupCTA,\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n}) => {\n /* ----- Effects ----- */\n\n useEffect(() => {\n if (\n actions?.options?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )?.length\n ) {\n actions?.onChangeHandler(\n Object.keys(actions?.value || {})?.length\n ? actions?.value\n : actions?.options\n ?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action)\n );\n }\n if (\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n ) {\n objects?.onChangeHandler(\n objects?.value ??\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n );\n }\n }, [actions?.value, objects?.value, actions, objects, eventFields]);\n\n /* ----- Constants ----- */\n\n const isContinueDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const accountValue = useMemo(\n () =>\n accounts?.options?.find(\n (account: any) => account?.value === eventFields?.account\n ) ?? accounts?.value,\n [accounts?.options, accounts?.value, eventFields?.account]\n );\n\n const objectValue = useMemo(\n () =>\n objects?.value ??\n objects?.options?.find(\n (object: any) => object.value === eventFields?.object\n ),\n [objects?.value, objects?.options, eventFields?.object]\n );\n\n const actionValue = useMemo(\n () =>\n Object.keys(actions?.value || {})?.length\n ? actions.value\n : actions?.options\n .filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action),\n [actions?.value, actions?.options, eventFields?.action]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleAccountChange = useCallback(\n (value: any) => {\n accounts.onChangeHandler(value);\n },\n [accounts]\n );\n\n const handleObjectChange = useCallback(\n (value: any) => {\n objects.onChangeHandler(value);\n },\n [objects]\n );\n\n const handleActionChange = useCallback(\n (value: any) => {\n actions.onChangeHandler(value);\n },\n [actions]\n );\n\n const handleContinueClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{TRIGGERS_UI_STRINGS.ACCOUNT_DETAILS}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {TRIGGERS_UI_STRINGS.SURVEY_NAME_LABEL}\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACCOUNT}\n </FormLabel>\n <Select\n value={accountValue}\n options={accounts.options}\n isMulti={accounts?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleAccountChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(accounts?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_OBJECT}\n </FormLabel>\n <Select\n options={objects.options}\n value={objectValue}\n isMulti={objects?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleObjectChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(objects?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACTION}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actionValue}\n isMulti={actions?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={handleActionChange}\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(actions?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n // disabled={isContinueDisabled || forceDisableEventSetupCTA}\n onClick={handleContinueClick}\n >\n {TRIGGERS_UI_STRINGS.CONTINUE}\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default EventSetup;\n\n"],"names":["CustomPill","useEffect","_a","_b","_c","useMemo","isEventSetupDisabled","useCallback","Flex","Box","Heading","TRIGGERS_UI_STRINGS","Text","FormLabel","Select","FormHelperText","sanitizeHTML","Button","ChevronRightIcon"],"mappings":"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"}
@@ -202,7 +202,7 @@ const Filter = ({
202
202
  filters,
203
203
  fieldType: "value"
204
204
  },
205
- Array.isArray(currentFilter.value) ? currentFilter.value.join(", ") : currentFilter.value
205
+ field_helper.getFieldValueLabel(currentFilter, fieldOptions)
206
206
  )),
207
207
  /* @__PURE__ */ React.createElement(
208
208
  iconButton.IconButton,
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sources":["../../../../../src/triggers/components/filter/filter.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback } from 'react';\nimport { Flex, Box, IconButton, Text } from '@sparrowengg/twigs-react';\nimport { CloseIcon } from '@sparrowengg/twigs-react-icons';\nimport NestedAddIcon from '../../../commons/icons/nested-add';\nimport Trash from '../../../commons/icons/trash';\nimport CustomPill from '../../../commons/components/custom-pill';\nimport { getCurrentConditionText } from '../../helpers';\nimport { getFieldLabel } from '../../helpers/field.helper';\nimport { CustomConditionChip, CustomFieldChip } from '../filter-chips';\nimport { FieldPopover } from '../field-popover';\nimport { DataTypePopover } from './data-type-popover';\nimport { FieldValuePopover } from './field-value-popover';\n\n/* ----- Types / Interfaces ----- */\n\ntype FilterProps = {\n setIsEditing: (isEditing: boolean) => void;\n filters: any;\n fields: any;\n hasNestedCondition: boolean;\n index: number;\n isEditing: boolean;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n resetEditing: () => void;\n addNestedFilterCondition: (id: string) => void;\n setNestedFieldCondition: (id: string, condition: string) => void;\n removeCurrentFilter: (id: string) => void;\n removeNestedField: (filterId: string, fieldId: string) => void;\n fieldOptions: any;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Filter component for displaying and managing filter conditions\n *\n * @param {FilterProps} props - Component props\n * @returns {JSX.Element} Rendered filter component\n */\nexport const Filter: React.FC<FilterProps> = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n hasNestedCondition,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}) => {\n /* ----- Event Handlers ----- */\n\n const handleAddNestedFilter = useCallback(() => {\n addNestedFilterCondition(filters.id);\n }, [addNestedFilterCondition, filters.id]);\n\n const handleRemoveFilter = useCallback(() => {\n removeCurrentFilter(filters.id);\n }, [removeCurrentFilter, filters.id]);\n\n const handleToggleCondition = useCallback(() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === 'or' ? 'AND' : 'OR'\n );\n }, [setNestedFieldCondition, filters.id, filters.condition]);\n\n const handleRemoveNestedField = useCallback(\n (currentFilterId: string) => {\n removeNestedField(filters.id, currentFilterId);\n },\n [removeNestedField, filters.id]\n );\n\n /* ----- Render ----- */\n\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: '$4',\n '&:hover': {\n '#action-btn': {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: 'nowrap',\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: '$borderWidths$xs solid $black200',\n width: '100%',\n marginLeft: '$3',\n position: 'relative',\n }}\n >\n <Flex\n css={{\n position: 'absolute',\n right: 0,\n top: '-$6',\n background: '$white900',\n paddingLeft: '$2',\n opacity: 0,\n transition: 'all .3s ease',\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n {hasNestedCondition && (\n <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleAddNestedFilter}\n aria-label=\"Add nested filter\"\n />\n )}\n\n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleRemoveFilter}\n aria-label=\"Remove filter\"\n />\n </Flex>\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n key={currentFilter.id}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n '&:hover': {\n '& button': {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box css={{ cursor: 'pointer' }} onClick={handleToggleCondition}>\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {getFieldLabel(currentFilter, fieldOptions)}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {Array.isArray(currentFilter.value)\n ? currentFilter.value.join(', ')\n : currentFilter.value}\n </CustomFieldChip>\n )}\n </Flex>\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => handleRemoveNestedField(currentFilter.id)}\n aria-label=\"Remove nested field\"\n />\n </Flex>\n ))}\n </Flex>\n );\n};\n"],"names":["useCallback","Flex","Text","Box","IconButton","NestedAddIcon","Trash","CustomPill","FieldPopover","CustomFieldChip","getFieldLabel","DataTypePopover","getCurrentConditionText","FieldValuePopover","CloseIcon"],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sources":["../../../../../src/triggers/components/filter/filter.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback } from 'react';\nimport { Flex, Box, IconButton, Text } from '@sparrowengg/twigs-react';\nimport { CloseIcon } from '@sparrowengg/twigs-react-icons';\nimport NestedAddIcon from '../../../commons/icons/nested-add';\nimport Trash from '../../../commons/icons/trash';\nimport CustomPill from '../../../commons/components/custom-pill';\nimport { getCurrentConditionText } from '../../helpers';\nimport { getFieldLabel, getFieldValueLabel } from '../../helpers/field.helper';\nimport { CustomConditionChip, CustomFieldChip } from '../filter-chips';\nimport { FieldPopover } from '../field-popover';\nimport { DataTypePopover } from './data-type-popover';\nimport { FieldValuePopover } from './field-value-popover';\n\n/* ----- Types / Interfaces ----- */\n\ntype FilterProps = {\n setIsEditing: (isEditing: boolean) => void;\n filters: any;\n fields: any;\n hasNestedCondition: boolean;\n index: number;\n isEditing: boolean;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n resetEditing: () => void;\n addNestedFilterCondition: (id: string) => void;\n setNestedFieldCondition: (id: string, condition: string) => void;\n removeCurrentFilter: (id: string) => void;\n removeNestedField: (filterId: string, fieldId: string) => void;\n fieldOptions: any;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Filter component for displaying and managing filter conditions\n *\n * @param {FilterProps} props - Component props\n * @returns {JSX.Element} Rendered filter component\n */\nexport const Filter: React.FC<FilterProps> = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n hasNestedCondition,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}) => {\n /* ----- Event Handlers ----- */\n\n const handleAddNestedFilter = useCallback(() => {\n addNestedFilterCondition(filters.id);\n }, [addNestedFilterCondition, filters.id]);\n\n const handleRemoveFilter = useCallback(() => {\n removeCurrentFilter(filters.id);\n }, [removeCurrentFilter, filters.id]);\n\n const handleToggleCondition = useCallback(() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === 'or' ? 'AND' : 'OR'\n );\n }, [setNestedFieldCondition, filters.id, filters.condition]);\n\n const handleRemoveNestedField = useCallback(\n (currentFilterId: string) => {\n removeNestedField(filters.id, currentFilterId);\n },\n [removeNestedField, filters.id]\n );\n\n /* ----- Render ----- */\n\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: '$4',\n '&:hover': {\n '#action-btn': {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: 'nowrap',\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: '$borderWidths$xs solid $black200',\n width: '100%',\n marginLeft: '$3',\n position: 'relative',\n }}\n >\n <Flex\n css={{\n position: 'absolute',\n right: 0,\n top: '-$6',\n background: '$white900',\n paddingLeft: '$2',\n opacity: 0,\n transition: 'all .3s ease',\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n {hasNestedCondition && (\n <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleAddNestedFilter}\n aria-label=\"Add nested filter\"\n />\n )}\n\n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleRemoveFilter}\n aria-label=\"Remove filter\"\n />\n </Flex>\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n key={currentFilter.id}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n '&:hover': {\n '& button': {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box css={{ cursor: 'pointer' }} onClick={handleToggleCondition}>\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {getFieldLabel(currentFilter, fieldOptions)}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {getFieldValueLabel(currentFilter, fieldOptions)}\n </CustomFieldChip>\n )}\n </Flex>\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => handleRemoveNestedField(currentFilter.id)}\n aria-label=\"Remove nested field\"\n />\n </Flex>\n ))}\n </Flex>\n );\n};\n"],"names":["useCallback","Flex","Text","Box","IconButton","NestedAddIcon","Trash","CustomPill","FieldPopover","CustomFieldChip","getFieldLabel","DataTypePopover","getCurrentConditionText","FieldValuePopover","getFieldValueLabel","CloseIcon"],"mappings":"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"}
@@ -4,6 +4,23 @@ const getFieldLabel = (currentFilter, fieldOptions) => {
4
4
  var _a, _b, _c, _d;
5
5
  return (_d = (_c = (_a = fieldOptions == null ? void 0 : fieldOptions.find((option) => option.value === currentFilter.field)) == null ? void 0 : _a.label) != null ? _c : (_b = currentFilter.field) == null ? void 0 : _b.label) != null ? _d : currentFilter.field;
6
6
  };
7
+ const getFieldValueLabel = (currentFilter, fieldOptions) => {
8
+ var _a, _b, _c, _d;
9
+ const options = ((_a = fieldOptions == null ? void 0 : fieldOptions.find((option) => option.value === currentFilter.field)) == null ? void 0 : _a.options) || ((_b = currentFilter == null ? void 0 : currentFilter.field) == null ? void 0 : _b.options) || [];
10
+ if (!options.length) {
11
+ return Array.isArray(currentFilter.value) ? currentFilter.value.join(", ") : currentFilter.value;
12
+ }
13
+ if (Array.isArray(currentFilter.value)) {
14
+ return currentFilter.value.map(
15
+ (val) => {
16
+ var _a2, _b2;
17
+ return (_b2 = (_a2 = options.find((opt) => opt.value === val)) == null ? void 0 : _a2.label) != null ? _b2 : val;
18
+ }
19
+ ).join(", ");
20
+ }
21
+ return (_d = (_c = options.find((opt) => opt.value === currentFilter.value)) == null ? void 0 : _c.label) != null ? _d : currentFilter.value;
22
+ };
7
23
 
8
24
  exports.getFieldLabel = getFieldLabel;
25
+ exports.getFieldValueLabel = getFieldValueLabel;
9
26
  //# sourceMappingURL=field.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.helper.js","sources":["../../../../src/triggers/helpers/field.helper.ts"],"sourcesContent":["/* ----- Helper Functions ----- */\n\n/**\n * Get field label from field options\n *\n * @param {any} currentFilter - Current filter object\n * @param {any[]} fieldOptions - Available field options\n * @returns {string} Field label\n */\nexport const getFieldLabel = (\n currentFilter: any,\n fieldOptions: any[]\n): string => {\n return (\n fieldOptions?.find((option: any) => option.value === currentFilter.field)\n ?.label ??\n currentFilter.field?.label ??\n currentFilter.field\n );\n};\n\n/**\n * Render field value with proper formatting\n *\n * @param {any} value - Value to render\n * @returns {string} Formatted value\n */\nexport const renderFieldValue = (value: any): string => {\n if (value === true) return 'True';\n if (value === false) return 'False';\n if (Array.isArray(value)) return value.join(', ');\n return value;\n};\n"],"names":[],"mappings":";;AASO,MAAM,aAAA,GAAgB,CAC3B,aAAA,EACA,YAAA,KACW;AAZb,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,OAAA,CACE,8DAAc,IAAA,CAAK,CAAC,MAAA,KAAgB,MAAA,CAAO,UAAU,aAAA,CAAc,KAAA,CAAA,KAAnE,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,KAAA,KADJ,aAEA,EAAA,GAAA,aAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,KAAA,KAFrB,YAGA,aAAA,CAAc,KAAA;AAElB;;;;"}
1
+ {"version":3,"file":"field.helper.js","sources":["../../../../src/triggers/helpers/field.helper.ts"],"sourcesContent":["/* ----- Helper Functions ----- */\n\n/**\n * Get field label from field options\n *\n * @param {any} currentFilter - Current filter object\n * @param {any[]} fieldOptions - Available field options\n * @returns {string} Field label\n */\nexport const getFieldLabel = (\n currentFilter: any,\n fieldOptions: any[]\n): string => {\n return (\n fieldOptions?.find((option: any) => option.value === currentFilter.field)\n ?.label ??\n currentFilter.field?.label ??\n currentFilter.field\n );\n};\n\n/**\n * Render field value with proper formatting\n *\n * @param {any} value - Value to render\n * @returns {string} Formatted value\n */\nexport const renderFieldValue = (value: any): string => {\n if (value === true) return 'True';\n if (value === false) return 'False';\n if (Array.isArray(value)) return value.join(', ');\n return value;\n};\n\n/**\n * Resolve a filter's stored value(s) to display labels using field options.\n * Falls back to the raw value when no matching options are found.\n *\n * @param {any} currentFilter - Current filter object\n * @param {any[]} fieldOptions - Available field options\n * @returns {string} Display label(s) for the filter value\n */\nexport const getFieldValueLabel = (\n currentFilter: any,\n fieldOptions: any[]\n): string => {\n const options =\n fieldOptions?.find((option: any) => option.value === currentFilter.field)\n ?.options ||\n currentFilter?.field?.options ||\n [];\n\n if (!options.length) {\n return Array.isArray(currentFilter.value)\n ? currentFilter.value.join(', ')\n : currentFilter.value;\n }\n\n if (Array.isArray(currentFilter.value)) {\n return currentFilter.value\n .map(\n (val: string) =>\n options.find((opt: any) => opt.value === val)?.label ?? val\n )\n .join(', ');\n }\n\n return (\n options.find((opt: any) => opt.value === currentFilter.value)?.label ??\n currentFilter.value\n );\n};\n"],"names":["_a","_b"],"mappings":";;AASO,MAAM,aAAA,GAAgB,CAC3B,aAAA,EACA,YAAA,KACW;AAZb,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,OAAA,CACE,8DAAc,IAAA,CAAK,CAAC,MAAA,KAAgB,MAAA,CAAO,UAAU,aAAA,CAAc,KAAA,CAAA,KAAnE,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,KAAA,KADJ,aAEA,EAAA,GAAA,aAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,KAAA,KAFrB,YAGA,aAAA,CAAc,KAAA;AAElB;AAuBO,MAAM,kBAAA,GAAqB,CAChC,aAAA,EACA,YAAA,KACW;AA7Cb,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA8CE,EAAA,MAAM,OAAA,GAAA,CAAA,CACJ,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,IAAA,CAAK,CAAC,WAAgB,MAAA,CAAO,KAAA,KAAU,aAAA,CAAc,KAAA,CAAA,KAAnE,mBACI,OAAA,MAAA,CACJ,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA,KAAf,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,YACtB,EAAC;AAEH,EAAA,IAAI,CAAC,QAAQ,MAAA,EAAQ;AACnB,IAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,aAAA,CAAc,KAAK,CAAA,GACpC,cAAc,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,GAC7B,aAAA,CAAc,KAAA;AAAA,EACpB;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,aAAA,CAAc,KAAK,CAAA,EAAG;AACtC,IAAA,OAAO,cAAc,KAAA,CAClB,GAAA;AAAA,MACC,CAAC,GAAA,KAAa;AA7DtB,QAAA,IAAAA,GAAAA,EAAAC,GAAAA;AA8DU,QAAA,OAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,GAAG,CAAA,KAA5C,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAA+C,KAAA,KAA/C,OAAAC,GAAAA,GAAwD,GAAA;AAAA,MAAA;AAAA,KAC5D,CACC,KAAK,IAAI,CAAA;AAAA,EACd;AAEA,EAAA,OAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,aAAA,CAAc,KAAK,CAAA,KAA5D,IAAA,GAAA,MAAA,GAAA,EAAA,CAA+D,KAAA,KAA/D,IAAA,GAAA,EAAA,GACA,aAAA,CAAc,KAAA;AAElB;;;;;"}
@@ -89,18 +89,25 @@ const Configuration = ({
89
89
  /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "regular", css: { color: "$neutral900" } }, field.label)
90
90
  )), /* @__PURE__ */ React__default.createElement(Text, { size: "sm", weight: "regular", css: { color: "$neutral500" } }, checkboxDescription));
91
91
  const renderInputField = () => /* @__PURE__ */ React__default.createElement(
92
- Box,
92
+ Flex,
93
93
  {
94
94
  className: "dm-sans",
95
+ alignItems: "center",
96
+ gap: "$4",
95
97
  css: {
98
+ width: "100%",
96
99
  label: {
97
100
  fontSize: "$xs !important"
98
101
  }
99
102
  }
100
103
  },
101
- /* @__PURE__ */ React__default.createElement(
104
+ /* @__PURE__ */ React__default.createElement(Box, { css: {
105
+ width: (field == null ? void 0 : field.rightElement) ? "90%" : "100%",
106
+ flex: 1
107
+ } }, /* @__PURE__ */ React__default.createElement(
102
108
  FormInput,
103
109
  __spreadProps(__spreadValues(__spreadProps(__spreadValues({
110
+ helperText: field.helperText || "dff",
104
111
  placeholder: field.placeholder || "",
105
112
  className: "dm-sans",
106
113
  disabled: field == null ? void 0 : field.disabled
@@ -116,7 +123,8 @@ const Configuration = ({
116
123
  }), {
117
124
  onChange: handleInputChange
118
125
  })
119
- )
126
+ )),
127
+ (field == null ? void 0 : field.rightElement) && field.rightElement()
120
128
  );
121
129
  const renderSelectField = () => /* @__PURE__ */ React__default.createElement(
122
130
  Flex,
@@ -1 +1 @@
1
- {"version":3,"file":"configuration.js","sources":["../../../../src/dynamic-mapping/components/configuration.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo } from 'react';\nimport { Box, Flex, Text, Switch, Checkbox, FormInput, FormLabel } from '@sparrowengg/twigs-react';\nimport { CustomAddNewSelect } from './custom-add-new-select';\nimport { useConfigurationField } from '../hooks';\nimport { isConfigurationFieldVisible } from '../helpers';\n\n/* ----- Types / Interfaces ----- */\n\ninterface ConfigurationProps {\n field: any;\n configuredFields: any;\n responseImportType?: string | null;\n}\n\n/* ----- Main Component ----- */\n\n/**\n * Configuration field component with dynamic field type rendering\n * \n * @param {ConfigurationProps} props - Component props\n * @returns {JSX.Element | null} Configuration field component\n * \n * @example\n * <Configuration\n * field={configField}\n * configuredFields={fields}\n * />\n */\nexport const Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: ConfigurationProps): JSX.Element | null => {\n const { error, fieldValue, handleInputChange, handleCheckboxChange, handleSwitchChange } =\n useConfigurationField({\n field,\n configuredFields,\n });\n\n const isVisible = useMemo(\n () => isConfigurationFieldVisible(field, configuredFields),\n [field, configuredFields]\n );\n\n const checkboxDescription = useMemo(() => {\n if (field.fieldType !== 'checkbox') return '';\n if (field.value && typeof field.ifChecked === 'function') {\n return field.ifChecked();\n }\n if (!field.value && typeof field.ifUnchecked === 'function') {\n return field.ifUnchecked(responseImportType);\n }\n return '';\n }, [field, responseImportType]);\n\n if (!isVisible) return null;\n\n const renderSwitchField = () => (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: '$12',\n borderTop: '$borderWidths$xs solid $neutral200',\n paddingTop: '$16',\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={handleSwitchChange}\n />\n <Text size=\"md\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n const renderCheckboxField = () => (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) => handleCheckboxChange(value as boolean)}\n >\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral500' }}>\n {checkboxDescription}\n </Text>\n </Flex>\n );\n\n const renderInputField = () => (\n <Box\n className=\"dm-sans\"\n css={{\n label: {\n fontSize: '$xs !important',\n },\n }}\n >\n <FormInput\n placeholder={field.placeholder || ''}\n className=\"dm-sans\"\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === 'object' ? '' : fieldValue || ''}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={handleInputChange}\n />\n </Box>\n );\n\n const renderSelectField = () => (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: 'pointer !important',\n '.twigs-select__indicator': {\n width: '14px !important',\n color: '#848484 !important',\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: '$5' }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n );\n\n switch (field.fieldType) {\n case 'switch':\n return renderSwitchField();\n case 'checkbox':\n return renderCheckboxField();\n case 'input':\n return renderInputField();\n default:\n return renderSelectField();\n }\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"configuration.js","sources":["../../../../src/dynamic-mapping/components/configuration.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useMemo } from 'react';\nimport { Box, Flex, Text, Switch, Checkbox, FormInput, FormLabel, IconButton } from '@sparrowengg/twigs-react';\nimport { CustomAddNewSelect } from './custom-add-new-select';\nimport { useConfigurationField } from '../hooks';\nimport { isConfigurationFieldVisible } from '../helpers';\n\n/* ----- Types / Interfaces ----- */\n\ninterface ConfigurationProps {\n field: any;\n configuredFields: any;\n responseImportType?: string | null;\n}\n\n/* ----- Main Component ----- */\n\n/**\n * Configuration field component with dynamic field type rendering\n * \n * @param {ConfigurationProps} props - Component props\n * @returns {JSX.Element | null} Configuration field component\n * \n * @example\n * <Configuration\n * field={configField}\n * configuredFields={fields}\n * />\n */\nexport const Configuration = ({\n field,\n configuredFields,\n responseImportType = null,\n}: ConfigurationProps): JSX.Element | null => {\n const { error, fieldValue, handleInputChange, handleCheckboxChange, handleSwitchChange } =\n useConfigurationField({\n field,\n configuredFields,\n });\n\n const isVisible = useMemo(\n () => isConfigurationFieldVisible(field, configuredFields),\n [field, configuredFields]\n );\n\n const checkboxDescription = useMemo(() => {\n if (field.fieldType !== 'checkbox') return '';\n if (field.value && typeof field.ifChecked === 'function') {\n return field.ifChecked();\n }\n if (!field.value && typeof field.ifUnchecked === 'function') {\n return field.ifUnchecked(responseImportType);\n }\n return '';\n }, [field, responseImportType]);\n\n if (!isVisible) return null;\n\n const renderSwitchField = () => (\n <Flex\n gap=\"$4\"\n alignItems=\"center\"\n css={{\n marginBlockStart: '$12',\n borderTop: '$borderWidths$xs solid $neutral200',\n paddingTop: '$16',\n }}\n >\n <Switch\n disabled={field?.disabled}\n size=\"sm\"\n checked={field?.value}\n onChange={handleSwitchChange}\n />\n <Text size=\"md\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Flex>\n );\n\n const renderCheckboxField = () => (\n <Flex flexDirection=\"column\" alignItems=\"start\" gap=\"$4\">\n <Flex gap=\"$4\" alignItems=\"center\">\n <Checkbox\n disabled={field?.disabled}\n checked={!!fieldValue}\n onChange={(value) => handleCheckboxChange(value as boolean)}\n >\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral900' }}>\n {field.label}\n </Text>\n </Checkbox>\n </Flex>\n <Text size=\"sm\" weight=\"regular\" css={{ color: '$neutral500' }}>\n {checkboxDescription}\n </Text>\n </Flex>\n );\n\n const renderInputField = () => (\n <Flex\n className=\"dm-sans\"\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n width: '100%',\n label: {\n fontSize: '$xs !important',\n },\n }}\n >\n <Box css={{\n width: field?.rightElement ? '90%' : '100%',\n flex: 1,\n }}>\n <FormInput\n helperText={field.helperText || 'dff'}\n placeholder={field.placeholder || ''}\n className=\"dm-sans\"\n disabled={field?.disabled}\n {...(error.id === field.id && {\n error: error.errorMessage,\n errorBorder: error.error,\n })}\n label={field.label}\n value={typeof fieldValue === 'object' ? '' : fieldValue || ''}\n size=\"lg\"\n {...(field.pattern && {\n pattern: field.pattern,\n })}\n onChange={handleInputChange}\n />\n </Box>\n {field?.rightElement && (\n field.rightElement()\n )}\n </Flex>\n );\n\n const renderSelectField = () => (\n <Flex\n gap=\"$2\"\n flexDirection=\"column\"\n css={{\n cursor: 'pointer !important',\n '.twigs-select__indicator': {\n width: '14px !important',\n color: '#848484 !important',\n },\n }}\n >\n <FormLabel size=\"xs\" css={{ fontWeight: '$5' }}>\n {field.label}\n </FormLabel>\n <CustomAddNewSelect field={field} />\n </Flex>\n );\n\n switch (field.fieldType) {\n case 'switch':\n return renderSwitchField();\n case 'checkbox':\n return renderCheckboxField();\n case 'input':\n return renderInputField();\n default:\n return renderSelectField();\n }\n};\n"],"names":["React"],"mappings":"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"}
@@ -22,11 +22,12 @@ const transformDataToString = (data, fieldOptions) => {
22
22
  const value = filter.value;
23
23
  const formattedComparator = ((_a2 = operatorOptions.find((option) => option.value === comparator)) == null ? void 0 : _a2.label) || comparator;
24
24
  const fieldOption = fieldOptions.find(
25
- (options) => options.value === field
25
+ (options) => options.value === (field == null ? void 0 : field.value)
26
26
  );
27
- const fieldLabel = (_c2 = (_b2 = fieldOption == null ? void 0 : fieldOption.label) != null ? _b2 : field == null ? void 0 : field.label) != null ? _c2 : field;
27
+ const fieldLabel = (_c2 = (_b2 = field == null ? void 0 : field.label) != null ? _b2 : fieldOption == null ? void 0 : fieldOption.label) != null ? _c2 : field;
28
28
  let displayValue = value;
29
29
  if (Array.isArray(value) && (fieldOption == null ? void 0 : fieldOption.options)) {
30
+ console.log("value", value);
30
31
  displayValue = value.map(
31
32
  (v) => {
32
33
  var _a3, _b3;
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-utils.js","sources":["../../../../src/integration-template/components/dashboard-utils.ts"],"sourcesContent":["import { operatorOptions } from \"../../commons/constants\";\nimport { FieldOptionsType } from \"../../commons/types/enhanced\";\n\n/**\n * Get default field value based on type\n */\nexport const getDefaultFieldValue = (defaultValue: {\n type: string;\n value: unknown;\n}): string => {\n if (!defaultValue) return \"--\";\n \n switch (defaultValue?.type) {\n case \"DATE_TIME\":\n case \"STRING\":\n return (defaultValue?.value as string) || \"--\";\n default:\n return (defaultValue?.value as any)?.label || \"--\";\n }\n};\n\n/**\n * Transform filter data to HTML string\n */\nexport const transformDataToString = (\n data: any,\n fieldOptions: FieldOptionsType\n): string => {\n const filterConditions = (data.filters as Record<string, unknown>[])\n .map((filterGroup: any) => {\n return (filterGroup.filter as Record<string, unknown>[])\n .map((filter: any) => {\n const field = filter.field;\n const comparator = filter.comparator;\n const value = filter.value;\n const formattedComparator =\n operatorOptions.find((option) => option.value === comparator)\n ?.label || comparator;\n const fieldOption = fieldOptions.find(\n (options: any) => options.value === field\n );\n const fieldLabel =\n fieldOption?.label ?? field?.label ?? field;\n\n let displayValue = value;\n if (Array.isArray(value) && (fieldOption as any)?.options) {\n displayValue = value\n .map(\n (v: string) =>\n (fieldOption as any).options.find((opt: any) => opt.value === v)?.label ?? v\n )\n .join(\", \");\n } else if (typeof value === \"string\" && (fieldOption as any)?.options) {\n displayValue =\n (fieldOption as any).options.find((opt: any) => opt.value === value)?.label ?? value;\n }\n\n return `${fieldLabel} ${\n formattedComparator === \"NO_PREFERENCE\"\n ? \"has no preference\"\n : formattedComparator\n } ${displayValue}`;\n })\n ?.join(\n ` <span style=\"color: #6A6A6A;font-weight: 600;\">${filterGroup.condition?.toLowerCase() ?? \"\"}</span> `\n );\n })\n .join(\n `<br /> <span style=\"color: #6A6A6A;font-weight: 600;\">${\n data.condition.toLowerCase() === \"or\" ? \"Or\" : \"And\"\n } When,</span> `\n );\n\n return `<p style=\"font-family: 'DM Sans'; font-size: 13.33px; font-weight: 400;line-height: 30px; color: #848484;\"><span style=\"color: #6A6A6A;font-weight: 600;\">When</span> ${filterConditions}</p>`;\n};\n\n"],"names":["_a","_b","_c"],"mappings":";;AAMO,MAAM,oBAAA,GAAuB,CAAC,YAAA,KAGvB;AATd,EAAA,IAAA,EAAA;AAUE,EAAA,IAAI,CAAC,YAAA;AAAc,IAAA,OAAO,IAAA;AAE1B,EAAA,QAAQ,6CAAc,IAAA;AAAM,IAC1B,KAAK,WAAA;AAAA,IACL,KAAK,QAAA;AACH,MAAA,OAAA,CAAQ,6CAAc,KAAA,KAAoB,IAAA;AAAA,IAC5C;AACE,MAAA,OAAA,CAAA,CAAQ,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAA6B,KAAA,KAAS,IAAA;AAAA;AAEpD;AAKO,MAAM,qBAAA,GAAwB,CACnC,IAAA,EACA,YAAA,KACW;AACX,EAAA,MAAM,gBAAA,GAAoB,IAAA,CAAK,OAAA,CAC5B,GAAA,CAAI,CAAC,WAAA,KAAqB;AA7B/B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA8BM,IAAA,OAAA,CAAQ,EAAA,GAAA,WAAA,CAAY,MAAA,CACjB,GAAA,CAAI,CAAC,MAAA,KAAgB;AA/B9B,MAAA,IAAAA,GAAAA,EAAAC,KAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA;AAgCU,MAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,MAAA,MAAM,aAAa,MAAA,CAAO,UAAA;AAC1B,MAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,MAAA,MAAM,mBAAA,GAAA,CAAA,CACJF,GAAAA,GAAA,eAAA,CAAgB,IAAA,CAAK,CAAC,MAAA,KAAW,MAAA,CAAO,KAAA,KAAU,UAAU,CAAA,KAA5D,IAAA,GAAA,MAAA,GAAAA,GAAAA,CACI,KAAA,KAAS,UAAA;AACf,MAAA,MAAM,cAAc,YAAA,CAAa,IAAA;AAAA,QAC/B,CAAC,OAAA,KAAiB,OAAA,CAAQ,KAAA,KAAU;AAAA,OACtC;AACA,MAAA,MAAM,UAAA,GAAA,CACJE,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,KAAA,KAAb,OAAAA,GAAAA,GAAsB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAA,KAA7B,IAAA,GAAAC,GAAAA,GAAsC,KAAA;AAExC,MAAA,IAAI,YAAA,GAAe,KAAA;AACnB,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,KAAM,2CAAqB,OAAA,CAAA,EAAS;AACzD,QAAA,YAAA,GAAe,KAAA,CACZ,GAAA;AAAA,UACC,CAAC,CAAA,KAAW;AAhD5B,YAAA,IAAAF,GAAAA,EAAAC,GAAAA;AAiDmB,YAAA,OAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,WAAA,CAAoB,OAAA,CAAQ,KAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,CAAC,CAAA,KAA9D,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAiE,KAAA,KAAjE,OAAAC,GAAAA,GAA0E,CAAA;AAAA,UAAA;AAAA,SAC/E,CACC,KAAK,IAAI,CAAA;AAAA,MACd,CAAA,MAAA,IAAW,OAAO,KAAA,KAAU,QAAA,KAAa,2CAAqB,OAAA,CAAA,EAAS;AACrE,QAAA,YAAA,GAAA,CACG,EAAA,GAAA,CAAA,EAAA,GAAA,WAAA,CAAoB,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,KAAK,CAAA,KAAlE,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqE,KAAA,KAArE,IAAA,GAAA,EAAA,GAA8E,KAAA;AAAA,MACnF;AAEA,MAAA,OAAO,CAAA,EAAG,UAAU,CAAA,CAAA,EAClB,mBAAA,KAAwB,kBACpB,mBAAA,GACA,mBACN,IAAI,YAAY,CAAA,CAAA;AAAA,IAClB,CAAC,MAhCK,IAAA,GAAA,MAAA,GAAA,EAAA,CAiCJ,IAAA;AAAA,MACA,oDAAmD,EAAA,GAAA,CAAA,EAAA,GAAA,WAAA,CAAY,SAAA,KAAZ,IAAA,GAAA,MAAA,GAAA,EAAA,CAAuB,WAAA,EAAA,KAAvB,YAAwC,EAAE,CAAA,QAAA;AAAA,KAAA;AAAA,EAEnG,CAAC,CAAA,CACA,IAAA;AAAA,IACC,yDACE,IAAA,CAAK,SAAA,CAAU,aAAY,KAAM,IAAA,GAAO,OAAO,KACjD,CAAA,cAAA;AAAA,GACF;AAEF,EAAA,OAAO,yKAAyK,gBAAgB,CAAA,IAAA,CAAA;AAClM;;;;"}
1
+ {"version":3,"file":"dashboard-utils.js","sources":["../../../../src/integration-template/components/dashboard-utils.ts"],"sourcesContent":["import { operatorOptions } from \"../../commons/constants\";\nimport { FieldOptionsType } from \"../../commons/types/enhanced\";\n\n/**\n * Get default field value based on type\n */\nexport const getDefaultFieldValue = (defaultValue: {\n type: string;\n value: unknown;\n}): string => {\n if (!defaultValue) return \"--\";\n \n switch (defaultValue?.type) {\n case \"DATE_TIME\":\n case \"STRING\":\n return (defaultValue?.value as string) || \"--\";\n default:\n return (defaultValue?.value as any)?.label || \"--\";\n }\n};\n\n/**\n * Transform filter data to HTML string\n */\nexport const transformDataToString = (\n data: any,\n fieldOptions: FieldOptionsType\n): string => {\n const filterConditions = (data.filters as Record<string, unknown>[])\n .map((filterGroup: any) => {\n return (filterGroup.filter as Record<string, unknown>[])\n .map((filter: any) => {\n const field = filter.field;\n const comparator = filter.comparator;\n const value = filter.value;\n const formattedComparator =\n operatorOptions.find((option) => option.value === comparator)\n ?.label || comparator;\n const fieldOption = fieldOptions.find(\n (options: any) => options.value === field?.value\n );\n const fieldLabel =\n field?.label ?? fieldOption?.label ?? field;\n\n let displayValue = value;\n if (Array.isArray(value) && (fieldOption as any)?.options) {\n console.log(\"value\", value);\n displayValue = value\n .map(\n (v: string) =>\n (fieldOption as any).options.find((opt: any) => opt.value === v)?.label ?? v\n )\n .join(\", \");\n } else if (typeof value === \"string\" && (fieldOption as any)?.options) {\n displayValue =\n (fieldOption as any).options.find((opt: any) => opt.value === value)?.label ?? value;\n }\n\n return `${fieldLabel} ${\n formattedComparator === \"NO_PREFERENCE\"\n ? \"has no preference\"\n : formattedComparator\n } ${displayValue}`;\n })\n ?.join(\n ` <span style=\"color: #6A6A6A;font-weight: 600;\">${filterGroup.condition?.toLowerCase() ?? \"\"}</span> `\n );\n })\n .join(\n `<br /> <span style=\"color: #6A6A6A;font-weight: 600;\">${\n data.condition.toLowerCase() === \"or\" ? \"Or\" : \"And\"\n } When,</span> `\n );\n\n return `<p style=\"font-family: 'DM Sans'; font-size: 13.33px; font-weight: 400;line-height: 30px; color: #848484;\"><span style=\"color: #6A6A6A;font-weight: 600;\">When</span> ${filterConditions}</p>`;\n};\n\n"],"names":["_a","_b","_c"],"mappings":";;AAMO,MAAM,oBAAA,GAAuB,CAAC,YAAA,KAGvB;AATd,EAAA,IAAA,EAAA;AAUE,EAAA,IAAI,CAAC,YAAA;AAAc,IAAA,OAAO,IAAA;AAE1B,EAAA,QAAQ,6CAAc,IAAA;AAAM,IAC1B,KAAK,WAAA;AAAA,IACL,KAAK,QAAA;AACH,MAAA,OAAA,CAAQ,6CAAc,KAAA,KAAoB,IAAA;AAAA,IAC5C;AACE,MAAA,OAAA,CAAA,CAAQ,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAA6B,KAAA,KAAS,IAAA;AAAA;AAEpD;AAKO,MAAM,qBAAA,GAAwB,CACnC,IAAA,EACA,YAAA,KACW;AACX,EAAA,MAAM,gBAAA,GAAoB,IAAA,CAAK,OAAA,CAC5B,GAAA,CAAI,CAAC,WAAA,KAAqB;AA7B/B,IAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA8BM,IAAA,OAAA,CAAQ,EAAA,GAAA,WAAA,CAAY,MAAA,CACjB,GAAA,CAAI,CAAC,MAAA,KAAgB;AA/B9B,MAAA,IAAAA,GAAAA,EAAAC,KAAAC,GAAAA,EAAA,EAAA,EAAA,EAAA;AAgCU,MAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,MAAA,MAAM,aAAa,MAAA,CAAO,UAAA;AAC1B,MAAA,MAAM,QAAQ,MAAA,CAAO,KAAA;AACrB,MAAA,MAAM,mBAAA,GAAA,CAAA,CACJF,GAAAA,GAAA,eAAA,CAAgB,IAAA,CAAK,CAAC,MAAA,KAAW,MAAA,CAAO,KAAA,KAAU,UAAU,CAAA,KAA5D,IAAA,GAAA,MAAA,GAAAA,GAAAA,CACI,KAAA,KAAS,UAAA;AACf,MAAA,MAAM,cAAc,YAAA,CAAa,IAAA;AAAA,QAC/B,CAAC,OAAA,KAAiB,OAAA,CAAQ,KAAA,MAAU,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAA;AAAA,OAC7C;AACA,MAAA,MAAM,UAAA,GAAA,CACNE,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,KAAA,KAAP,OAAAA,GAAAA,GAAiB,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,KAAA,KAA9B,IAAA,GAAAC,GAAAA,GAAuC,KAAA;AAEvC,MAAA,IAAI,YAAA,GAAe,KAAA;AACnB,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,KAAM,2CAAqB,OAAA,CAAA,EAAS;AACzD,QAAA,OAAA,CAAQ,GAAA,CAAI,SAAS,KAAK,CAAA;AAC1B,QAAA,YAAA,GAAe,KAAA,CACZ,GAAA;AAAA,UACC,CAAC,CAAA,KAAW;AAjD5B,YAAA,IAAAF,GAAAA,EAAAC,GAAAA;AAkDmB,YAAA,OAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,WAAA,CAAoB,OAAA,CAAQ,KAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,CAAC,CAAA,KAA9D,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAAiE,KAAA,KAAjE,OAAAC,GAAAA,GAA0E,CAAA;AAAA,UAAA;AAAA,SAC/E,CACC,KAAK,IAAI,CAAA;AAAA,MACd,CAAA,MAAA,IAAW,OAAO,KAAA,KAAU,QAAA,KAAa,2CAAqB,OAAA,CAAA,EAAS;AACrE,QAAA,YAAA,GAAA,CACG,EAAA,GAAA,CAAA,EAAA,GAAA,WAAA,CAAoB,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,KAAK,CAAA,KAAlE,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqE,KAAA,KAArE,IAAA,GAAA,EAAA,GAA8E,KAAA;AAAA,MACnF;AAEA,MAAA,OAAO,CAAA,EAAG,UAAU,CAAA,CAAA,EAClB,mBAAA,KAAwB,kBACpB,mBAAA,GACA,mBACN,IAAI,YAAY,CAAA,CAAA;AAAA,IAClB,CAAC,MAjCK,IAAA,GAAA,MAAA,GAAA,EAAA,CAkCJ,IAAA;AAAA,MACA,oDAAmD,EAAA,GAAA,CAAA,EAAA,GAAA,WAAA,CAAY,SAAA,KAAZ,IAAA,GAAA,MAAA,GAAA,EAAA,CAAuB,WAAA,EAAA,KAAvB,YAAwC,EAAE,CAAA,QAAA;AAAA,KAAA;AAAA,EAEnG,CAAC,CAAA,CACA,IAAA;AAAA,IACC,yDACE,IAAA,CAAK,SAAA,CAAU,aAAY,KAAM,IAAA,GAAO,OAAO,KACjD,CAAA,cAAA;AAAA,GACF;AAEF,EAAA,OAAO,yKAAyK,gBAAgB,CAAA,IAAA,CAAA;AAClM;;;;"}
@@ -61,7 +61,7 @@ const EventSetup = ({
61
61
  );
62
62
  }
63
63
  }, [actions == null ? void 0 : actions.value, objects == null ? void 0 : objects.value, actions, objects, eventFields]);
64
- const isContinueDisabled = useMemo(
64
+ useMemo(
65
65
  () => isEventSetupDisabled(actions, objects, eventFields),
66
66
  [actions, objects, eventFields]
67
67
  );
@@ -209,7 +209,6 @@ const EventSetup = ({
209
209
  size: "lg",
210
210
  rightIcon: /* @__PURE__ */ React__default.createElement(ChevronRightIcon, null),
211
211
  css: { marginTop: "$16" },
212
- disabled: isContinueDisabled || forceDisableEventSetupCTA,
213
212
  onClick: handleContinueClick
214
213
  },
215
214
  TRIGGERS_UI_STRINGS.CONTINUE
@@ -1 +1 @@
1
- {"version":3,"file":"EventSetup.js","sources":["../../../../src/triggers/components/EventSetup.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useEffect, useCallback, useMemo } from \"react\";\nimport {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n Select,\n FormHelperText,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport { EventSetupProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled } from \"../utils\";\nimport { sanitizeHTML } from \"../../commons/utils\";\n\n/* ----- Helper Components ----- */\n\n/**\n * Custom multi-value component for Select\n *\n * @param {any} props - Component props\n * @returns {JSX.Element} Rendered custom pill\n */\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\n/* ----- Main Component ----- */\n\n/**\n * EventSetup component for configuring trigger event details\n *\n * @param {EventSetupProps} props - Component props\n * @returns {JSX.Element} Rendered EventSetup component\n */\nconst EventSetup: React.FC<EventSetupProps> = ({\n forceDisableEventSetupCTA,\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n}) => {\n /* ----- Effects ----- */\n\n useEffect(() => {\n if (\n actions?.options?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )?.length\n ) {\n actions?.onChangeHandler(\n Object.keys(actions?.value || {})?.length\n ? actions?.value\n : actions?.options\n ?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action)\n );\n }\n if (\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n ) {\n objects?.onChangeHandler(\n objects?.value ??\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n );\n }\n }, [actions?.value, objects?.value, actions, objects, eventFields]);\n\n /* ----- Constants ----- */\n\n const isContinueDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const accountValue = useMemo(\n () =>\n accounts?.options?.find(\n (account: any) => account?.value === eventFields?.account\n ) ?? accounts?.value,\n [accounts?.options, accounts?.value, eventFields?.account]\n );\n\n const objectValue = useMemo(\n () =>\n objects?.value ??\n objects?.options?.find(\n (object: any) => object.value === eventFields?.object\n ),\n [objects?.value, objects?.options, eventFields?.object]\n );\n\n const actionValue = useMemo(\n () =>\n Object.keys(actions?.value || {})?.length\n ? actions.value\n : actions?.options\n .filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action),\n [actions?.value, actions?.options, eventFields?.action]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleAccountChange = useCallback(\n (value: any) => {\n accounts.onChangeHandler(value);\n },\n [accounts]\n );\n\n const handleObjectChange = useCallback(\n (value: any) => {\n objects.onChangeHandler(value);\n },\n [objects]\n );\n\n const handleActionChange = useCallback(\n (value: any) => {\n actions.onChangeHandler(value);\n },\n [actions]\n );\n\n const handleContinueClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{TRIGGERS_UI_STRINGS.ACCOUNT_DETAILS}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {TRIGGERS_UI_STRINGS.SURVEY_NAME_LABEL}\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACCOUNT}\n </FormLabel>\n <Select\n value={accountValue}\n options={accounts.options}\n isMulti={accounts?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleAccountChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(accounts?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_OBJECT}\n </FormLabel>\n <Select\n options={objects.options}\n value={objectValue}\n isMulti={objects?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleObjectChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(objects?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACTION}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actionValue}\n isMulti={actions?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={handleActionChange}\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(actions?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n disabled={isContinueDisabled || forceDisableEventSetupCTA}\n onClick={handleContinueClick}\n >\n {TRIGGERS_UI_STRINGS.CONTINUE}\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default EventSetup;\n\n"],"names":["React","_a","_b","_c"],"mappings":"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"}
1
+ {"version":3,"file":"EventSetup.js","sources":["../../../../src/triggers/components/EventSetup.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useEffect, useCallback, useMemo } from \"react\";\nimport {\n Box,\n Button,\n Flex,\n FormLabel,\n Heading,\n Select,\n FormHelperText,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronRightIcon } from \"@sparrowengg/twigs-react-icons\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport { EventSetupProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled } from \"../utils\";\nimport { sanitizeHTML } from \"../../commons/utils\";\n\n/* ----- Helper Components ----- */\n\n/**\n * Custom multi-value component for Select\n *\n * @param {any} props - Component props\n * @returns {JSX.Element} Rendered custom pill\n */\nconst CustomMultiValue: React.FC<any> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => props.removeProps.onClick()}\n variant=\"default\"\n radius=\"md\"\n />\n );\n};\n\n/* ----- Main Component ----- */\n\n/**\n * EventSetup component for configuring trigger event details\n *\n * @param {EventSetupProps} props - Component props\n * @returns {JSX.Element} Rendered EventSetup component\n */\nconst EventSetup: React.FC<EventSetupProps> = ({\n forceDisableEventSetupCTA,\n eventFields,\n accounts,\n objects,\n actions,\n surveyDetails,\n navigateTriggerPage,\n}) => {\n /* ----- Effects ----- */\n\n useEffect(() => {\n if (\n actions?.options?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )?.length\n ) {\n actions?.onChangeHandler(\n Object.keys(actions?.value || {})?.length\n ? actions?.value\n : actions?.options\n ?.filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action)\n );\n }\n if (\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n ) {\n objects?.onChangeHandler(\n objects?.value ??\n objects?.options?.find(\n (object: any) => object?.value === eventFields?.object\n )\n );\n }\n }, [actions?.value, objects?.value, actions, objects, eventFields]);\n\n /* ----- Constants ----- */\n\n const isContinueDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const accountValue = useMemo(\n () =>\n accounts?.options?.find(\n (account: any) => account?.value === eventFields?.account\n ) ?? accounts?.value,\n [accounts?.options, accounts?.value, eventFields?.account]\n );\n\n const objectValue = useMemo(\n () =>\n objects?.value ??\n objects?.options?.find(\n (object: any) => object.value === eventFields?.object\n ),\n [objects?.value, objects?.options, eventFields?.object]\n );\n\n const actionValue = useMemo(\n () =>\n Object.keys(actions?.value || {})?.length\n ? actions.value\n : actions?.options\n .filter((action: any) =>\n eventFields?.action?.includes(action?.value)\n )\n ?.map((action: any) => action),\n [actions?.value, actions?.options, eventFields?.action]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleAccountChange = useCallback(\n (value: any) => {\n accounts.onChangeHandler(value);\n },\n [accounts]\n );\n\n const handleObjectChange = useCallback(\n (value: any) => {\n objects.onChangeHandler(value);\n },\n [objects]\n );\n\n const handleActionChange = useCallback(\n (value: any) => {\n actions.onChangeHandler(value);\n },\n [actions]\n );\n\n const handleContinueClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n css={{ paddingTop: \"$40\" }}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Box css={{ width: 488 }}>\n <Heading size=\"h5\">{TRIGGERS_UI_STRINGS.ACCOUNT_DETAILS}</Heading>\n <Flex gap=\"$2\" css={{ marginTop: \"$4\" }}>\n <Text size=\"sm\" css={{ color: \"$neutral500\" }}>\n {TRIGGERS_UI_STRINGS.SURVEY_NAME_LABEL}\n </Text>\n <Text size=\"sm\" weight={\"medium\"} css={{ color: \"$neutral800\" }}>\n {surveyDetails.surveyName}\n </Text>\n </Flex>\n <Flex flexDirection=\"column\" gap=\"$8\" css={{ marginTop: \"$16\" }}>\n {accounts?.hasAccounts && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACCOUNT}\n </FormLabel>\n <Select\n value={accountValue}\n options={accounts.options}\n isMulti={accounts?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleAccountChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(accounts?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {objects?.hasObjects && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_OBJECT}\n </FormLabel>\n <Select\n options={objects.options}\n value={objectValue}\n isMulti={objects?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n onChange={handleObjectChange}\n size=\"lg\"\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(objects?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n {actions?.hasActions && (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {TRIGGERS_UI_STRINGS.CHOOSE_ACTION}\n </FormLabel>\n <Select\n size=\"lg\"\n options={actions.options}\n value={actionValue}\n isMulti={actions?.isMulti}\n placeholder={TRIGGERS_UI_STRINGS.PLACEHOLDER_EMPTY}\n css={{\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n onChange={handleActionChange}\n />\n <FormHelperText\n dangerouslySetInnerHTML={{\n __html: sanitizeHTML(actions?.helperText ?? \"\"),\n }}\n size=\"xs\"\n css={{\n color: \"$neutral500\",\n a: {\n color: \"$primary600\",\n },\n }}\n />\n </Flex>\n )}\n </Flex>\n <Button\n size=\"lg\"\n rightIcon={<ChevronRightIcon />}\n css={{ marginTop: \"$16\" }}\n // disabled={isContinueDisabled || forceDisableEventSetupCTA}\n onClick={handleContinueClick}\n >\n {TRIGGERS_UI_STRINGS.CONTINUE}\n </Button>\n </Box>\n </Flex>\n );\n};\n\nexport default EventSetup;\n\n"],"names":["React","_a","_b","_c"],"mappings":"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"}
@@ -3,7 +3,7 @@ import NestedAddIcon from '../../../commons/icons/nested-add.js';
3
3
  import Trash from '../../../commons/icons/trash.js';
4
4
  import CustomPill from '../../../commons/components/custom-pill.js';
5
5
  import { getCurrentConditionText } from '../../helpers/condition-text.helper.js';
6
- import { getFieldLabel } from '../../helpers/field.helper.js';
6
+ import { getFieldLabel, getFieldValueLabel } from '../../helpers/field.helper.js';
7
7
  import { CustomFieldChip } from '../filter-chips.js';
8
8
  import { FieldPopover } from '../field-popover.js';
9
9
  import { DataTypePopover } from './data-type-popover.js';
@@ -200,7 +200,7 @@ const Filter = ({
200
200
  filters,
201
201
  fieldType: "value"
202
202
  },
203
- Array.isArray(currentFilter.value) ? currentFilter.value.join(", ") : currentFilter.value
203
+ getFieldValueLabel(currentFilter, fieldOptions)
204
204
  )),
205
205
  /* @__PURE__ */ React__default.createElement(
206
206
  IconButton,
@@ -1 +1 @@
1
- {"version":3,"file":"filter.js","sources":["../../../../../src/triggers/components/filter/filter.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback } from 'react';\nimport { Flex, Box, IconButton, Text } from '@sparrowengg/twigs-react';\nimport { CloseIcon } from '@sparrowengg/twigs-react-icons';\nimport NestedAddIcon from '../../../commons/icons/nested-add';\nimport Trash from '../../../commons/icons/trash';\nimport CustomPill from '../../../commons/components/custom-pill';\nimport { getCurrentConditionText } from '../../helpers';\nimport { getFieldLabel } from '../../helpers/field.helper';\nimport { CustomConditionChip, CustomFieldChip } from '../filter-chips';\nimport { FieldPopover } from '../field-popover';\nimport { DataTypePopover } from './data-type-popover';\nimport { FieldValuePopover } from './field-value-popover';\n\n/* ----- Types / Interfaces ----- */\n\ntype FilterProps = {\n setIsEditing: (isEditing: boolean) => void;\n filters: any;\n fields: any;\n hasNestedCondition: boolean;\n index: number;\n isEditing: boolean;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n resetEditing: () => void;\n addNestedFilterCondition: (id: string) => void;\n setNestedFieldCondition: (id: string, condition: string) => void;\n removeCurrentFilter: (id: string) => void;\n removeNestedField: (filterId: string, fieldId: string) => void;\n fieldOptions: any;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Filter component for displaying and managing filter conditions\n *\n * @param {FilterProps} props - Component props\n * @returns {JSX.Element} Rendered filter component\n */\nexport const Filter: React.FC<FilterProps> = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n hasNestedCondition,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}) => {\n /* ----- Event Handlers ----- */\n\n const handleAddNestedFilter = useCallback(() => {\n addNestedFilterCondition(filters.id);\n }, [addNestedFilterCondition, filters.id]);\n\n const handleRemoveFilter = useCallback(() => {\n removeCurrentFilter(filters.id);\n }, [removeCurrentFilter, filters.id]);\n\n const handleToggleCondition = useCallback(() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === 'or' ? 'AND' : 'OR'\n );\n }, [setNestedFieldCondition, filters.id, filters.condition]);\n\n const handleRemoveNestedField = useCallback(\n (currentFilterId: string) => {\n removeNestedField(filters.id, currentFilterId);\n },\n [removeNestedField, filters.id]\n );\n\n /* ----- Render ----- */\n\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: '$4',\n '&:hover': {\n '#action-btn': {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: 'nowrap',\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: '$borderWidths$xs solid $black200',\n width: '100%',\n marginLeft: '$3',\n position: 'relative',\n }}\n >\n <Flex\n css={{\n position: 'absolute',\n right: 0,\n top: '-$6',\n background: '$white900',\n paddingLeft: '$2',\n opacity: 0,\n transition: 'all .3s ease',\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n {hasNestedCondition && (\n <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleAddNestedFilter}\n aria-label=\"Add nested filter\"\n />\n )}\n\n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleRemoveFilter}\n aria-label=\"Remove filter\"\n />\n </Flex>\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n key={currentFilter.id}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n '&:hover': {\n '& button': {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box css={{ cursor: 'pointer' }} onClick={handleToggleCondition}>\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {getFieldLabel(currentFilter, fieldOptions)}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {Array.isArray(currentFilter.value)\n ? currentFilter.value.join(', ')\n : currentFilter.value}\n </CustomFieldChip>\n )}\n </Flex>\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => handleRemoveNestedField(currentFilter.id)}\n aria-label=\"Remove nested field\"\n />\n </Flex>\n ))}\n </Flex>\n );\n};\n"],"names":["React"],"mappings":"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"}
1
+ {"version":3,"file":"filter.js","sources":["../../../../../src/triggers/components/filter/filter.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback } from 'react';\nimport { Flex, Box, IconButton, Text } from '@sparrowengg/twigs-react';\nimport { CloseIcon } from '@sparrowengg/twigs-react-icons';\nimport NestedAddIcon from '../../../commons/icons/nested-add';\nimport Trash from '../../../commons/icons/trash';\nimport CustomPill from '../../../commons/components/custom-pill';\nimport { getCurrentConditionText } from '../../helpers';\nimport { getFieldLabel, getFieldValueLabel } from '../../helpers/field.helper';\nimport { CustomConditionChip, CustomFieldChip } from '../filter-chips';\nimport { FieldPopover } from '../field-popover';\nimport { DataTypePopover } from './data-type-popover';\nimport { FieldValuePopover } from './field-value-popover';\n\n/* ----- Types / Interfaces ----- */\n\ntype FilterProps = {\n setIsEditing: (isEditing: boolean) => void;\n filters: any;\n fields: any;\n hasNestedCondition: boolean;\n index: number;\n isEditing: boolean;\n setCurrentField: (\n value: any,\n id: string,\n filterId: string,\n fieldType: string\n ) => void;\n resetEditing: () => void;\n addNestedFilterCondition: (id: string) => void;\n setNestedFieldCondition: (id: string, condition: string) => void;\n removeCurrentFilter: (id: string) => void;\n removeNestedField: (filterId: string, fieldId: string) => void;\n fieldOptions: any;\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Filter component for displaying and managing filter conditions\n *\n * @param {FilterProps} props - Component props\n * @returns {JSX.Element} Rendered filter component\n */\nexport const Filter: React.FC<FilterProps> = ({\n setIsEditing,\n filters,\n fields,\n index,\n isEditing,\n setCurrentField,\n resetEditing,\n hasNestedCondition,\n addNestedFilterCondition,\n setNestedFieldCondition,\n removeCurrentFilter,\n removeNestedField,\n fieldOptions,\n}) => {\n /* ----- Event Handlers ----- */\n\n const handleAddNestedFilter = useCallback(() => {\n addNestedFilterCondition(filters.id);\n }, [addNestedFilterCondition, filters.id]);\n\n const handleRemoveFilter = useCallback(() => {\n removeCurrentFilter(filters.id);\n }, [removeCurrentFilter, filters.id]);\n\n const handleToggleCondition = useCallback(() => {\n setNestedFieldCondition(\n filters.id,\n filters.condition.toLowerCase() === 'or' ? 'AND' : 'OR'\n );\n }, [setNestedFieldCondition, filters.id, filters.condition]);\n\n const handleRemoveNestedField = useCallback(\n (currentFilterId: string) => {\n removeNestedField(filters.id, currentFilterId);\n },\n [removeNestedField, filters.id]\n );\n\n /* ----- Render ----- */\n\n return (\n <Flex flexDirection=\"column\" gap=\"$1\">\n <Flex\n alignItems=\"center\"\n gap=\"5px\"\n css={{\n marginBottom: '$4',\n '&:hover': {\n '#action-btn': {\n opacity: 1,\n },\n },\n }}\n >\n <Text\n weight=\"bold\"\n css={{\n whiteSpace: 'nowrap',\n }}\n >\n {index > 0 && fields.condition.toLowerCase()} When\n </Text>\n <Box\n css={{\n borderBottom: '$borderWidths$xs solid $black200',\n width: '100%',\n marginLeft: '$3',\n position: 'relative',\n }}\n >\n <Flex\n css={{\n position: 'absolute',\n right: 0,\n top: '-$6',\n background: '$white900',\n paddingLeft: '$2',\n opacity: 0,\n transition: 'all .3s ease',\n }}\n id=\"action-btn\"\n alignItems=\"center\"\n gap=\"$4\"\n >\n {hasNestedCondition && (\n <IconButton\n icon={<NestedAddIcon />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleAddNestedFilter}\n aria-label=\"Add nested filter\"\n />\n )}\n\n <IconButton\n icon={<Trash />}\n size=\"sm\"\n variant=\"ghost\"\n color=\"default\"\n onClick={handleRemoveFilter}\n aria-label=\"Remove filter\"\n />\n </Flex>\n </Box>\n </Flex>\n\n {filters.filter.map((currentFilter: any, currentFilterIndex: number) => (\n <Flex\n key={currentFilter.id}\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n '&:hover': {\n '& button': {\n opacity: 1,\n },\n },\n }}\n >\n <Flex gap=\"$1\" alignItems=\"center\">\n {currentFilterIndex > 0 && (\n <Box css={{ cursor: 'pointer' }} onClick={handleToggleCondition}>\n <CustomPill\n variant=\"default\"\n radius=\"sm\"\n isClosable={false}\n label={filters.condition.toLowerCase()}\n />\n </Box>\n )}\n {isEditing && !currentFilter.field ? (\n <FieldPopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n fieldOptions={fieldOptions}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"field\"\n >\n {getFieldLabel(currentFilter, fieldOptions)}\n </CustomFieldChip>\n )}\n {isEditing && !currentFilter.comparator && !!currentFilter.field ? (\n <DataTypePopover\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"comparator\"\n >\n {getCurrentConditionText(\n currentFilter.comparator,\n currentFilter.dataType\n )}\n </CustomFieldChip>\n )}\n {isEditing &&\n !!currentFilter.comparator &&\n !!currentFilter.dataType &&\n !currentFilter.value ? (\n <FieldValuePopover\n fieldOptions={fieldOptions}\n setCurrentField={setCurrentField}\n currentFilter={currentFilter}\n filters={filters}\n resetEditing={resetEditing}\n />\n ) : (\n <CustomFieldChip\n setCurrentField={setCurrentField}\n setIsEditing={setIsEditing}\n currentFilter={currentFilter}\n filters={filters}\n fieldType=\"value\"\n >\n {getFieldValueLabel(currentFilter, fieldOptions)}\n </CustomFieldChip>\n )}\n </Flex>\n <IconButton\n css={{ opacity: 0 }}\n icon={<CloseIcon />}\n size=\"sm\"\n color=\"default\"\n variant=\"ghost\"\n onClick={() => handleRemoveNestedField(currentFilter.id)}\n aria-label=\"Remove nested field\"\n />\n </Flex>\n ))}\n </Flex>\n );\n};\n"],"names":["React"],"mappings":"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"}
@@ -2,6 +2,22 @@ const getFieldLabel = (currentFilter, fieldOptions) => {
2
2
  var _a, _b, _c, _d;
3
3
  return (_d = (_c = (_a = fieldOptions == null ? void 0 : fieldOptions.find((option) => option.value === currentFilter.field)) == null ? void 0 : _a.label) != null ? _c : (_b = currentFilter.field) == null ? void 0 : _b.label) != null ? _d : currentFilter.field;
4
4
  };
5
+ const getFieldValueLabel = (currentFilter, fieldOptions) => {
6
+ var _a, _b, _c, _d;
7
+ const options = ((_a = fieldOptions == null ? void 0 : fieldOptions.find((option) => option.value === currentFilter.field)) == null ? void 0 : _a.options) || ((_b = currentFilter == null ? void 0 : currentFilter.field) == null ? void 0 : _b.options) || [];
8
+ if (!options.length) {
9
+ return Array.isArray(currentFilter.value) ? currentFilter.value.join(", ") : currentFilter.value;
10
+ }
11
+ if (Array.isArray(currentFilter.value)) {
12
+ return currentFilter.value.map(
13
+ (val) => {
14
+ var _a2, _b2;
15
+ return (_b2 = (_a2 = options.find((opt) => opt.value === val)) == null ? void 0 : _a2.label) != null ? _b2 : val;
16
+ }
17
+ ).join(", ");
18
+ }
19
+ return (_d = (_c = options.find((opt) => opt.value === currentFilter.value)) == null ? void 0 : _c.label) != null ? _d : currentFilter.value;
20
+ };
5
21
 
6
- export { getFieldLabel };
22
+ export { getFieldLabel, getFieldValueLabel };
7
23
  //# sourceMappingURL=field.helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"field.helper.js","sources":["../../../../src/triggers/helpers/field.helper.ts"],"sourcesContent":["/* ----- Helper Functions ----- */\n\n/**\n * Get field label from field options\n *\n * @param {any} currentFilter - Current filter object\n * @param {any[]} fieldOptions - Available field options\n * @returns {string} Field label\n */\nexport const getFieldLabel = (\n currentFilter: any,\n fieldOptions: any[]\n): string => {\n return (\n fieldOptions?.find((option: any) => option.value === currentFilter.field)\n ?.label ??\n currentFilter.field?.label ??\n currentFilter.field\n );\n};\n\n/**\n * Render field value with proper formatting\n *\n * @param {any} value - Value to render\n * @returns {string} Formatted value\n */\nexport const renderFieldValue = (value: any): string => {\n if (value === true) return 'True';\n if (value === false) return 'False';\n if (Array.isArray(value)) return value.join(', ');\n return value;\n};\n"],"names":[],"mappings":"AASO,MAAM,aAAA,GAAgB,CAC3B,aAAA,EACA,YAAA,KACW;AAZb,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,OAAA,CACE,8DAAc,IAAA,CAAK,CAAC,MAAA,KAAgB,MAAA,CAAO,UAAU,aAAA,CAAc,KAAA,CAAA,KAAnE,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,KAAA,KADJ,aAEA,EAAA,GAAA,aAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,KAAA,KAFrB,YAGA,aAAA,CAAc,KAAA;AAElB;;;;"}
1
+ {"version":3,"file":"field.helper.js","sources":["../../../../src/triggers/helpers/field.helper.ts"],"sourcesContent":["/* ----- Helper Functions ----- */\n\n/**\n * Get field label from field options\n *\n * @param {any} currentFilter - Current filter object\n * @param {any[]} fieldOptions - Available field options\n * @returns {string} Field label\n */\nexport const getFieldLabel = (\n currentFilter: any,\n fieldOptions: any[]\n): string => {\n return (\n fieldOptions?.find((option: any) => option.value === currentFilter.field)\n ?.label ??\n currentFilter.field?.label ??\n currentFilter.field\n );\n};\n\n/**\n * Render field value with proper formatting\n *\n * @param {any} value - Value to render\n * @returns {string} Formatted value\n */\nexport const renderFieldValue = (value: any): string => {\n if (value === true) return 'True';\n if (value === false) return 'False';\n if (Array.isArray(value)) return value.join(', ');\n return value;\n};\n\n/**\n * Resolve a filter's stored value(s) to display labels using field options.\n * Falls back to the raw value when no matching options are found.\n *\n * @param {any} currentFilter - Current filter object\n * @param {any[]} fieldOptions - Available field options\n * @returns {string} Display label(s) for the filter value\n */\nexport const getFieldValueLabel = (\n currentFilter: any,\n fieldOptions: any[]\n): string => {\n const options =\n fieldOptions?.find((option: any) => option.value === currentFilter.field)\n ?.options ||\n currentFilter?.field?.options ||\n [];\n\n if (!options.length) {\n return Array.isArray(currentFilter.value)\n ? currentFilter.value.join(', ')\n : currentFilter.value;\n }\n\n if (Array.isArray(currentFilter.value)) {\n return currentFilter.value\n .map(\n (val: string) =>\n options.find((opt: any) => opt.value === val)?.label ?? val\n )\n .join(', ');\n }\n\n return (\n options.find((opt: any) => opt.value === currentFilter.value)?.label ??\n currentFilter.value\n );\n};\n"],"names":["_a","_b"],"mappings":"AASO,MAAM,aAAA,GAAgB,CAC3B,aAAA,EACA,YAAA,KACW;AAZb,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AAaE,EAAA,OAAA,CACE,8DAAc,IAAA,CAAK,CAAC,MAAA,KAAgB,MAAA,CAAO,UAAU,aAAA,CAAc,KAAA,CAAA,KAAnE,IAAA,GAAA,MAAA,GAAA,EAAA,CACI,KAAA,KADJ,aAEA,EAAA,GAAA,aAAA,CAAc,KAAA,KAAd,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,KAAA,KAFrB,YAGA,aAAA,CAAc,KAAA;AAElB;AAuBO,MAAM,kBAAA,GAAqB,CAChC,aAAA,EACA,YAAA,KACW;AA7Cb,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA;AA8CE,EAAA,MAAM,OAAA,GAAA,CAAA,CACJ,EAAA,GAAA,YAAA,IAAA,IAAA,GAAA,MAAA,GAAA,YAAA,CAAc,IAAA,CAAK,CAAC,WAAgB,MAAA,CAAO,KAAA,KAAU,aAAA,CAAc,KAAA,CAAA,KAAnE,mBACI,OAAA,MAAA,CACJ,EAAA,GAAA,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA,KAAf,IAAA,GAAA,MAAA,GAAA,EAAA,CAAsB,YACtB,EAAC;AAEH,EAAA,IAAI,CAAC,QAAQ,MAAA,EAAQ;AACnB,IAAA,OAAO,KAAA,CAAM,OAAA,CAAQ,aAAA,CAAc,KAAK,CAAA,GACpC,cAAc,KAAA,CAAM,IAAA,CAAK,IAAI,CAAA,GAC7B,aAAA,CAAc,KAAA;AAAA,EACpB;AAEA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,aAAA,CAAc,KAAK,CAAA,EAAG;AACtC,IAAA,OAAO,cAAc,KAAA,CAClB,GAAA;AAAA,MACC,CAAC,GAAA,KAAa;AA7DtB,QAAA,IAAAA,GAAAA,EAAAC,GAAAA;AA8DU,QAAA,OAAA,CAAAA,GAAAA,GAAAA,CAAAD,GAAAA,GAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,GAAG,CAAA,KAA5C,IAAA,GAAA,MAAA,GAAAA,GAAAA,CAA+C,KAAA,KAA/C,OAAAC,GAAAA,GAAwD,GAAA;AAAA,MAAA;AAAA,KAC5D,CACC,KAAK,IAAI,CAAA;AAAA,EACd;AAEA,EAAA,OAAA,CACE,EAAA,GAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,IAAA,CAAK,CAAC,GAAA,KAAa,GAAA,CAAI,KAAA,KAAU,aAAA,CAAc,KAAK,CAAA,KAA5D,IAAA,GAAA,MAAA,GAAA,EAAA,CAA+D,KAAA,KAA/D,IAAA,GAAA,EAAA,GACA,aAAA,CAAc,KAAA;AAElB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparrowengg/integrations-templates-frontend",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "license": "MIT",
5
5
  "module": "dist/es/index.js",
6
6
  "main": "dist/cjs/index.js",