@sparrowengg/integrations-templates-frontend 5.0.15 → 5.1.16

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.
@@ -56,7 +56,7 @@ const Trigger = ({
56
56
  fieldOptions,
57
57
  variableOptions
58
58
  }) => {
59
- var _a, _b, _c, _d, _e, _f;
59
+ var _a, _b, _c, _d, _e, _f, _g;
60
60
  const { isEditing, setIsEditing } = useTriggerState.useTriggerState();
61
61
  const {
62
62
  addFilterCondition,
@@ -75,6 +75,23 @@ const Trigger = ({
75
75
  surveyId: surveyDetails == null ? void 0 : surveyDetails.surveyId,
76
76
  shareChannelOptions
77
77
  });
78
+ const hasFiltersWithValues = React.useMemo(
79
+ () => validation_utils.hasFiltersWithValues(fields),
80
+ [fields]
81
+ );
82
+ const [passAndSendSectionsUnlocked, setPassAndSendSectionsUnlocked] = React.useState(false);
83
+ React.useEffect(() => {
84
+ if (hasFiltersWithValues) {
85
+ setPassAndSendSectionsUnlocked(true);
86
+ }
87
+ }, [hasFiltersWithValues]);
88
+ React.useEffect(() => {
89
+ var _a2;
90
+ if (!((_a2 = fields == null ? void 0 : fields.filters) == null ? void 0 : _a2.length)) {
91
+ setPassAndSendSectionsUnlocked(false);
92
+ }
93
+ }, [(_a = fields == null ? void 0 : fields.filters) == null ? void 0 : _a.length]);
94
+ const showPassAndSendSections = passAndSendSectionsUnlocked || hasFiltersWithValues;
78
95
  const selectedCondition = React.useMemo(
79
96
  () => {
80
97
  var _a2;
@@ -84,15 +101,6 @@ const Trigger = ({
84
101
  },
85
102
  [fields.condition]
86
103
  );
87
- const hasFiltersWithValues = React.useMemo(
88
- () => fields.filters.some(
89
- (filter) => {
90
- var _a2;
91
- return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
92
- }
93
- ),
94
- [fields.filters]
95
- );
96
104
  const filteredShareRecipientOptions = React.useMemo(
97
105
  () => shareRecipientOptions == null ? void 0 : shareRecipientOptions.filter(
98
106
  (option) => {
@@ -100,7 +108,7 @@ const Trigger = ({
100
108
  return (option == null ? void 0 : option.type) === ((_a2 = triggerDetails.shareType) == null ? void 0 : _a2.value);
101
109
  }
102
110
  ),
103
- [shareRecipientOptions, (_a = triggerDetails.shareType) == null ? void 0 : _a.value]
111
+ [shareRecipientOptions, (_b = triggerDetails.shareType) == null ? void 0 : _b.value]
104
112
  );
105
113
  const filteredShareChannelOptions = React.useMemo(() => {
106
114
  var _a2, _b2;
@@ -122,7 +130,7 @@ const Trigger = ({
122
130
  ];
123
131
  }
124
132
  return [];
125
- }, [channels, (_b = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _b.value]);
133
+ }, [channels, (_c = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _c.value]);
126
134
  const setTriggerFields = React.useCallback(
127
135
  (property, value) => {
128
136
  setTriggerDetails((prev) => __spreadProps(__spreadValues({}, prev), {
@@ -243,9 +251,9 @@ const Trigger = ({
243
251
  {
244
252
  flexDirection: "column",
245
253
  gap: "$12",
246
- css: { marginTop: ((_c = fields == null ? void 0 : fields.filters) == null ? void 0 : _c.length) ? "$12" : 0 }
254
+ css: { marginTop: ((_d = fields == null ? void 0 : fields.filters) == null ? void 0 : _d.length) ? "$12" : 0 }
247
255
  },
248
- (_d = fields == null ? void 0 : fields.filters) == null ? void 0 : _d.map((filters, index) => /* @__PURE__ */ React.createElement(
256
+ (_e = fields == null ? void 0 : fields.filters) == null ? void 0 : _e.map((filters, index) => /* @__PURE__ */ React.createElement(
249
257
  filter.Filter,
250
258
  {
251
259
  key: filters.id,
@@ -274,7 +282,7 @@ const Trigger = ({
274
282
  onClick: handleAddConditionClick
275
283
  },
276
284
  "Add Condition"
277
- ), hasFiltersWithValues ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$12", css: { marginTop: "$40" } }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5" }, "Pass Variable to Survey"), /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Fields"), /* @__PURE__ */ React.createElement(
285
+ ), showPassAndSendSections ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$12", css: { marginTop: "$40" } }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5" }, "Pass Variable to Survey"), /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Fields"), /* @__PURE__ */ React.createElement(
278
286
  select.Select,
279
287
  {
280
288
  placeholder: "",
@@ -305,7 +313,7 @@ const Trigger = ({
305
313
  },
306
314
  options: variableOptions
307
315
  }
308
- ))) : null, hasFiltersWithValues ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$12", css: { marginBlock: "$40" } }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5" }, "Send Survey"), /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Share Type"), /* @__PURE__ */ React.createElement(
316
+ ))) : null, showPassAndSendSections ? /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$12", css: { marginBlock: "$40" } }, /* @__PURE__ */ React.createElement(heading.Heading, { size: "h5" }, "Send Survey"), /* @__PURE__ */ React.createElement(flex.Flex, { flexDirection: "column", gap: "$8" }, /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Share Type"), /* @__PURE__ */ React.createElement(
309
317
  select.Select,
310
318
  {
311
319
  placeholder: "",
@@ -346,7 +354,7 @@ const Trigger = ({
346
354
  placeholder: "",
347
355
  size: "lg",
348
356
  onChange: handleShareRecipientChange,
349
- isDisabled: !((_e = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _e.value),
357
+ isDisabled: !((_f = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _f.value),
350
358
  value: triggerDetails == null ? void 0 : triggerDetails.shareRecipient,
351
359
  options: filteredShareRecipientOptions
352
360
  }
@@ -365,7 +373,7 @@ const Trigger = ({
365
373
  alignItems: "center"
366
374
  })
367
375
  },
368
- isDisabled: !((_f = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _f.value),
376
+ isDisabled: !((_g = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _g.value),
369
377
  value: triggerDetails == null ? void 0 : triggerDetails.shareChannel,
370
378
  onChange: handleShareChannelChange,
371
379
  options: filteredShareChannelOptions
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { Filter } from \"./subcomponents\";\nimport {\n CustomShareOption,\n CustomSingleValue,\n CustomMultiValue,\n CustomShareChannelOption,\n CustomShareChannelSingleValue,\n} from \"./custom-share-components\";\nimport { useTriggerState, useFilterManagement, useChannelData } from \"../hooks\";\nimport { isEmpty } from \"../utils\";\n\n/* ----- Types / Interfaces ----- */\n\ntype TriggerProps = {\n fields: any;\n setFields: (fields: any) => void;\n token: string;\n apiURL: string;\n surveyDetails: any;\n hasNestedCondition: boolean;\n shareRecipientOptions: any[];\n shareChannelOptions: any[];\n triggerDetails: any;\n setTriggerDetails: (details: any) => void;\n fieldOptions: any[];\n variableOptions: any[];\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Trigger component for setting up trigger conditions and actions\n *\n * @param {TriggerProps} props - Component props\n * @returns {JSX.Element} Rendered Trigger component\n */\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n}) => {\n /* ----- Hooks ----- */\n\n const { isEditing, setIsEditing } = useTriggerState();\n\n const {\n addFilterCondition,\n addNestedFilterCondition,\n setCurrentField,\n removeCurrentFilter,\n removeNestedField,\n setNestedFieldCondition,\n } = useFilterManagement({\n setFields,\n setIsEditing,\n });\n\n const { channels } = useChannelData({\n token,\n apiURL,\n surveyId: surveyDetails?.surveyId,\n shareChannelOptions,\n });\n\n /* ----- Constants ----- */\n\n const selectedCondition = useMemo(\n () =>\n topLevelCondition.find(\n (condition) => condition.value === fields.condition\n )?.label,\n [fields.condition]\n );\n\n const hasFiltersWithValues = useMemo(\n () =>\n fields.filters.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n ),\n [fields.filters]\n );\n\n const filteredShareRecipientOptions = useMemo(\n () =>\n shareRecipientOptions?.filter(\n (option: any) => option?.type === triggerDetails.shareType?.value\n ),\n [shareRecipientOptions, triggerDetails.shareType?.value]\n );\n\n const filteredShareChannelOptions = useMemo(() => {\n const filtered = channels.filter(\n (channel: any) => channel?.type === triggerDetails?.shareType?.value\n );\n if (filtered.length) {\n return filtered;\n }\n if (\n triggerDetails?.shareType?.value !== \"WHATSAPP\" &&\n triggerDetails?.shareType?.value !== \"SMS\"\n ) {\n return [\n {\n label: \"New Share \",\n value: \"NEW_SHARE\",\n },\n ];\n }\n return [];\n }, [channels, triggerDetails?.shareType?.value]);\n\n /* ----- Event Handlers ----- */\n\n const setTriggerFields = useCallback(\n (property: string, value: any) => {\n setTriggerDetails((prev: any) => ({\n ...prev,\n [property]: value,\n }));\n },\n [setTriggerDetails]\n );\n\n const handleConditionChange = useCallback(\n (conditionValue: string) => {\n setFields((prev: any) => ({\n ...prev,\n condition: conditionValue,\n }));\n },\n [setFields]\n );\n\n const handleAddConditionClick = useCallback(() => {\n setIsEditing(true);\n addFilterCondition();\n }, [setIsEditing, addFilterCondition]);\n\n const handleVariablesChange = useCallback(\n (field: any) => {\n setTriggerFields(\"variables\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareTypeChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n },\n [setTriggerFields]\n );\n\n const handleShareRecipientChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareRecipient\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareChannelChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareChannel\", field);\n },\n [setTriggerFields]\n );\n\n const resetEditing = useCallback(() => {\n setIsEditing(false);\n }, [setIsEditing]);\n\n /* ----- Render ----- */\n return (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">Set Condition</Heading>\n <Flex alignItems=\"center\" css={{ marginTop: \"$12\" }}>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n which meets{\" \"}\n </Text>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"0 $2\",\n }}\n >\n <Text\n size=\"md\"\n weight=\"medium\"\n css={{ color: \"$neutral900\", lineHeight: \"$sm\" }}\n >\n {selectedCondition}\n </Text>\n <ChevronDownIcon size={16} color=\"#6A6A6A\" />\n </Flex>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n css={{\n padding: \"$4 0\",\n minWidth: \"$15\",\n }}\n >\n {topLevelCondition.map((condition) => (\n <DropdownMenuItem\n key={condition.value}\n onClick={() => handleConditionChange(condition.value)}\n css={{\n ...(condition.value === fields.condition && {\n background: \"$primary100\",\n color: \"$neutral900\",\n \"&:hover\": {\n background: \"$primary100\",\n color: \"$neutral900\",\n },\n }),\n }}\n >\n {condition.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n of these conditions\n </Text>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$12\"\n css={{ marginTop: fields?.filters?.length ? \"$12\" : 0 }}\n >\n {fields?.filters?.map((filters: any, index: number) => (\n <Filter\n key={filters.id}\n filters={filters}\n fields={fields}\n hasNestedCondition={hasNestedCondition}\n index={index}\n isEditing={isEditing}\n setIsEditing={setIsEditing}\n setCurrentField={setCurrentField}\n resetEditing={resetEditing}\n addNestedFilterCondition={addNestedFilterCondition}\n setNestedFieldCondition={setNestedFieldCondition}\n removeCurrentFilter={removeCurrentFilter}\n removeNestedField={removeNestedField}\n fieldOptions={fieldOptions}\n />\n ))}\n </Flex>\n <Button\n css={{ marginTop: \"$8\", marginLeft: \"-$2\" }}\n leftIcon={<PlusIcon />}\n variant=\"ghost\"\n size=\"md\"\n onClick={handleAddConditionClick}\n >\n Add Condition\n </Button>\n {hasFiltersWithValues ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginTop: \"$40\" }}>\n <Heading size=\"h5\">Pass Variable to Survey</Heading>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Fields\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isMulti\n closeMenuOnSelect={false}\n isClearable={false}\n value={triggerDetails?.variables}\n onChange={handleVariablesChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n options={variableOptions}\n />\n </Flex>\n </Flex>\n ) : null}\n {hasFiltersWithValues ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginBlock: \"$40\" }}>\n <Heading size=\"h5\">Send Survey</Heading>\n <Flex flexDirection=\"column\" gap=\"$8\">\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Type\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n value={triggerDetails?.shareType}\n onChange={handleShareTypeChange}\n options={[\n {\n id: 1,\n label: \"Email\",\n value: \"EMAIL\",\n },\n {\n id: 2,\n label: \"SMS\",\n value: \"SMS\",\n },\n {\n id: 3,\n label: \"Whatsapp\",\n value: \"WHATSAPP\",\n },\n ]}\n />\n </Flex>\n {!isEmpty(triggerDetails?.shareType) && (\n <>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Recipient\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n onChange={handleShareRecipientChange}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareRecipient}\n options={filteredShareRecipientOptions}\n />\n </Flex>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Channel\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareChannelOption,\n SingleValue: CustomShareChannelSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareChannel}\n onChange={handleShareChannelChange}\n options={filteredShareChannelOptions}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\n\nexport default Trigger;"],"names":["useTriggerState","useFilterManagement","useChannelData","useMemo","_a","topLevelCondition","_b","useCallback","Flex","Box","Heading","Text","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Filter","Button","PlusIcon","FormLabel","Select","CustomMultiValue","CustomShareOption","CustomSingleValue","isEmpty","CustomShareChannelOption","CustomShareChannelSingleValue"],"mappings":"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"}
1
+ {"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { Filter } from \"./subcomponents\";\nimport {\n CustomShareOption,\n CustomSingleValue,\n CustomMultiValue,\n CustomShareChannelOption,\n CustomShareChannelSingleValue,\n} from \"./custom-share-components\";\nimport { useTriggerState, useFilterManagement, useChannelData } from \"../hooks\";\nimport { hasFiltersWithValues as checkFiltersHaveValues, isEmpty } from \"../utils\";\n\n/* ----- Types / Interfaces ----- */\n\ntype TriggerProps = {\n fields: any;\n setFields: (fields: any) => void;\n token: string;\n apiURL: string;\n surveyDetails: any;\n hasNestedCondition: boolean;\n shareRecipientOptions: any[];\n shareChannelOptions: any[];\n triggerDetails: any;\n setTriggerDetails: (details: any) => void;\n fieldOptions: any[];\n variableOptions: any[];\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Trigger component for setting up trigger conditions and actions\n *\n * @param {TriggerProps} props - Component props\n * @returns {JSX.Element} Rendered Trigger component\n */\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n}) => {\n /* ----- Hooks ----- */\n\n const { isEditing, setIsEditing } = useTriggerState();\n\n const {\n addFilterCondition,\n addNestedFilterCondition,\n setCurrentField,\n removeCurrentFilter,\n removeNestedField,\n setNestedFieldCondition,\n } = useFilterManagement({\n setFields,\n setIsEditing,\n });\n\n const { channels } = useChannelData({\n token,\n apiURL,\n surveyId: surveyDetails?.surveyId,\n shareChannelOptions,\n });\n\n const hasFiltersWithValues = useMemo(\n () => checkFiltersHaveValues(fields),\n [fields]\n );\n\n const [passAndSendSectionsUnlocked, setPassAndSendSectionsUnlocked] =\n useState(false);\n\n useEffect(() => {\n if (hasFiltersWithValues) {\n setPassAndSendSectionsUnlocked(true);\n }\n }, [hasFiltersWithValues]);\n\n useEffect(() => {\n if (!fields?.filters?.length) {\n setPassAndSendSectionsUnlocked(false);\n }\n }, [fields?.filters?.length]);\n\n const showPassAndSendSections =\n passAndSendSectionsUnlocked || hasFiltersWithValues;\n\n /* ----- Constants ----- */\n\n const selectedCondition = useMemo(\n () =>\n topLevelCondition.find(\n (condition) => condition.value === fields.condition\n )?.label,\n [fields.condition]\n );\n\n const filteredShareRecipientOptions = useMemo(\n () =>\n shareRecipientOptions?.filter(\n (option: any) => option?.type === triggerDetails.shareType?.value\n ),\n [shareRecipientOptions, triggerDetails.shareType?.value]\n );\n\n const filteredShareChannelOptions = useMemo(() => {\n const filtered = channels.filter(\n (channel: any) => channel?.type === triggerDetails?.shareType?.value\n );\n if (filtered.length) {\n return filtered;\n }\n if (\n triggerDetails?.shareType?.value !== \"WHATSAPP\" &&\n triggerDetails?.shareType?.value !== \"SMS\"\n ) {\n return [\n {\n label: \"New Share \",\n value: \"NEW_SHARE\",\n },\n ];\n }\n return [];\n }, [channels, triggerDetails?.shareType?.value]);\n\n /* ----- Event Handlers ----- */\n\n const setTriggerFields = useCallback(\n (property: string, value: any) => {\n setTriggerDetails((prev: any) => ({\n ...prev,\n [property]: value,\n }));\n },\n [setTriggerDetails]\n );\n\n const handleConditionChange = useCallback(\n (conditionValue: string) => {\n setFields((prev: any) => ({\n ...prev,\n condition: conditionValue,\n }));\n },\n [setFields]\n );\n\n const handleAddConditionClick = useCallback(() => {\n setIsEditing(true);\n addFilterCondition();\n }, [setIsEditing, addFilterCondition]);\n\n const handleVariablesChange = useCallback(\n (field: any) => {\n setTriggerFields(\"variables\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareTypeChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n },\n [setTriggerFields]\n );\n\n const handleShareRecipientChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareRecipient\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareChannelChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareChannel\", field);\n },\n [setTriggerFields]\n );\n\n const resetEditing = useCallback(() => {\n setIsEditing(false);\n }, [setIsEditing]);\n\n /* ----- Render ----- */\n return (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">Set Condition</Heading>\n <Flex alignItems=\"center\" css={{ marginTop: \"$12\" }}>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n which meets{\" \"}\n </Text>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"0 $2\",\n }}\n >\n <Text\n size=\"md\"\n weight=\"medium\"\n css={{ color: \"$neutral900\", lineHeight: \"$sm\" }}\n >\n {selectedCondition}\n </Text>\n <ChevronDownIcon size={16} color=\"#6A6A6A\" />\n </Flex>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n css={{\n padding: \"$4 0\",\n minWidth: \"$15\",\n }}\n >\n {topLevelCondition.map((condition) => (\n <DropdownMenuItem\n key={condition.value}\n onClick={() => handleConditionChange(condition.value)}\n css={{\n ...(condition.value === fields.condition && {\n background: \"$primary100\",\n color: \"$neutral900\",\n \"&:hover\": {\n background: \"$primary100\",\n color: \"$neutral900\",\n },\n }),\n }}\n >\n {condition.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n of these conditions\n </Text>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$12\"\n css={{ marginTop: fields?.filters?.length ? \"$12\" : 0 }}\n >\n {fields?.filters?.map((filters: any, index: number) => (\n <Filter\n key={filters.id}\n filters={filters}\n fields={fields}\n hasNestedCondition={hasNestedCondition}\n index={index}\n isEditing={isEditing}\n setIsEditing={setIsEditing}\n setCurrentField={setCurrentField}\n resetEditing={resetEditing}\n addNestedFilterCondition={addNestedFilterCondition}\n setNestedFieldCondition={setNestedFieldCondition}\n removeCurrentFilter={removeCurrentFilter}\n removeNestedField={removeNestedField}\n fieldOptions={fieldOptions}\n />\n ))}\n </Flex>\n <Button\n css={{ marginTop: \"$8\", marginLeft: \"-$2\" }}\n leftIcon={<PlusIcon />}\n variant=\"ghost\"\n size=\"md\"\n onClick={handleAddConditionClick}\n >\n Add Condition\n </Button>\n {showPassAndSendSections ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginTop: \"$40\" }}>\n <Heading size=\"h5\">Pass Variable to Survey</Heading>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Fields\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isMulti\n closeMenuOnSelect={false}\n isClearable={false}\n value={triggerDetails?.variables}\n onChange={handleVariablesChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n options={variableOptions}\n />\n </Flex>\n </Flex>\n ) : null}\n {showPassAndSendSections ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginBlock: \"$40\" }}>\n <Heading size=\"h5\">Send Survey</Heading>\n <Flex flexDirection=\"column\" gap=\"$8\">\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Type\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n value={triggerDetails?.shareType}\n onChange={handleShareTypeChange}\n options={[\n {\n id: 1,\n label: \"Email\",\n value: \"EMAIL\",\n },\n {\n id: 2,\n label: \"SMS\",\n value: \"SMS\",\n },\n {\n id: 3,\n label: \"Whatsapp\",\n value: \"WHATSAPP\",\n },\n ]}\n />\n </Flex>\n {!isEmpty(triggerDetails?.shareType) && (\n <>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Recipient\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n onChange={handleShareRecipientChange}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareRecipient}\n options={filteredShareRecipientOptions}\n />\n </Flex>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Channel\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareChannelOption,\n SingleValue: CustomShareChannelSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareChannel}\n onChange={handleShareChannelChange}\n options={filteredShareChannelOptions}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\n\nexport default Trigger;"],"names":["useTriggerState","useFilterManagement","useChannelData","useMemo","checkFiltersHaveValues","useState","useEffect","_a","topLevelCondition","_b","useCallback","Flex","Box","Heading","Text","DropdownMenu","DropdownMenuTrigger","ChevronDownIcon","DropdownMenuContent","DropdownMenuItem","Filter","Button","PlusIcon","FormLabel","Select","CustomMultiValue","CustomShareOption","CustomSingleValue","isEmpty","CustomShareChannelOption","CustomShareChannelSingleValue"],"mappings":"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"}
@@ -7,6 +7,15 @@ const isEmpty = (object) => {
7
7
  const isTriggerDetailsValid = (triggerDetails) => {
8
8
  return !isEmpty(triggerDetails.shareChannel) && !isEmpty(triggerDetails.shareRecipient) && !isEmpty(triggerDetails.shareType);
9
9
  };
10
+ const hasFiltersWithValues = (fields) => {
11
+ var _a;
12
+ return (_a = fields == null ? void 0 : fields.filters) == null ? void 0 : _a.some(
13
+ (filter) => {
14
+ var _a2;
15
+ return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
16
+ }
17
+ );
18
+ };
10
19
  const isEventSetupDisabled = (actions, objects, eventFields) => {
11
20
  return (!actions.value || !objects.value) && (!objects.options.find((object) => object.value === (eventFields == null ? void 0 : eventFields.object)) || !actions.options.find(
12
21
  (action) => {
@@ -33,6 +42,7 @@ const isSaveDisabled = (fields, triggerDetails) => {
33
42
  };
34
43
 
35
44
  exports.areAllFiltersComplete = areAllFiltersComplete;
45
+ exports.hasFiltersWithValues = hasFiltersWithValues;
36
46
  exports.isEmpty = isEmpty;
37
47
  exports.isEventSetupDisabled = isEventSetupDisabled;
38
48
  exports.isSaveDisabled = isSaveDisabled;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.utils.js","sources":["../../../../src/triggers/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utilities for Triggers module\n */\n\n/**\n * Checks if an object is empty\n * @param object - Object to check\n * @returns boolean indicating if object is empty\n */\nexport const isEmpty = (object: any): boolean => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\n/**\n * Checks if trigger details are valid\n * @param triggerDetails - Trigger details object\n * @returns boolean indicating if details are valid\n */\nexport const isTriggerDetailsValid = (triggerDetails: any): boolean => {\n return (\n !isEmpty(triggerDetails.shareChannel) &&\n !isEmpty(triggerDetails.shareRecipient) &&\n !isEmpty(triggerDetails.shareType)\n );\n};\n\n/**\n * Checks if any filter has a value\n * @param fields - Fields object with filters\n * @returns boolean indicating if any filter has value\n */\nexport const hasFiltersWithValues = (fields: any): boolean => {\n return fields?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n );\n};\n\n/**\n * Checks if event setup is disabled\n * @param actions - Actions configuration\n * @param objects - Objects configuration\n * @param eventFields - Event fields\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actions: any,\n objects: any,\n eventFields?: any\n): boolean => {\n return (\n (!actions.value || !objects.value) &&\n (!objects.options.find((object: any) => object.value === eventFields?.object) ||\n !actions.options.find((action: any) =>\n eventFields?.action?.includes(action?.value)\n ))\n );\n};\n\n/**\n * Checks if all filter conditions are completely filled out,\n * including nested conditions (field, comparator, and value).\n * @param fields - Fields object with filters\n * @returns boolean indicating if all filters are complete\n */\nexport const areAllFiltersComplete = (fields: any): boolean => {\n if (!fields?.filters?.length) return false;\n\n return fields.filters.every((filterGroup: any) =>\n filterGroup?.filter?.length > 0 &&\n filterGroup.filter.every(\n (currentFilter: any) =>\n !!currentFilter?.field && !!currentFilter?.comparator && !!currentFilter?.value\n )\n );\n};\n\n/**\n * Checks if save button should be disabled\n * @param fields - Fields with filters\n * @param triggerDetails - Trigger details\n * @returns boolean indicating if save should be disabled\n */\nexport const isSaveDisabled = (fields: any, triggerDetails: any): boolean => {\n return (\n !areAllFiltersComplete(fields) || !isTriggerDetailsValid(triggerDetails)\n );\n};\n\n"],"names":["_a"],"mappings":";;AASO,MAAM,OAAA,GAAU,CAAC,MAAA,KAAyB;AATjD,EAAA,IAAA,EAAA;AAUE,EAAA,OAAA,CAAA,CAAO,YAAO,OAAA,CAAQ,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,KAA3B,mBAA8B,MAAA,MAAW,CAAA;AAClD;AAOO,MAAM,qBAAA,GAAwB,CAAC,cAAA,KAAiC;AACrE,EAAA,OACE,CAAC,OAAA,CAAQ,cAAA,CAAe,YAAY,CAAA,IACpC,CAAC,OAAA,CAAQ,cAAA,CAAe,cAAc,CAAA,IACtC,CAAC,OAAA,CAAQ,eAAe,SAAS,CAAA;AAErC;AAoBO,MAAM,oBAAA,GAAuB,CAClC,OAAA,EACA,OAAA,EACA,WAAA,KACY;AACZ,EAAA,OAAA,CACG,CAAC,OAAA,CAAQ,KAAA,IAAS,CAAC,OAAA,CAAQ,KAAA,MAC3B,CAAC,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAC,MAAA,KAAgB,OAAO,KAAA,MAAU,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,OAAM,CAAA,IAC1E,CAAC,QAAQ,OAAA,CAAQ,IAAA;AAAA,IAAK,CAAC,MAAA,KAAa;AApD1C,MAAA,IAAA,EAAA;AAqDQ,MAAA,OAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,QAAA,CAAS,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAA;AAAA,IAAA;AAAA,GACxC,CAAA;AAEN;AAQO,MAAM,qBAAA,GAAwB,CAAC,MAAA,KAAyB;AAhE/D,EAAA,IAAA,EAAA;AAiEE,EAAA,IAAI,EAAA,CAAC,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAiB,MAAA,CAAA;AAAQ,IAAA,OAAO,KAAA;AAErC,EAAA,OAAO,OAAO,OAAA,CAAQ,KAAA;AAAA,IAAM,CAAC,WAAA,KAAkB;AAnEjD,MAAA,IAAAA,GAAAA;AAoEI,MAAA,OAAA,CAAA,CAAAA,GAAAA,GAAA,2CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAAA,IAAqB,MAAA,IAAS,CAAA,IAC9B,YAAY,MAAA,CAAO,KAAA;AAAA,QACjB,CAAC,aAAA,KACC,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA,CAAA,IAAS,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,UAAA,CAAA,IAAc,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA;AAAA,OAC9E;AAAA,IAAA;AAAA,GACF;AACF;AAQO,MAAM,cAAA,GAAiB,CAAC,MAAA,EAAa,cAAA,KAAiC;AAC3E,EAAA,OACE,CAAC,qBAAA,CAAsB,MAAM,CAAA,IAAK,CAAC,sBAAsB,cAAc,CAAA;AAE3E;;;;;;;;"}
1
+ {"version":3,"file":"validation.utils.js","sources":["../../../../src/triggers/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utilities for Triggers module\n */\n\n/**\n * Checks if an object is empty\n * @param object - Object to check\n * @returns boolean indicating if object is empty\n */\nexport const isEmpty = (object: any): boolean => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\n/**\n * Checks if trigger details are valid\n * @param triggerDetails - Trigger details object\n * @returns boolean indicating if details are valid\n */\nexport const isTriggerDetailsValid = (triggerDetails: any): boolean => {\n return (\n !isEmpty(triggerDetails.shareChannel) &&\n !isEmpty(triggerDetails.shareRecipient) &&\n !isEmpty(triggerDetails.shareType)\n );\n};\n\n/**\n * Checks if any filter has a value\n * @param fields - Fields object with filters\n * @returns boolean indicating if any filter has value\n */\nexport const hasFiltersWithValues = (fields: any): boolean => {\n return fields?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n );\n};\n\n/**\n * Checks if event setup is disabled\n * @param actions - Actions configuration\n * @param objects - Objects configuration\n * @param eventFields - Event fields\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actions: any,\n objects: any,\n eventFields?: any\n): boolean => {\n return (\n (!actions.value || !objects.value) &&\n (!objects.options.find((object: any) => object.value === eventFields?.object) ||\n !actions.options.find((action: any) =>\n eventFields?.action?.includes(action?.value)\n ))\n );\n};\n\n/**\n * Checks if all filter conditions are completely filled out,\n * including nested conditions (field, comparator, and value).\n * @param fields - Fields object with filters\n * @returns boolean indicating if all filters are complete\n */\nexport const areAllFiltersComplete = (fields: any): boolean => {\n if (!fields?.filters?.length) return false;\n\n return fields.filters.every((filterGroup: any) =>\n filterGroup?.filter?.length > 0 &&\n filterGroup.filter.every(\n (currentFilter: any) =>\n !!currentFilter?.field && !!currentFilter?.comparator && !!currentFilter?.value\n )\n );\n};\n\n/**\n * Checks if save button should be disabled\n * @param fields - Fields with filters\n * @param triggerDetails - Trigger details\n * @returns boolean indicating if save should be disabled\n */\nexport const isSaveDisabled = (fields: any, triggerDetails: any): boolean => {\n return (\n !areAllFiltersComplete(fields) || !isTriggerDetailsValid(triggerDetails)\n );\n};\n\n"],"names":["_a"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import React__default, { useMemo, useCallback } from 'react';
1
+ import React__default, { useMemo, useState, useEffect, useCallback } from 'react';
2
2
  import { topLevelCondition } from '../constants/index.js';
3
3
  import { Filter } from './filter/filter.js';
4
4
  import '../../node_modules/dayjs/dayjs.min.js';
@@ -7,7 +7,7 @@ import { useTriggerState } from '../hooks/use-trigger-state.js';
7
7
  import { useFilterManagement } from '../hooks/use-filter-management.js';
8
8
  import { useChannelData } from '../hooks/use-channel-data.js';
9
9
  import { CustomMultiValue, CustomSingleValue, CustomShareOption, CustomShareChannelSingleValue, CustomShareChannelOption } from './custom-share-components.js';
10
- import { isEmpty } from '../utils/validation.utils.js';
10
+ import { hasFiltersWithValues, isEmpty } from '../utils/validation.utils.js';
11
11
  import { Flex } from '../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js';
12
12
  import { Box } from '../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js';
13
13
  import { Heading } from '../../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js';
@@ -52,7 +52,7 @@ const Trigger = ({
52
52
  fieldOptions,
53
53
  variableOptions
54
54
  }) => {
55
- var _a, _b, _c, _d, _e, _f;
55
+ var _a, _b, _c, _d, _e, _f, _g;
56
56
  const { isEditing, setIsEditing } = useTriggerState();
57
57
  const {
58
58
  addFilterCondition,
@@ -71,6 +71,23 @@ const Trigger = ({
71
71
  surveyId: surveyDetails == null ? void 0 : surveyDetails.surveyId,
72
72
  shareChannelOptions
73
73
  });
74
+ const hasFiltersWithValues$1 = useMemo(
75
+ () => hasFiltersWithValues(fields),
76
+ [fields]
77
+ );
78
+ const [passAndSendSectionsUnlocked, setPassAndSendSectionsUnlocked] = useState(false);
79
+ useEffect(() => {
80
+ if (hasFiltersWithValues$1) {
81
+ setPassAndSendSectionsUnlocked(true);
82
+ }
83
+ }, [hasFiltersWithValues$1]);
84
+ useEffect(() => {
85
+ var _a2;
86
+ if (!((_a2 = fields == null ? void 0 : fields.filters) == null ? void 0 : _a2.length)) {
87
+ setPassAndSendSectionsUnlocked(false);
88
+ }
89
+ }, [(_a = fields == null ? void 0 : fields.filters) == null ? void 0 : _a.length]);
90
+ const showPassAndSendSections = passAndSendSectionsUnlocked || hasFiltersWithValues$1;
74
91
  const selectedCondition = useMemo(
75
92
  () => {
76
93
  var _a2;
@@ -80,15 +97,6 @@ const Trigger = ({
80
97
  },
81
98
  [fields.condition]
82
99
  );
83
- const hasFiltersWithValues = useMemo(
84
- () => fields.filters.some(
85
- (filter) => {
86
- var _a2;
87
- return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
88
- }
89
- ),
90
- [fields.filters]
91
- );
92
100
  const filteredShareRecipientOptions = useMemo(
93
101
  () => shareRecipientOptions == null ? void 0 : shareRecipientOptions.filter(
94
102
  (option) => {
@@ -96,7 +104,7 @@ const Trigger = ({
96
104
  return (option == null ? void 0 : option.type) === ((_a2 = triggerDetails.shareType) == null ? void 0 : _a2.value);
97
105
  }
98
106
  ),
99
- [shareRecipientOptions, (_a = triggerDetails.shareType) == null ? void 0 : _a.value]
107
+ [shareRecipientOptions, (_b = triggerDetails.shareType) == null ? void 0 : _b.value]
100
108
  );
101
109
  const filteredShareChannelOptions = useMemo(() => {
102
110
  var _a2, _b2;
@@ -118,7 +126,7 @@ const Trigger = ({
118
126
  ];
119
127
  }
120
128
  return [];
121
- }, [channels, (_b = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _b.value]);
129
+ }, [channels, (_c = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _c.value]);
122
130
  const setTriggerFields = useCallback(
123
131
  (property, value) => {
124
132
  setTriggerDetails((prev) => __spreadProps(__spreadValues({}, prev), {
@@ -239,9 +247,9 @@ const Trigger = ({
239
247
  {
240
248
  flexDirection: "column",
241
249
  gap: "$12",
242
- css: { marginTop: ((_c = fields == null ? void 0 : fields.filters) == null ? void 0 : _c.length) ? "$12" : 0 }
250
+ css: { marginTop: ((_d = fields == null ? void 0 : fields.filters) == null ? void 0 : _d.length) ? "$12" : 0 }
243
251
  },
244
- (_d = fields == null ? void 0 : fields.filters) == null ? void 0 : _d.map((filters, index) => /* @__PURE__ */ React__default.createElement(
252
+ (_e = fields == null ? void 0 : fields.filters) == null ? void 0 : _e.map((filters, index) => /* @__PURE__ */ React__default.createElement(
245
253
  Filter,
246
254
  {
247
255
  key: filters.id,
@@ -270,7 +278,7 @@ const Trigger = ({
270
278
  onClick: handleAddConditionClick
271
279
  },
272
280
  "Add Condition"
273
- ), hasFiltersWithValues ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$12", css: { marginTop: "$40" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Pass Variable to Survey"), /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Fields"), /* @__PURE__ */ React__default.createElement(
281
+ ), showPassAndSendSections ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$12", css: { marginTop: "$40" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Pass Variable to Survey"), /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Fields"), /* @__PURE__ */ React__default.createElement(
274
282
  Select,
275
283
  {
276
284
  placeholder: "",
@@ -301,7 +309,7 @@ const Trigger = ({
301
309
  },
302
310
  options: variableOptions
303
311
  }
304
- ))) : null, hasFiltersWithValues ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$12", css: { marginBlock: "$40" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Send Survey"), /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Share Type"), /* @__PURE__ */ React__default.createElement(
312
+ ))) : null, showPassAndSendSections ? /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$12", css: { marginBlock: "$40" } }, /* @__PURE__ */ React__default.createElement(Heading, { size: "h5" }, "Send Survey"), /* @__PURE__ */ React__default.createElement(Flex, { flexDirection: "column", gap: "$8" }, /* @__PURE__ */ React__default.createElement(Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React__default.createElement(FormLabel, { size: "xs", css: { fontWeight: "$5" } }, "Choose Share Type"), /* @__PURE__ */ React__default.createElement(
305
313
  Select,
306
314
  {
307
315
  placeholder: "",
@@ -342,7 +350,7 @@ const Trigger = ({
342
350
  placeholder: "",
343
351
  size: "lg",
344
352
  onChange: handleShareRecipientChange,
345
- isDisabled: !((_e = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _e.value),
353
+ isDisabled: !((_f = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _f.value),
346
354
  value: triggerDetails == null ? void 0 : triggerDetails.shareRecipient,
347
355
  options: filteredShareRecipientOptions
348
356
  }
@@ -361,7 +369,7 @@ const Trigger = ({
361
369
  alignItems: "center"
362
370
  })
363
371
  },
364
- isDisabled: !((_f = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _f.value),
372
+ isDisabled: !((_g = triggerDetails == null ? void 0 : triggerDetails.shareType) == null ? void 0 : _g.value),
365
373
  value: triggerDetails == null ? void 0 : triggerDetails.shareChannel,
366
374
  onChange: handleShareChannelChange,
367
375
  options: filteredShareChannelOptions
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { Filter } from \"./subcomponents\";\nimport {\n CustomShareOption,\n CustomSingleValue,\n CustomMultiValue,\n CustomShareChannelOption,\n CustomShareChannelSingleValue,\n} from \"./custom-share-components\";\nimport { useTriggerState, useFilterManagement, useChannelData } from \"../hooks\";\nimport { isEmpty } from \"../utils\";\n\n/* ----- Types / Interfaces ----- */\n\ntype TriggerProps = {\n fields: any;\n setFields: (fields: any) => void;\n token: string;\n apiURL: string;\n surveyDetails: any;\n hasNestedCondition: boolean;\n shareRecipientOptions: any[];\n shareChannelOptions: any[];\n triggerDetails: any;\n setTriggerDetails: (details: any) => void;\n fieldOptions: any[];\n variableOptions: any[];\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Trigger component for setting up trigger conditions and actions\n *\n * @param {TriggerProps} props - Component props\n * @returns {JSX.Element} Rendered Trigger component\n */\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n}) => {\n /* ----- Hooks ----- */\n\n const { isEditing, setIsEditing } = useTriggerState();\n\n const {\n addFilterCondition,\n addNestedFilterCondition,\n setCurrentField,\n removeCurrentFilter,\n removeNestedField,\n setNestedFieldCondition,\n } = useFilterManagement({\n setFields,\n setIsEditing,\n });\n\n const { channels } = useChannelData({\n token,\n apiURL,\n surveyId: surveyDetails?.surveyId,\n shareChannelOptions,\n });\n\n /* ----- Constants ----- */\n\n const selectedCondition = useMemo(\n () =>\n topLevelCondition.find(\n (condition) => condition.value === fields.condition\n )?.label,\n [fields.condition]\n );\n\n const hasFiltersWithValues = useMemo(\n () =>\n fields.filters.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n ),\n [fields.filters]\n );\n\n const filteredShareRecipientOptions = useMemo(\n () =>\n shareRecipientOptions?.filter(\n (option: any) => option?.type === triggerDetails.shareType?.value\n ),\n [shareRecipientOptions, triggerDetails.shareType?.value]\n );\n\n const filteredShareChannelOptions = useMemo(() => {\n const filtered = channels.filter(\n (channel: any) => channel?.type === triggerDetails?.shareType?.value\n );\n if (filtered.length) {\n return filtered;\n }\n if (\n triggerDetails?.shareType?.value !== \"WHATSAPP\" &&\n triggerDetails?.shareType?.value !== \"SMS\"\n ) {\n return [\n {\n label: \"New Share \",\n value: \"NEW_SHARE\",\n },\n ];\n }\n return [];\n }, [channels, triggerDetails?.shareType?.value]);\n\n /* ----- Event Handlers ----- */\n\n const setTriggerFields = useCallback(\n (property: string, value: any) => {\n setTriggerDetails((prev: any) => ({\n ...prev,\n [property]: value,\n }));\n },\n [setTriggerDetails]\n );\n\n const handleConditionChange = useCallback(\n (conditionValue: string) => {\n setFields((prev: any) => ({\n ...prev,\n condition: conditionValue,\n }));\n },\n [setFields]\n );\n\n const handleAddConditionClick = useCallback(() => {\n setIsEditing(true);\n addFilterCondition();\n }, [setIsEditing, addFilterCondition]);\n\n const handleVariablesChange = useCallback(\n (field: any) => {\n setTriggerFields(\"variables\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareTypeChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n },\n [setTriggerFields]\n );\n\n const handleShareRecipientChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareRecipient\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareChannelChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareChannel\", field);\n },\n [setTriggerFields]\n );\n\n const resetEditing = useCallback(() => {\n setIsEditing(false);\n }, [setIsEditing]);\n\n /* ----- Render ----- */\n return (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">Set Condition</Heading>\n <Flex alignItems=\"center\" css={{ marginTop: \"$12\" }}>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n which meets{\" \"}\n </Text>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"0 $2\",\n }}\n >\n <Text\n size=\"md\"\n weight=\"medium\"\n css={{ color: \"$neutral900\", lineHeight: \"$sm\" }}\n >\n {selectedCondition}\n </Text>\n <ChevronDownIcon size={16} color=\"#6A6A6A\" />\n </Flex>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n css={{\n padding: \"$4 0\",\n minWidth: \"$15\",\n }}\n >\n {topLevelCondition.map((condition) => (\n <DropdownMenuItem\n key={condition.value}\n onClick={() => handleConditionChange(condition.value)}\n css={{\n ...(condition.value === fields.condition && {\n background: \"$primary100\",\n color: \"$neutral900\",\n \"&:hover\": {\n background: \"$primary100\",\n color: \"$neutral900\",\n },\n }),\n }}\n >\n {condition.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n of these conditions\n </Text>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$12\"\n css={{ marginTop: fields?.filters?.length ? \"$12\" : 0 }}\n >\n {fields?.filters?.map((filters: any, index: number) => (\n <Filter\n key={filters.id}\n filters={filters}\n fields={fields}\n hasNestedCondition={hasNestedCondition}\n index={index}\n isEditing={isEditing}\n setIsEditing={setIsEditing}\n setCurrentField={setCurrentField}\n resetEditing={resetEditing}\n addNestedFilterCondition={addNestedFilterCondition}\n setNestedFieldCondition={setNestedFieldCondition}\n removeCurrentFilter={removeCurrentFilter}\n removeNestedField={removeNestedField}\n fieldOptions={fieldOptions}\n />\n ))}\n </Flex>\n <Button\n css={{ marginTop: \"$8\", marginLeft: \"-$2\" }}\n leftIcon={<PlusIcon />}\n variant=\"ghost\"\n size=\"md\"\n onClick={handleAddConditionClick}\n >\n Add Condition\n </Button>\n {hasFiltersWithValues ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginTop: \"$40\" }}>\n <Heading size=\"h5\">Pass Variable to Survey</Heading>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Fields\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isMulti\n closeMenuOnSelect={false}\n isClearable={false}\n value={triggerDetails?.variables}\n onChange={handleVariablesChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n options={variableOptions}\n />\n </Flex>\n </Flex>\n ) : null}\n {hasFiltersWithValues ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginBlock: \"$40\" }}>\n <Heading size=\"h5\">Send Survey</Heading>\n <Flex flexDirection=\"column\" gap=\"$8\">\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Type\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n value={triggerDetails?.shareType}\n onChange={handleShareTypeChange}\n options={[\n {\n id: 1,\n label: \"Email\",\n value: \"EMAIL\",\n },\n {\n id: 2,\n label: \"SMS\",\n value: \"SMS\",\n },\n {\n id: 3,\n label: \"Whatsapp\",\n value: \"WHATSAPP\",\n },\n ]}\n />\n </Flex>\n {!isEmpty(triggerDetails?.shareType) && (\n <>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Recipient\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n onChange={handleShareRecipientChange}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareRecipient}\n options={filteredShareRecipientOptions}\n />\n </Flex>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Channel\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareChannelOption,\n SingleValue: CustomShareChannelSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareChannel}\n onChange={handleShareChannelChange}\n options={filteredShareChannelOptions}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\n\nexport default Trigger;"],"names":["_a","_b","React"],"mappings":"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"}
1
+ {"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport {\n Box,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Flex,\n FormLabel,\n Heading,\n Select,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon, PlusIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { Filter } from \"./subcomponents\";\nimport {\n CustomShareOption,\n CustomSingleValue,\n CustomMultiValue,\n CustomShareChannelOption,\n CustomShareChannelSingleValue,\n} from \"./custom-share-components\";\nimport { useTriggerState, useFilterManagement, useChannelData } from \"../hooks\";\nimport { hasFiltersWithValues as checkFiltersHaveValues, isEmpty } from \"../utils\";\n\n/* ----- Types / Interfaces ----- */\n\ntype TriggerProps = {\n fields: any;\n setFields: (fields: any) => void;\n token: string;\n apiURL: string;\n surveyDetails: any;\n hasNestedCondition: boolean;\n shareRecipientOptions: any[];\n shareChannelOptions: any[];\n triggerDetails: any;\n setTriggerDetails: (details: any) => void;\n fieldOptions: any[];\n variableOptions: any[];\n};\n\n/* ----- Main Component ----- */\n\n/**\n * Trigger component for setting up trigger conditions and actions\n *\n * @param {TriggerProps} props - Component props\n * @returns {JSX.Element} Rendered Trigger component\n */\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n}) => {\n /* ----- Hooks ----- */\n\n const { isEditing, setIsEditing } = useTriggerState();\n\n const {\n addFilterCondition,\n addNestedFilterCondition,\n setCurrentField,\n removeCurrentFilter,\n removeNestedField,\n setNestedFieldCondition,\n } = useFilterManagement({\n setFields,\n setIsEditing,\n });\n\n const { channels } = useChannelData({\n token,\n apiURL,\n surveyId: surveyDetails?.surveyId,\n shareChannelOptions,\n });\n\n const hasFiltersWithValues = useMemo(\n () => checkFiltersHaveValues(fields),\n [fields]\n );\n\n const [passAndSendSectionsUnlocked, setPassAndSendSectionsUnlocked] =\n useState(false);\n\n useEffect(() => {\n if (hasFiltersWithValues) {\n setPassAndSendSectionsUnlocked(true);\n }\n }, [hasFiltersWithValues]);\n\n useEffect(() => {\n if (!fields?.filters?.length) {\n setPassAndSendSectionsUnlocked(false);\n }\n }, [fields?.filters?.length]);\n\n const showPassAndSendSections =\n passAndSendSectionsUnlocked || hasFiltersWithValues;\n\n /* ----- Constants ----- */\n\n const selectedCondition = useMemo(\n () =>\n topLevelCondition.find(\n (condition) => condition.value === fields.condition\n )?.label,\n [fields.condition]\n );\n\n const filteredShareRecipientOptions = useMemo(\n () =>\n shareRecipientOptions?.filter(\n (option: any) => option?.type === triggerDetails.shareType?.value\n ),\n [shareRecipientOptions, triggerDetails.shareType?.value]\n );\n\n const filteredShareChannelOptions = useMemo(() => {\n const filtered = channels.filter(\n (channel: any) => channel?.type === triggerDetails?.shareType?.value\n );\n if (filtered.length) {\n return filtered;\n }\n if (\n triggerDetails?.shareType?.value !== \"WHATSAPP\" &&\n triggerDetails?.shareType?.value !== \"SMS\"\n ) {\n return [\n {\n label: \"New Share \",\n value: \"NEW_SHARE\",\n },\n ];\n }\n return [];\n }, [channels, triggerDetails?.shareType?.value]);\n\n /* ----- Event Handlers ----- */\n\n const setTriggerFields = useCallback(\n (property: string, value: any) => {\n setTriggerDetails((prev: any) => ({\n ...prev,\n [property]: value,\n }));\n },\n [setTriggerDetails]\n );\n\n const handleConditionChange = useCallback(\n (conditionValue: string) => {\n setFields((prev: any) => ({\n ...prev,\n condition: conditionValue,\n }));\n },\n [setFields]\n );\n\n const handleAddConditionClick = useCallback(() => {\n setIsEditing(true);\n addFilterCondition();\n }, [setIsEditing, addFilterCondition]);\n\n const handleVariablesChange = useCallback(\n (field: any) => {\n setTriggerFields(\"variables\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareTypeChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n },\n [setTriggerFields]\n );\n\n const handleShareRecipientChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareRecipient\", field);\n },\n [setTriggerFields]\n );\n\n const handleShareChannelChange = useCallback(\n (field: any) => {\n setTriggerFields(\"shareChannel\", field);\n },\n [setTriggerFields]\n );\n\n const resetEditing = useCallback(() => {\n setIsEditing(false);\n }, [setIsEditing]);\n\n /* ----- Render ----- */\n return (\n <Flex\n justifyContent=\"center\"\n alignItems=\"center\"\n css={{ marginTop: \"$40\" }}\n >\n <Box css={{ maxWidth: 488, width: \"100%\" }}>\n <Heading size=\"h5\">Set Condition</Heading>\n <Flex alignItems=\"center\" css={{ marginTop: \"$12\" }}>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n which meets{\" \"}\n </Text>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"0 $2\",\n }}\n >\n <Text\n size=\"md\"\n weight=\"medium\"\n css={{ color: \"$neutral900\", lineHeight: \"$sm\" }}\n >\n {selectedCondition}\n </Text>\n <ChevronDownIcon size={16} color=\"#6A6A6A\" />\n </Flex>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n css={{\n padding: \"$4 0\",\n minWidth: \"$15\",\n }}\n >\n {topLevelCondition.map((condition) => (\n <DropdownMenuItem\n key={condition.value}\n onClick={() => handleConditionChange(condition.value)}\n css={{\n ...(condition.value === fields.condition && {\n background: \"$primary100\",\n color: \"$neutral900\",\n \"&:hover\": {\n background: \"$primary100\",\n color: \"$neutral900\",\n },\n }),\n }}\n >\n {condition.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text\n size=\"md\"\n css={{ color: \"$neutral700\", display: \"inline-flex\" }}\n >\n of these conditions\n </Text>\n </Flex>\n <Flex\n flexDirection=\"column\"\n gap=\"$12\"\n css={{ marginTop: fields?.filters?.length ? \"$12\" : 0 }}\n >\n {fields?.filters?.map((filters: any, index: number) => (\n <Filter\n key={filters.id}\n filters={filters}\n fields={fields}\n hasNestedCondition={hasNestedCondition}\n index={index}\n isEditing={isEditing}\n setIsEditing={setIsEditing}\n setCurrentField={setCurrentField}\n resetEditing={resetEditing}\n addNestedFilterCondition={addNestedFilterCondition}\n setNestedFieldCondition={setNestedFieldCondition}\n removeCurrentFilter={removeCurrentFilter}\n removeNestedField={removeNestedField}\n fieldOptions={fieldOptions}\n />\n ))}\n </Flex>\n <Button\n css={{ marginTop: \"$8\", marginLeft: \"-$2\" }}\n leftIcon={<PlusIcon />}\n variant=\"ghost\"\n size=\"md\"\n onClick={handleAddConditionClick}\n >\n Add Condition\n </Button>\n {showPassAndSendSections ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginTop: \"$40\" }}>\n <Heading size=\"h5\">Pass Variable to Survey</Heading>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Fields\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isMulti\n closeMenuOnSelect={false}\n isClearable={false}\n value={triggerDetails?.variables}\n onChange={handleVariablesChange}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\n },\n \" .twigs-select__indicators\": {\n height: \"40px\",\n },\n \"& .twigs-select__control\": {\n overflow: \"auto\",\n maxHeight: 488,\n height: \"100%\",\n },\n \".twigs-select__value-container--is-multi\": {\n gap: \"$2\",\n },\n }}\n components={{\n MultiValue: CustomMultiValue,\n }}\n options={variableOptions}\n />\n </Flex>\n </Flex>\n ) : null}\n {showPassAndSendSections ? (\n <Flex flexDirection=\"column\" gap=\"$12\" css={{ marginBlock: \"$40\" }}>\n <Heading size=\"h5\">Send Survey</Heading>\n <Flex flexDirection=\"column\" gap=\"$8\">\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Type\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareOption,\n SingleValue: CustomSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n value={triggerDetails?.shareType}\n onChange={handleShareTypeChange}\n options={[\n {\n id: 1,\n label: \"Email\",\n value: \"EMAIL\",\n },\n {\n id: 2,\n label: \"SMS\",\n value: \"SMS\",\n },\n {\n id: 3,\n label: \"Whatsapp\",\n value: \"WHATSAPP\",\n },\n ]}\n />\n </Flex>\n {!isEmpty(triggerDetails?.shareType) && (\n <>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Recipient\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n onChange={handleShareRecipientChange}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareRecipient}\n options={filteredShareRecipientOptions}\n />\n </Flex>\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n Choose Share Channel\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n components={{\n Option: CustomShareChannelOption,\n SingleValue: CustomShareChannelSingleValue,\n }}\n styles={{\n singleValue: (provided, state) => ({\n ...provided,\n display: \"flex\",\n alignItems: \"center\",\n }),\n }}\n isDisabled={!triggerDetails?.shareType?.value}\n value={triggerDetails?.shareChannel}\n onChange={handleShareChannelChange}\n options={filteredShareChannelOptions}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\n\nexport default Trigger;"],"names":["hasFiltersWithValues","checkFiltersHaveValues","_a","_b","React"],"mappings":"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"}
@@ -5,6 +5,15 @@ const isEmpty = (object) => {
5
5
  const isTriggerDetailsValid = (triggerDetails) => {
6
6
  return !isEmpty(triggerDetails.shareChannel) && !isEmpty(triggerDetails.shareRecipient) && !isEmpty(triggerDetails.shareType);
7
7
  };
8
+ const hasFiltersWithValues = (fields) => {
9
+ var _a;
10
+ return (_a = fields == null ? void 0 : fields.filters) == null ? void 0 : _a.some(
11
+ (filter) => {
12
+ var _a2;
13
+ return (_a2 = filter == null ? void 0 : filter.filter) == null ? void 0 : _a2.some((currentFilter) => !!(currentFilter == null ? void 0 : currentFilter.value));
14
+ }
15
+ );
16
+ };
8
17
  const isEventSetupDisabled = (actions, objects, eventFields) => {
9
18
  return (!actions.value || !objects.value) && (!objects.options.find((object) => object.value === (eventFields == null ? void 0 : eventFields.object)) || !actions.options.find(
10
19
  (action) => {
@@ -30,5 +39,5 @@ const isSaveDisabled = (fields, triggerDetails) => {
30
39
  return !areAllFiltersComplete(fields) || !isTriggerDetailsValid(triggerDetails);
31
40
  };
32
41
 
33
- export { areAllFiltersComplete, isEmpty, isEventSetupDisabled, isSaveDisabled, isTriggerDetailsValid };
42
+ export { areAllFiltersComplete, hasFiltersWithValues, isEmpty, isEventSetupDisabled, isSaveDisabled, isTriggerDetailsValid };
34
43
  //# sourceMappingURL=validation.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validation.utils.js","sources":["../../../../src/triggers/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utilities for Triggers module\n */\n\n/**\n * Checks if an object is empty\n * @param object - Object to check\n * @returns boolean indicating if object is empty\n */\nexport const isEmpty = (object: any): boolean => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\n/**\n * Checks if trigger details are valid\n * @param triggerDetails - Trigger details object\n * @returns boolean indicating if details are valid\n */\nexport const isTriggerDetailsValid = (triggerDetails: any): boolean => {\n return (\n !isEmpty(triggerDetails.shareChannel) &&\n !isEmpty(triggerDetails.shareRecipient) &&\n !isEmpty(triggerDetails.shareType)\n );\n};\n\n/**\n * Checks if any filter has a value\n * @param fields - Fields object with filters\n * @returns boolean indicating if any filter has value\n */\nexport const hasFiltersWithValues = (fields: any): boolean => {\n return fields?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n );\n};\n\n/**\n * Checks if event setup is disabled\n * @param actions - Actions configuration\n * @param objects - Objects configuration\n * @param eventFields - Event fields\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actions: any,\n objects: any,\n eventFields?: any\n): boolean => {\n return (\n (!actions.value || !objects.value) &&\n (!objects.options.find((object: any) => object.value === eventFields?.object) ||\n !actions.options.find((action: any) =>\n eventFields?.action?.includes(action?.value)\n ))\n );\n};\n\n/**\n * Checks if all filter conditions are completely filled out,\n * including nested conditions (field, comparator, and value).\n * @param fields - Fields object with filters\n * @returns boolean indicating if all filters are complete\n */\nexport const areAllFiltersComplete = (fields: any): boolean => {\n if (!fields?.filters?.length) return false;\n\n return fields.filters.every((filterGroup: any) =>\n filterGroup?.filter?.length > 0 &&\n filterGroup.filter.every(\n (currentFilter: any) =>\n !!currentFilter?.field && !!currentFilter?.comparator && !!currentFilter?.value\n )\n );\n};\n\n/**\n * Checks if save button should be disabled\n * @param fields - Fields with filters\n * @param triggerDetails - Trigger details\n * @returns boolean indicating if save should be disabled\n */\nexport const isSaveDisabled = (fields: any, triggerDetails: any): boolean => {\n return (\n !areAllFiltersComplete(fields) || !isTriggerDetailsValid(triggerDetails)\n );\n};\n\n"],"names":["_a"],"mappings":"AASO,MAAM,OAAA,GAAU,CAAC,MAAA,KAAyB;AATjD,EAAA,IAAA,EAAA;AAUE,EAAA,OAAA,CAAA,CAAO,YAAO,OAAA,CAAQ,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU,EAAE,CAAA,KAA3B,mBAA8B,MAAA,MAAW,CAAA;AAClD;AAOO,MAAM,qBAAA,GAAwB,CAAC,cAAA,KAAiC;AACrE,EAAA,OACE,CAAC,OAAA,CAAQ,cAAA,CAAe,YAAY,CAAA,IACpC,CAAC,OAAA,CAAQ,cAAA,CAAe,cAAc,CAAA,IACtC,CAAC,OAAA,CAAQ,eAAe,SAAS,CAAA;AAErC;AAoBO,MAAM,oBAAA,GAAuB,CAClC,OAAA,EACA,OAAA,EACA,WAAA,KACY;AACZ,EAAA,OAAA,CACG,CAAC,OAAA,CAAQ,KAAA,IAAS,CAAC,OAAA,CAAQ,KAAA,MAC3B,CAAC,OAAA,CAAQ,OAAA,CAAQ,KAAK,CAAC,MAAA,KAAgB,OAAO,KAAA,MAAU,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,OAAM,CAAA,IAC1E,CAAC,QAAQ,OAAA,CAAQ,IAAA;AAAA,IAAK,CAAC,MAAA,KAAa;AApD1C,MAAA,IAAA,EAAA;AAqDQ,MAAA,OAAA,CAAA,EAAA,GAAA,WAAA,IAAA,IAAA,GAAA,MAAA,GAAA,WAAA,CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAA,EAAA,CAAqB,QAAA,CAAS,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,KAAA,CAAA;AAAA,IAAA;AAAA,GACxC,CAAA;AAEN;AAQO,MAAM,qBAAA,GAAwB,CAAC,MAAA,KAAyB;AAhE/D,EAAA,IAAA,EAAA;AAiEE,EAAA,IAAI,EAAA,CAAC,EAAA,GAAA,MAAA,IAAA,IAAA,GAAA,MAAA,GAAA,MAAA,CAAQ,OAAA,KAAR,IAAA,GAAA,MAAA,GAAA,EAAA,CAAiB,MAAA,CAAA;AAAQ,IAAA,OAAO,KAAA;AAErC,EAAA,OAAO,OAAO,OAAA,CAAQ,KAAA;AAAA,IAAM,CAAC,WAAA,KAAkB;AAnEjD,MAAA,IAAAA,GAAAA;AAoEI,MAAA,OAAA,CAAA,CAAAA,GAAAA,GAAA,2CAAa,MAAA,KAAb,IAAA,GAAA,MAAA,GAAAA,IAAqB,MAAA,IAAS,CAAA,IAC9B,YAAY,MAAA,CAAO,KAAA;AAAA,QACjB,CAAC,aAAA,KACC,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA,CAAA,IAAS,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,UAAA,CAAA,IAAc,CAAC,EAAC,aAAA,IAAA,IAAA,GAAA,MAAA,GAAA,aAAA,CAAe,KAAA;AAAA,OAC9E;AAAA,IAAA;AAAA,GACF;AACF;AAQO,MAAM,cAAA,GAAiB,CAAC,MAAA,EAAa,cAAA,KAAiC;AAC3E,EAAA,OACE,CAAC,qBAAA,CAAsB,MAAM,CAAA,IAAK,CAAC,sBAAsB,cAAc,CAAA;AAE3E;;;;"}
1
+ {"version":3,"file":"validation.utils.js","sources":["../../../../src/triggers/utils/validation.utils.ts"],"sourcesContent":["/**\n * Validation utilities for Triggers module\n */\n\n/**\n * Checks if an object is empty\n * @param object - Object to check\n * @returns boolean indicating if object is empty\n */\nexport const isEmpty = (object: any): boolean => {\n return Object.entries(object ?? {})?.length === 0;\n};\n\n/**\n * Checks if trigger details are valid\n * @param triggerDetails - Trigger details object\n * @returns boolean indicating if details are valid\n */\nexport const isTriggerDetailsValid = (triggerDetails: any): boolean => {\n return (\n !isEmpty(triggerDetails.shareChannel) &&\n !isEmpty(triggerDetails.shareRecipient) &&\n !isEmpty(triggerDetails.shareType)\n );\n};\n\n/**\n * Checks if any filter has a value\n * @param fields - Fields object with filters\n * @returns boolean indicating if any filter has value\n */\nexport const hasFiltersWithValues = (fields: any): boolean => {\n return fields?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n );\n};\n\n/**\n * Checks if event setup is disabled\n * @param actions - Actions configuration\n * @param objects - Objects configuration\n * @param eventFields - Event fields\n * @returns boolean indicating if setup is disabled\n */\nexport const isEventSetupDisabled = (\n actions: any,\n objects: any,\n eventFields?: any\n): boolean => {\n return (\n (!actions.value || !objects.value) &&\n (!objects.options.find((object: any) => object.value === eventFields?.object) ||\n !actions.options.find((action: any) =>\n eventFields?.action?.includes(action?.value)\n ))\n );\n};\n\n/**\n * Checks if all filter conditions are completely filled out,\n * including nested conditions (field, comparator, and value).\n * @param fields - Fields object with filters\n * @returns boolean indicating if all filters are complete\n */\nexport const areAllFiltersComplete = (fields: any): boolean => {\n if (!fields?.filters?.length) return false;\n\n return fields.filters.every((filterGroup: any) =>\n filterGroup?.filter?.length > 0 &&\n filterGroup.filter.every(\n (currentFilter: any) =>\n !!currentFilter?.field && !!currentFilter?.comparator && !!currentFilter?.value\n )\n );\n};\n\n/**\n * Checks if save button should be disabled\n * @param fields - Fields with filters\n * @param triggerDetails - Trigger details\n * @returns boolean indicating if save should be disabled\n */\nexport const isSaveDisabled = (fields: any, triggerDetails: any): boolean => {\n return (\n !areAllFiltersComplete(fields) || !isTriggerDetailsValid(triggerDetails)\n );\n};\n\n"],"names":["_a"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sparrowengg/integrations-templates-frontend",
3
- "version": "5.0.15",
3
+ "version": "5.1.16",
4
4
  "license": "MIT",
5
5
  "module": "dist/es/index.js",
6
6
  "main": "dist/cjs/index.js",