@sparrowengg/integrations-templates-frontend 5.1.16 → 6.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/cjs/commons/constants/index.js +1 -0
  2. package/dist/cjs/commons/constants/index.js.map +1 -1
  3. package/dist/cjs/mapping/constants/index.js.map +1 -1
  4. package/dist/cjs/triggers/components/TriggerHeader.js +4 -3
  5. package/dist/cjs/triggers/components/TriggerHeader.js.map +1 -1
  6. package/dist/cjs/triggers/components/trigger.js +53 -2
  7. package/dist/cjs/triggers/components/trigger.js.map +1 -1
  8. package/dist/cjs/triggers/hooks/use-contact-unique-constraint.js +35 -0
  9. package/dist/cjs/triggers/hooks/use-contact-unique-constraint.js.map +1 -0
  10. package/dist/cjs/triggers/index.js +12 -3
  11. package/dist/cjs/triggers/index.js.map +1 -1
  12. package/dist/cjs/triggers/services/index.js +15 -0
  13. package/dist/cjs/triggers/services/index.js.map +1 -1
  14. package/dist/cjs/triggers/utils/validation.utils.js +10 -4
  15. package/dist/cjs/triggers/utils/validation.utils.js.map +1 -1
  16. package/dist/es/commons/constants/index.js +1 -0
  17. package/dist/es/commons/constants/index.js.map +1 -1
  18. package/dist/es/mapping/constants/index.js.map +1 -1
  19. package/dist/es/triggers/components/TriggerHeader.js +4 -3
  20. package/dist/es/triggers/components/TriggerHeader.js.map +1 -1
  21. package/dist/es/triggers/components/trigger.js +53 -2
  22. package/dist/es/triggers/components/trigger.js.map +1 -1
  23. package/dist/es/triggers/hooks/use-contact-unique-constraint.js +33 -0
  24. package/dist/es/triggers/hooks/use-contact-unique-constraint.js.map +1 -0
  25. package/dist/es/triggers/index.js +12 -3
  26. package/dist/es/triggers/index.js.map +1 -1
  27. package/dist/es/triggers/services/index.js +15 -1
  28. package/dist/es/triggers/services/index.js.map +1 -1
  29. package/dist/es/triggers/utils/validation.utils.js +10 -4
  30. package/dist/es/triggers/utils/validation.utils.js.map +1 -1
  31. package/dist/index.d.ts +8 -0
  32. package/package.json +1 -1
@@ -120,6 +120,7 @@ const mappingPropertyValues = [
120
120
  { name: "CompletionStatus", id: "COMPLETION_STATUS", isEnabled: false },
121
121
  { name: "IP Address", id: "IP_ADDRESS", isEnabled: false },
122
122
  { name: "Location", id: "LOCATION", isEnabled: false },
123
+ { name: "Response PDF", id: "RESPONSE_PDF", isEnabled: false },
123
124
  { name: "DMS (Lat, Long)", id: "DMS", isEnabled: false },
124
125
  { name: "Channel Type", id: "CHANNEL_TYPE", isEnabled: false },
125
126
  { name: "Channel Name", id: "CHANNEL_NAME", isEnabled: false },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/commons/constants/index.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\n\nexport const surveySparrowURL = \"https://api.surveysparrow.com\";\n\n// UI Constants\nexport const FORM_WIDTH = 488;\nexport const MODAL_MAX_WIDTH = 600;\nexport const INPUT_MAX_LENGTH = 30;\n\n// CSS spacing constants (using stitches design tokens)\nexport const SPACING = {\n xs: \"$2\",\n sm: \"$4\", \n md: \"$8\",\n lg: \"$12\",\n xl: \"$16\",\n \"2xl\": \"$24\",\n \"3xl\": \"$32\",\n \"4xl\": \"$40\",\n} as const;\n\ntype MappingType = {\n id: number;\n label: string;\n value: string;\n};\n\nexport const mappingType: MappingType[] = [\n { id: 1, label: \"Question\", value: \"QUESTION\" },\n { id: 2, label: \"Contact\", value: \"CONTACT\" },\n { id: 3, label: \"Variable\", value: \"VARIABLE\" },\n { id: 4, label: \"Expression\", value: \"EXPRESSION\" },\n { id: 5, label: \"Submission Property\", value: \"SUBMISSION_PROPERTY\" },\n { id: 6, label: \"Enrich\", value: \"DERIVED_QUESTION\" },\n];\n\ntype FieldValue = {\n id: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n integrationFieldType: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n defaultValue: string | null;\n label?: string;\n value?: string;\n type?: string;\n};\n\nexport const defaultFieldValue: FieldValue = {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n integrationFieldType: null,\n isEssentialField: false,\n mappedType: mappingType[0],\n defaultValue: null,\n};\n\ntype IntegrationMappingField = {\n id: number;\n label: string;\n value: string;\n type: string;\n dependency?: FieldValue[];\n};\n\nexport const sampleIntegrationMappingFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n { id: 2, label: \"Phone Number\", value: \"phone_number\", type: \"NUMBER\" },\n { id: 3, label: \"First Name\", value: \"first_name\", type: \"string\" },\n { id: 4, label: \"Organization\", value: \"organization\", type: \"string\" },\n { id: 5, label: \"Title\", value: \"title\", type: \"string\" },\n {\n id: 6,\n label: \"External Id\",\n value: \"external_id\",\n type: \"string\",\n dependency: [\n {\n ...defaultFieldValue,\n isEssentialField: true,\n id: uuid(),\n label: \"Title\",\n value: \"title\",\n type: \"string\",\n },\n {\n ...defaultFieldValue,\n id: uuid(),\n label: \"Image\",\n value: \"image\",\n type: \"string\",\n },\n ],\n },\n { id: 7, label: \"Last Name\", value: \"last_name\", type: \"string\" },\n { id: 8, label: \"Image\", value: \"image\", type: \"string\" },\n { id: 9, label: \"Address1\", value: \"address1\", type: \"string\" },\n { id: 10, label: \"Address2\", value: \"address2\", type: \"string\" },\n { id: 11, label: \"City\", value: \"city\", type: \"string\" },\n { id: 12, label: \"Country\", value: \"country\", type: \"string\" },\n { id: 13, label: \"Latitude\", value: \"latitude\", type: \"string\" },\n { id: 14, label: \"Longitude\", value: \"longitude\", type: \"string\" },\n { id: 15, label: \"Region\", value: \"region\", type: \"string\" },\n { id: 16, label: \"Zip Code\", value: \"zip\", type: \"string\" },\n { id: 17, label: \"Time Zone\", value: \"timezone\", type: \"string\" },\n { id: 18, label: \"IP Address\", value: \"ip\", type: \"DATE_TIME\" },\n];\n\ntype SampleField = {\n id?: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n};\n\nexport const sampleFields: SampleField[] = [\n {\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: false,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: true,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n];\n\nexport const sampleIntegrationFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n];\n\ntype MappingTabValue = {\n id: number;\n name: string;\n value: string;\n placeholder: string;\n};\n\nexport const mappingTabValues: MappingTabValue[] = [\n { id: 1, name: \"Questions\", value: \"QUESTIONS\", placeholder: \"questions\" },\n { id: 6, name: \"Enrich\", value: \"DERIVED_QUESTIONS\", placeholder: \"derivedQuestions\" },\n { id: 2, name: \"Variable\", value: \"VARIABLE\", placeholder: \"variables\" },\n {\n id: 3,\n name: \"Contact\",\n value: \"CONTACT\",\n placeholder: \"contactProperties\",\n },\n {\n id: 4,\n name: \"Expression\",\n value: \"EXPRESSION\",\n placeholder: \"expressions\",\n },\n { id: 5, name: \"Property\", value: \"PROPERTY\", placeholder: \"property\" },\n \n];\n\ntype MappingPropertyValue = {\n name: string;\n id: string;\n isEnabled: boolean;\n disabled?: boolean;\n tooltip?: string;\n};\n\nexport const mappingPropertyValues: MappingPropertyValue[] = [\n { name: \"Started Time\", id: \"STARTED_TIME\", isEnabled: false },\n { name: \"Submitted Time\", id: \"SUBMITTED_TIME\", isEnabled: false },\n { name: \"CompletionStatus\", id: \"COMPLETION_STATUS\", isEnabled: false },\n { name: \"IP Address\", id: \"IP_ADDRESS\", isEnabled: false },\n { name: \"Location\", id: \"LOCATION\", isEnabled: false },\n { name: \"DMS (Lat, Long)\", id: \"DMS\", isEnabled: false },\n { name: \"Channel Type\", id: \"CHANNEL_TYPE\", isEnabled: false },\n { name: \"Channel Name\", id: \"CHANNEL_NAME\", isEnabled: false },\n { name: \"Device ID\", id: \"DEVICE_ID\", isEnabled: false },\n { name: \"Device Name\", id: \"DEVICE_NAME\", isEnabled: false },\n { name: \"Browser\", id: \"BROWSER\", isEnabled: false },\n { name: \"OS\", id: \"OS\", isEnabled: false },\n { name: \"Submission Id\", id: \"SUBMISSION_ID\", isEnabled: false },\n { name: \"Time Zone\", id: \"TIME_ZONE\", isEnabled: false },\n { name: \"Device Type\", id: \"DEVICE_TYPE\", isEnabled: false },\n { name: \"Browser Language\", id: \"BROWSER_LANGUAGE\", isEnabled: false },\n { name: \"Tags\", id: \"TAGS\", isEnabled: false },\n { name: \"Language Name\", id: \"LANGUAGE_NAME\", isEnabled: false },\n];\n\ntype SubMenuOption = {\n id: number;\n label: string;\n subLabel: string;\n value: string;\n};\n\nexport const subMenuOptions: SubMenuOption[] = [\n {\n id: 1,\n label: \"String\",\n subLabel: \"Textual Data. (Eg: Hello World, 1234)\",\n value: \"STRING\",\n },\n {\n id: 2,\n label: \"Number\",\n subLabel: \"Numeric Value. (Eg: 123, -45, 0)\",\n value: \"NUMBER\",\n },\n { id: 3, label: \"Boolean\", subLabel: \"True or False\", value: \"BOOLEAN\" },\n {\n id: 4,\n label: \"Date/Time\",\n subLabel: \"Timestamp or Calendar Information\",\n value: \"DATE_TIME\",\n },\n];\n\ntype OperatorOption = {\n id: number;\n label: string;\n value: string;\n isDateOnly?: boolean;\n isNumberOnly?: boolean;\n type?: string\n};\n\nexport const operatorOptions: OperatorOption[] = [\n { id: 1, label: \"is equals to\", value: \"IS\", type: \"BOOLEAN\" },\n { id: 2, label: \"is not equals to\", value: \"IS_NOT\", type: \"BOOLEAN\" },\n { id: 3, label: \"contains\", value: \"CONTAINS\" },\n { id: 4, label: \"not contains\", value: \"CONTAINS_NOT\" },\n { id: 5, label: \"starts with\", value: \"STARTS_WITH\" },\n { id: 6, label: \"ends with\", value: \"ENDS_WITH\" },\n { id: 5, label: \"has no value\", value: \"NO_VALUE\" },\n { id: 6, label: \"before\", value: \"BEFORE\", isDateOnly: true },\n { id: 7, label: \"after\", value: \"AFTER\", isDateOnly: true },\n { id: 8, label: \"on\", value: \"ON\", isDateOnly: true },\n { id: 9, label: \"has any value\", value: \"ANY_VALUE\" },\n { id: 10, label: \"less than\", value: \"LESS_THAN\", isNumberOnly: true },\n { id: 11, label: \"greater than\", value: \"GREATER_THAN\", isNumberOnly: true },\n { id: 12, label: \"less than or equal to\", value: \"LESS_THAN_OR_EQUAL\", isNumberOnly: true },\n { id: 13, label: \"greater than or equal to\", value: \"GREATER_THAN_OR_EQUAL\", isNumberOnly: true },\n];\n\ntype BooleanOption = {\n id: number;\n label: string;\n value: boolean;\n};\n\nexport const booleanOptions: BooleanOption[] = [\n { id: 1, label: \"True\", value: true },\n { id: 2, label: \"False\", value: false },\n];\nexport const integrationsNpsSubmissionProperties = [\n { label: 'Submission Start time', value: 'start_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n]; \n\nexport const integrationsClassicSubmissionProperties = [\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Start time', value: 'start_time', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Channel Type', value: 'channel_type', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n];\n\nexport const dynamicDateOptions = [\n {\n label: \"Last 7 days\",\n value: \"last_7_days\",\n },\n {\n label: \"Last 30 days\",\n value: \"last_30_days\",\n },\n {\n label: \"Last 3 months\",\n value: \"last_3_months\",\n },\n {\n label: \"Custom\",\n value: \"custom\",\n },\n];\n\n\nexport const conditionData = [\n {\n label: \"Contact Properties\",\n value: \"contactProperties\",\n options: [\n {\n label: \"Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name\",\n value: \"fullName\",\n subLabel: \"5\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"First Name\",\n value: \"firstName\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Email\",\n value: \"email\",\n operators: [\n {\n label: \"equals\",\n value: \"equals\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n {\n label: \"does not equal\",\n value: \"does-not-equal\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Language\",\n value: \"language\",\n operators: [\n {\n label: \"includes\",\n value: \"includes\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n },\n {\n label: \"does not include\",\n value: \"does-not-include\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n }\n ]\n },\n {\n label: \"Created At\",\n value: \"createdAt\",\n operators: [\n { label: \"is\", value: \"is\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is not\", value: \"is-not\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is before\", value: \"is-before\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is after\", value: \"is-after\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is between\", value: \"is-between\", dataType: \"DATE_RANGE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Variables\",\n value: \"variables\",\n options: [\n {\n label: \"$var1\",\n value: \"$var1\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Survey 1\",\n value: \"survey1\",\n operators: [\n {\n label: \"Responded\",\n value: \"responded\",\n dataType: \"SINGLE_SELECT\",\n type: \"VALUE_SELECTOR\",\n choices: [\n { label: \"Responded\", value: \"responded\" },\n { label: \"Partially Responded\", value: \"partially-responded\" },\n { label: \"Not Responded\", value: \"not-responded\" }\n ]\n }\n ]\n }\n];\n"],"names":["uuid"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/commons/constants/index.ts"],"sourcesContent":["import { v4 as uuid } from \"uuid\";\n\nexport const surveySparrowURL = \"https://api.surveysparrow.com\";\n\n// UI Constants\nexport const FORM_WIDTH = 488;\nexport const MODAL_MAX_WIDTH = 600;\nexport const INPUT_MAX_LENGTH = 30;\n\n// CSS spacing constants (using stitches design tokens)\nexport const SPACING = {\n xs: \"$2\",\n sm: \"$4\", \n md: \"$8\",\n lg: \"$12\",\n xl: \"$16\",\n \"2xl\": \"$24\",\n \"3xl\": \"$32\",\n \"4xl\": \"$40\",\n} as const;\n\ntype MappingType = {\n id: number;\n label: string;\n value: string;\n};\n\nexport const mappingType: MappingType[] = [\n { id: 1, label: \"Question\", value: \"QUESTION\" },\n { id: 2, label: \"Contact\", value: \"CONTACT\" },\n { id: 3, label: \"Variable\", value: \"VARIABLE\" },\n { id: 4, label: \"Expression\", value: \"EXPRESSION\" },\n { id: 5, label: \"Submission Property\", value: \"SUBMISSION_PROPERTY\" },\n { id: 6, label: \"Enrich\", value: \"DERIVED_QUESTION\" },\n];\n\ntype FieldValue = {\n id: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n integrationFieldType: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n defaultValue: string | null;\n label?: string;\n value?: string;\n type?: string;\n};\n\nexport const defaultFieldValue: FieldValue = {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n integrationFieldType: null,\n isEssentialField: false,\n mappedType: mappingType[0],\n defaultValue: null,\n};\n\ntype IntegrationMappingField = {\n id: number;\n label: string;\n value: string;\n type: string;\n dependency?: FieldValue[];\n};\n\nexport const sampleIntegrationMappingFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n { id: 2, label: \"Phone Number\", value: \"phone_number\", type: \"NUMBER\" },\n { id: 3, label: \"First Name\", value: \"first_name\", type: \"string\" },\n { id: 4, label: \"Organization\", value: \"organization\", type: \"string\" },\n { id: 5, label: \"Title\", value: \"title\", type: \"string\" },\n {\n id: 6,\n label: \"External Id\",\n value: \"external_id\",\n type: \"string\",\n dependency: [\n {\n ...defaultFieldValue,\n isEssentialField: true,\n id: uuid(),\n label: \"Title\",\n value: \"title\",\n type: \"string\",\n },\n {\n ...defaultFieldValue,\n id: uuid(),\n label: \"Image\",\n value: \"image\",\n type: \"string\",\n },\n ],\n },\n { id: 7, label: \"Last Name\", value: \"last_name\", type: \"string\" },\n { id: 8, label: \"Image\", value: \"image\", type: \"string\" },\n { id: 9, label: \"Address1\", value: \"address1\", type: \"string\" },\n { id: 10, label: \"Address2\", value: \"address2\", type: \"string\" },\n { id: 11, label: \"City\", value: \"city\", type: \"string\" },\n { id: 12, label: \"Country\", value: \"country\", type: \"string\" },\n { id: 13, label: \"Latitude\", value: \"latitude\", type: \"string\" },\n { id: 14, label: \"Longitude\", value: \"longitude\", type: \"string\" },\n { id: 15, label: \"Region\", value: \"region\", type: \"string\" },\n { id: 16, label: \"Zip Code\", value: \"zip\", type: \"string\" },\n { id: 17, label: \"Time Zone\", value: \"timezone\", type: \"string\" },\n { id: 18, label: \"IP Address\", value: \"ip\", type: \"DATE_TIME\" },\n];\n\ntype SampleField = {\n id?: string;\n surveySparrowField: string | null;\n integrationField: string | null;\n isEssentialField: boolean;\n mappedType: MappingType;\n};\n\nexport const sampleFields: SampleField[] = [\n {\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: false,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n {\n id: uuid(),\n surveySparrowField: null,\n integrationField: null,\n isEssentialField: true,\n mappedType: { id: 1, label: \"Question\", value: \"QUESTION\" },\n },\n];\n\nexport const sampleIntegrationFields: IntegrationMappingField[] = [\n { id: 1, label: \"Email\", value: \"email\", type: \"email\" },\n];\n\ntype MappingTabValue = {\n id: number;\n name: string;\n value: string;\n placeholder: string;\n};\n\nexport const mappingTabValues: MappingTabValue[] = [\n { id: 1, name: \"Questions\", value: \"QUESTIONS\", placeholder: \"questions\" },\n { id: 6, name: \"Enrich\", value: \"DERIVED_QUESTIONS\", placeholder: \"derivedQuestions\" },\n { id: 2, name: \"Variable\", value: \"VARIABLE\", placeholder: \"variables\" },\n {\n id: 3,\n name: \"Contact\",\n value: \"CONTACT\",\n placeholder: \"contactProperties\",\n },\n {\n id: 4,\n name: \"Expression\",\n value: \"EXPRESSION\",\n placeholder: \"expressions\",\n },\n { id: 5, name: \"Property\", value: \"PROPERTY\", placeholder: \"property\" },\n \n];\n\ntype MappingPropertyValue = {\n name: string;\n id: string;\n isEnabled: boolean;\n disabled?: boolean;\n tooltip?: string;\n};\n\nexport const mappingPropertyValues: MappingPropertyValue[] = [\n { name: \"Started Time\", id: \"STARTED_TIME\", isEnabled: false },\n { name: \"Submitted Time\", id: \"SUBMITTED_TIME\", isEnabled: false },\n { name: \"CompletionStatus\", id: \"COMPLETION_STATUS\", isEnabled: false },\n { name: \"IP Address\", id: \"IP_ADDRESS\", isEnabled: false },\n { name: \"Location\", id: \"LOCATION\", isEnabled: false },\n { name: \"Response PDF\", id: \"RESPONSE_PDF\", isEnabled: false },\n { name: \"DMS (Lat, Long)\", id: \"DMS\", isEnabled: false },\n { name: \"Channel Type\", id: \"CHANNEL_TYPE\", isEnabled: false },\n { name: \"Channel Name\", id: \"CHANNEL_NAME\", isEnabled: false },\n { name: \"Device ID\", id: \"DEVICE_ID\", isEnabled: false },\n { name: \"Device Name\", id: \"DEVICE_NAME\", isEnabled: false },\n { name: \"Browser\", id: \"BROWSER\", isEnabled: false },\n { name: \"OS\", id: \"OS\", isEnabled: false },\n { name: \"Submission Id\", id: \"SUBMISSION_ID\", isEnabled: false },\n { name: \"Time Zone\", id: \"TIME_ZONE\", isEnabled: false },\n { name: \"Device Type\", id: \"DEVICE_TYPE\", isEnabled: false },\n { name: \"Browser Language\", id: \"BROWSER_LANGUAGE\", isEnabled: false },\n { name: \"Tags\", id: \"TAGS\", isEnabled: false },\n { name: \"Language Name\", id: \"LANGUAGE_NAME\", isEnabled: false },\n];\n\ntype SubMenuOption = {\n id: number;\n label: string;\n subLabel: string;\n value: string;\n};\n\nexport const subMenuOptions: SubMenuOption[] = [\n {\n id: 1,\n label: \"String\",\n subLabel: \"Textual Data. (Eg: Hello World, 1234)\",\n value: \"STRING\",\n },\n {\n id: 2,\n label: \"Number\",\n subLabel: \"Numeric Value. (Eg: 123, -45, 0)\",\n value: \"NUMBER\",\n },\n { id: 3, label: \"Boolean\", subLabel: \"True or False\", value: \"BOOLEAN\" },\n {\n id: 4,\n label: \"Date/Time\",\n subLabel: \"Timestamp or Calendar Information\",\n value: \"DATE_TIME\",\n },\n];\n\ntype OperatorOption = {\n id: number;\n label: string;\n value: string;\n isDateOnly?: boolean;\n isNumberOnly?: boolean;\n type?: string\n};\n\nexport const operatorOptions: OperatorOption[] = [\n { id: 1, label: \"is equals to\", value: \"IS\", type: \"BOOLEAN\" },\n { id: 2, label: \"is not equals to\", value: \"IS_NOT\", type: \"BOOLEAN\" },\n { id: 3, label: \"contains\", value: \"CONTAINS\" },\n { id: 4, label: \"not contains\", value: \"CONTAINS_NOT\" },\n { id: 5, label: \"starts with\", value: \"STARTS_WITH\" },\n { id: 6, label: \"ends with\", value: \"ENDS_WITH\" },\n { id: 5, label: \"has no value\", value: \"NO_VALUE\" },\n { id: 6, label: \"before\", value: \"BEFORE\", isDateOnly: true },\n { id: 7, label: \"after\", value: \"AFTER\", isDateOnly: true },\n { id: 8, label: \"on\", value: \"ON\", isDateOnly: true },\n { id: 9, label: \"has any value\", value: \"ANY_VALUE\" },\n { id: 10, label: \"less than\", value: \"LESS_THAN\", isNumberOnly: true },\n { id: 11, label: \"greater than\", value: \"GREATER_THAN\", isNumberOnly: true },\n { id: 12, label: \"less than or equal to\", value: \"LESS_THAN_OR_EQUAL\", isNumberOnly: true },\n { id: 13, label: \"greater than or equal to\", value: \"GREATER_THAN_OR_EQUAL\", isNumberOnly: true },\n];\n\ntype BooleanOption = {\n id: number;\n label: string;\n value: boolean;\n};\n\nexport const booleanOptions: BooleanOption[] = [\n { id: 1, label: \"True\", value: true },\n { id: 2, label: \"False\", value: false },\n];\nexport const integrationsNpsSubmissionProperties = [\n { label: 'Submission Start time', value: 'start_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n]; \n\nexport const integrationsClassicSubmissionProperties = [\n { label: 'Submitted at', value: 'completed_time', type: 'STRING' },\n { label: 'Device type', value: 'device_type', type: 'STRING' },\n { label: 'Language', value: 'language', type: 'STRING' },\n { label: 'Start time', value: 'start_time', type: 'STRING' },\n { label: 'Survey ID', value: 'survey_id', type: 'STRING' },\n { label: 'Time taken', value: 'time_taken', type: 'STRING' },\n { label: 'Submission state', value: 'state', type: 'STRING' },\n { label: 'Submission ID', value: 'id', type: 'STRING' },\n { label: 'Location', value: 'location', type: 'STRING' },\n { label: 'OS', value: 'os', type: 'STRING' },\n { label: 'Browser', value: 'browser', type: 'STRING' },\n { label: 'IP', value: 'ip', type: 'STRING' },\n { label: 'Channel Type', value: 'channel_type', type: 'STRING' },\n { label: 'Login Email (Offline)', value: 'loginEmail', type: 'STRING' },\n { label: 'DMS (Offline)', value: 'dms', type: 'STRING' },\n];\n\nexport const dynamicDateOptions = [\n {\n label: \"Last 7 days\",\n value: \"last_7_days\",\n },\n {\n label: \"Last 30 days\",\n value: \"last_30_days\",\n },\n {\n label: \"Last 3 months\",\n value: \"last_3_months\",\n },\n {\n label: \"Custom\",\n value: \"custom\",\n },\n];\n\n\nexport const conditionData = [\n {\n label: \"Contact Properties\",\n value: \"contactProperties\",\n options: [\n {\n label: \"Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name Full Name\",\n value: \"fullName\",\n subLabel: \"5\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"First Name\",\n value: \"firstName\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not equal\", value: \"does-not-equal\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Email\",\n value: \"email\",\n operators: [\n {\n label: \"equals\",\n value: \"equals\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n {\n label: \"does not equal\",\n value: \"does-not-equal\",\n dataType: \"SINGLE_LINE_TEXT\",\n type: \"VALUE_SELECTOR\",\n regex: \"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\\\.[a-zA-Z]{2,}$\"\n },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"does not contain\", value: \"does-not-contain\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"starts with\", value: \"starts-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"ends with\", value: \"ends-with\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"regex\", value: \"regex\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n },\n {\n label: \"Language\",\n value: \"language\",\n operators: [\n {\n label: \"includes\",\n value: \"includes\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n },\n {\n label: \"does not include\",\n value: \"does-not-include\",\n dataType: \"MULTI_SELECT\",\n type: \"VALUE_SELECTOR\",\n valuesKey: \"language\",\n choices: [\n { label: \"English\", value: \"en\" },\n { label: \"French\", value: \"fr\" },\n { label: \"Spanish\", value: \"es\" },\n { label: \"German\", value: \"de\" },\n { label: \"Other\", value: \"other\" }\n ]\n }\n ]\n },\n {\n label: \"Created At\",\n value: \"createdAt\",\n operators: [\n { label: \"is\", value: \"is\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is not\", value: \"is-not\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is before\", value: \"is-before\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is after\", value: \"is-after\", dataType: \"DATE\", type: \"VALUE_SELECTOR\" },\n { label: \"is between\", value: \"is-between\", dataType: \"DATE_RANGE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Variables\",\n value: \"variables\",\n options: [\n {\n label: \"$var1\",\n value: \"$var1\",\n operators: [\n { label: \"equals\", value: \"equals\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"contains\", value: \"contains\", dataType: \"SINGLE_LINE_TEXT\", type: \"VALUE_SELECTOR\" },\n { label: \"has any value\", value: \"has-any-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" },\n { label: \"has no value\", value: \"has-no-value\", dataType: \"NO_VALUE\", type: \"VALUE_SELECTOR\" }\n ]\n }\n ]\n },\n {\n label: \"Survey 1\",\n value: \"survey1\",\n operators: [\n {\n label: \"Responded\",\n value: \"responded\",\n dataType: \"SINGLE_SELECT\",\n type: \"VALUE_SELECTOR\",\n choices: [\n { label: \"Responded\", value: \"responded\" },\n { label: \"Partially Responded\", value: \"partially-responded\" },\n { label: \"Not Responded\", value: \"not-responded\" }\n ]\n }\n ]\n }\n];\n"],"names":["uuid"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/mapping/constants/index.ts"],"sourcesContent":["import { SelectOption } from '../../commons/types/enhanced';\nimport { MAPPING_TYPES, DATA_TYPE_OPTIONS } from '../../commons/constants/enhanced';\n\n// Export UI strings\nexport * from './ui-strings';\n\n// Mapping specific constants\nexport const MAPPING_TAB_VALUES: Array<{\n id: number;\n name: string;\n value: string;\n placeholder: string;\n}> = [\n { id: 1, name: 'Questions', value: 'QUESTIONS', placeholder: 'questions' },\n { id: 6, name: 'Enrich', value: 'DERIVED_QUESTIONS', placeholder: 'derivedQuestions' },\n { id: 2, name: 'Variable', value: 'VARIABLE', placeholder: 'variables' },\n { id: 3, name: 'Contact', value: 'CONTACT', placeholder: 'contactProperties' },\n { id: 4, name: 'Expression', value: 'EXPRESSION', placeholder: 'expressions' },\n { id: 5, name: 'Property', value: 'PROPERTY', placeholder: 'property' },\n];\n\nexport const MAPPING_PROPERTY_VALUES: Array<{\n name: string;\n id: string;\n isEnabled: boolean;\n}> = [\n { name: 'Select all Properties', id: 'ALL', isEnabled: false },\n { name: 'Started Time', id: 'STARTED_TIME', isEnabled: false },\n { name: 'Submitted Time', id: 'SUBMITTED_TIME', isEnabled: false },\n { name: 'CompletionStatus', id: 'COMPLETION_STATUS', isEnabled: false },\n { name: 'IP Address', id: 'IP_ADDRESS', isEnabled: false },\n { name: 'Location', id: 'LOCATION', isEnabled: false },\n { name: 'DMS (Lat, Long)', id: 'DMS', isEnabled: false },\n { name: 'Channel Type', id: 'CHANNEL_TYPE', isEnabled: false },\n { name: 'Channel Name', id: 'CHANNEL_NAME', isEnabled: false },\n { name: 'Device ID', id: 'DEVICE_ID', isEnabled: false },\n { name: 'Device Name', id: 'DEVICE_NAME', isEnabled: false },\n { name: 'Browser', id: 'BROWSER', isEnabled: false },\n { name: 'OS', id: 'OS', isEnabled: false },\n { name: 'Submission Id', id: 'SUBMISSION_ID', isEnabled: true, disabled: true, tooltip: 'This is a mandatory field' },\n { name: 'Time Zone', id: 'TIME_ZONE', isEnabled: false },\n { name: 'Device Type', id: 'DEVICE_TYPE', isEnabled: false },\n { name: 'Browser Language', id: 'BROWSER_LANGUAGE', isEnabled: false },\n { name: 'Tags', id: 'TAGS', isEnabled: false },\n { name: 'Language Name', id: 'LANGUAGE_NAME', isEnabled: false },\n];\n\nexport const DEFAULT_FIELD_VALUE = {\n id: '',\n surveySparrowField: null,\n integrationField: null,\n integrationFieldType: null,\n isEssentialField: false,\n mappedType: MAPPING_TYPES[0],\n defaultValue: null,\n dependency: null,\n};\n\nexport const SAMPLE_INTEGRATION_FIELDS: Array<{\n id: number;\n label: string;\n value: string;\n type: string;\n}> = [\n { id: 1, label: 'Email', value: 'email', type: 'EMAIL' },\n { id: 2, label: 'Phone Number', value: 'phone_number', type: 'PHONE' },\n { id: 3, label: 'First Name', value: 'first_name', type: 'STRING' },\n { id: 4, label: 'Last Name', value: 'last_name', type: 'STRING' },\n { id: 5, label: 'Organization', value: 'organization', type: 'STRING' },\n { id: 6, label: 'Title', value: 'title', type: 'STRING' },\n { id: 7, label: 'Address', value: 'address', type: 'STRING' },\n { id: 8, label: 'City', value: 'city', type: 'STRING' },\n { id: 9, label: 'Country', value: 'country', type: 'STRING' },\n { id: 10, label: 'Zip Code', value: 'zip_code', type: 'STRING' },\n];\n\n// CSS Custom Styles for Select Components\nexport const CUSTOM_SELECT_STYLES = {\n menuList: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n maxHeight: 176,\n }),\n menu: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n zIndex: 9999,\n }),\n control: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n minHeight: '40px',\n }),\n};\n\nexport const SUB_MENU_CUSTOM_STYLES = {\n menuList: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n maxHeight: 200,\n }),\n menu: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n zIndex: 9998,\n }),\n};\n\n// Field validation rules\nexport const FIELD_VALIDATION = {\n REQUIRED_FIELDS: ['surveySparrowField', 'integrationField'],\n MAX_FIELD_COUNT: 50,\n MIN_FIELD_COUNT: 1,\n} as const;\n\n// Error messages for mapping\nexport const MAPPING_ERROR_MESSAGES = {\n FIELD_REQUIRED: 'This field is required',\n INTEGRATION_FIELD_REQUIRED: 'Integration field is required',\n SURVEY_FIELD_REQUIRED: 'Survey field is required',\n DUPLICATE_MAPPING: 'This mapping already exists',\n MAX_FIELDS_REACHED: `Maximum ${FIELD_VALIDATION.MAX_FIELD_COUNT} fields allowed`,\n FETCH_ERROR: 'Failed to fetch mapping data',\n} as const;\n"],"names":["MAPPING_TYPES"],"mappings":";;;;AA+CO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,EAAA;AAAA,EACJ,kBAAA,EAAoB,IAAA;AAAA,EACpB,gBAAA,EAAkB,IAAA;AAAA,EAClB,oBAAA,EAAsB,IAAA;AAAA,EACtB,gBAAA,EAAkB,KAAA;AAAA,EAClB,UAAA,EAAYA,uBAAc,CAAC,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,UAAA,EAAY;AACd;AAuDO,MAAM,sBAAA,GAAyB;AAAA,EAMpC,WAAA,EAAa;AACf;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/mapping/constants/index.ts"],"sourcesContent":["import { SelectOption } from '../../commons/types/enhanced';\nimport { MAPPING_TYPES, DATA_TYPE_OPTIONS } from '../../commons/constants/enhanced';\n\n// Export UI strings\nexport * from './ui-strings';\n\n// Mapping specific constants\nexport const MAPPING_TAB_VALUES: Array<{\n id: number;\n name: string;\n value: string;\n placeholder: string;\n}> = [\n { id: 1, name: 'Questions', value: 'QUESTIONS', placeholder: 'questions' },\n { id: 6, name: 'Enrich', value: 'DERIVED_QUESTIONS', placeholder: 'derivedQuestions' },\n { id: 2, name: 'Variable', value: 'VARIABLE', placeholder: 'variables' },\n { id: 3, name: 'Contact', value: 'CONTACT', placeholder: 'contactProperties' },\n { id: 4, name: 'Expression', value: 'EXPRESSION', placeholder: 'expressions' },\n { id: 5, name: 'Property', value: 'PROPERTY', placeholder: 'property' },\n];\n\nexport const MAPPING_PROPERTY_VALUES: Array<{\n name: string;\n id: string;\n isEnabled: boolean;\n}> = [\n { name: 'Select all Properties', id: 'ALL', isEnabled: false },\n { name: 'Started Time', id: 'STARTED_TIME', isEnabled: false },\n { name: 'Submitted Time', id: 'SUBMITTED_TIME', isEnabled: false },\n { name: 'CompletionStatus', id: 'COMPLETION_STATUS', isEnabled: false },\n { name: 'IP Address', id: 'IP_ADDRESS', isEnabled: false },\n { name: 'Location', id: 'LOCATION', isEnabled: false },\n { name: 'Response PDF', id: 'RESPONSE_PDF', isEnabled: false },\n { name: 'DMS (Lat, Long)', id: 'DMS', isEnabled: false },\n { name: 'Channel Type', id: 'CHANNEL_TYPE', isEnabled: false },\n { name: 'Channel Name', id: 'CHANNEL_NAME', isEnabled: false },\n { name: 'Device ID', id: 'DEVICE_ID', isEnabled: false },\n { name: 'Device Name', id: 'DEVICE_NAME', isEnabled: false },\n { name: 'Browser', id: 'BROWSER', isEnabled: false },\n { name: 'OS', id: 'OS', isEnabled: false },\n { name: 'Submission Id', id: 'SUBMISSION_ID', isEnabled: true, disabled: true, tooltip: 'This is a mandatory field' },\n { name: 'Time Zone', id: 'TIME_ZONE', isEnabled: false },\n { name: 'Device Type', id: 'DEVICE_TYPE', isEnabled: false },\n { name: 'Browser Language', id: 'BROWSER_LANGUAGE', isEnabled: false },\n { name: 'Tags', id: 'TAGS', isEnabled: false },\n { name: 'Language Name', id: 'LANGUAGE_NAME', isEnabled: false },\n];\n\nexport const DEFAULT_FIELD_VALUE = {\n id: '',\n surveySparrowField: null,\n integrationField: null,\n integrationFieldType: null,\n isEssentialField: false,\n mappedType: MAPPING_TYPES[0],\n defaultValue: null,\n dependency: null,\n};\n\nexport const SAMPLE_INTEGRATION_FIELDS: Array<{\n id: number;\n label: string;\n value: string;\n type: string;\n}> = [\n { id: 1, label: 'Email', value: 'email', type: 'EMAIL' },\n { id: 2, label: 'Phone Number', value: 'phone_number', type: 'PHONE' },\n { id: 3, label: 'First Name', value: 'first_name', type: 'STRING' },\n { id: 4, label: 'Last Name', value: 'last_name', type: 'STRING' },\n { id: 5, label: 'Organization', value: 'organization', type: 'STRING' },\n { id: 6, label: 'Title', value: 'title', type: 'STRING' },\n { id: 7, label: 'Address', value: 'address', type: 'STRING' },\n { id: 8, label: 'City', value: 'city', type: 'STRING' },\n { id: 9, label: 'Country', value: 'country', type: 'STRING' },\n { id: 10, label: 'Zip Code', value: 'zip_code', type: 'STRING' },\n];\n\n// CSS Custom Styles for Select Components\nexport const CUSTOM_SELECT_STYLES = {\n menuList: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n maxHeight: 176,\n }),\n menu: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n zIndex: 9999,\n }),\n control: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n minHeight: '40px',\n }),\n};\n\nexport const SUB_MENU_CUSTOM_STYLES = {\n menuList: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n maxHeight: 200,\n }),\n menu: (prevStyles: Record<string, unknown>) => ({\n ...prevStyles,\n zIndex: 9998,\n }),\n};\n\n// Field validation rules\nexport const FIELD_VALIDATION = {\n REQUIRED_FIELDS: ['surveySparrowField', 'integrationField'],\n MAX_FIELD_COUNT: 50,\n MIN_FIELD_COUNT: 1,\n} as const;\n\n// Error messages for mapping\nexport const MAPPING_ERROR_MESSAGES = {\n FIELD_REQUIRED: 'This field is required',\n INTEGRATION_FIELD_REQUIRED: 'Integration field is required',\n SURVEY_FIELD_REQUIRED: 'Survey field is required',\n DUPLICATE_MAPPING: 'This mapping already exists',\n MAX_FIELDS_REACHED: `Maximum ${FIELD_VALIDATION.MAX_FIELD_COUNT} fields allowed`,\n FETCH_ERROR: 'Failed to fetch mapping data',\n} as const;\n"],"names":["MAPPING_TYPES"],"mappings":";;;;AAgDO,MAAM,mBAAA,GAAsB;AAAA,EACjC,EAAA,EAAI,EAAA;AAAA,EACJ,kBAAA,EAAoB,IAAA;AAAA,EACpB,gBAAA,EAAkB,IAAA;AAAA,EAClB,oBAAA,EAAsB,IAAA;AAAA,EACtB,gBAAA,EAAkB,KAAA;AAAA,EAClB,UAAA,EAAYA,uBAAc,CAAC,CAAA;AAAA,EAC3B,YAAA,EAAc,IAAA;AAAA,EACd,UAAA,EAAY;AACd;AAuDO,MAAM,sBAAA,GAAyB;AAAA,EAMpC,WAAA,EAAa;AACf;;;;;"}
@@ -29,7 +29,8 @@ const TriggerHeader = ({
29
29
  fields,
30
30
  editFieldId,
31
31
  eventFields,
32
- triggerDetails
32
+ triggerDetails,
33
+ contactUniqueConstraint
33
34
  }) => {
34
35
  const [isDraftModalOpen, setIsDraftModalOpen] = React.useState(false);
35
36
  const isDisabled = React.useMemo(
@@ -37,8 +38,8 @@ const TriggerHeader = ({
37
38
  [actions, objects, eventFields]
38
39
  );
39
40
  const isSaveButtonDisabled = React.useMemo(
40
- () => validation_utils.isSaveDisabled(fields, triggerDetails),
41
- [fields, triggerDetails]
41
+ () => validation_utils.isSaveDisabled(fields, triggerDetails, contactUniqueConstraint),
42
+ [fields, triggerDetails, contactUniqueConstraint]
42
43
  );
43
44
  const headerTitle = React.useMemo(
44
45
  () => editFieldId ? uiStrings.TRIGGERS_UI_STRINGS.EDIT_TRIGGER : uiStrings.TRIGGERS_UI_STRINGS.NEW_TRIGGER,
@@ -1 +1 @@
1
- {"version":3,"file":"TriggerHeader.js","sources":["../../../../src/triggers/components/TriggerHeader.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useState, useCallback, useMemo } from \"react\";\nimport {\n Button,\n Flex,\n Heading,\n IconButton,\n} from \"@sparrowengg/twigs-react\";\nimport { ArrowLeftIcon } from \"@sparrowengg/twigs-react-icons\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport DraftModal from \"../../commons/components/draftModal\";\nimport { TriggerHeaderProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled, isSaveDisabled } from \"../utils\";\n\n/* ----- Main Component ----- */\n\n/**\n * TriggerHeader component for displaying trigger navigation and actions\n *\n * @param {TriggerHeaderProps} props - Component props\n * @returns {JSX.Element} Rendered TriggerHeader component\n */\nconst TriggerHeader: React.FC<TriggerHeaderProps> = ({\n forceDisableTriggerCTA,\n draftHandler,\n navigateTriggerPage,\n objects,\n accounts,\n actions,\n onSaveTriggerLoader,\n hasPreviousMapping,\n isTriggerPage,\n onSaveHandler,\n navigateConfigurePage,\n previousMappingHandler,\n fields,\n editFieldId,\n eventFields,\n triggerDetails,\n}) => {\n /* ----- States ----- */\n\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n\n /* ----- Constants ----- */\n\n const isDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const isSaveButtonDisabled = useMemo(\n () => isSaveDisabled(fields, triggerDetails),\n [fields, triggerDetails]\n );\n\n const headerTitle = useMemo(\n () =>\n editFieldId\n ? TRIGGERS_UI_STRINGS.EDIT_TRIGGER\n : TRIGGERS_UI_STRINGS.NEW_TRIGGER,\n [editFieldId]\n );\n\n const saveButtonText = useMemo(\n () =>\n editFieldId\n ? TRIGGERS_UI_STRINGS.UPDATE_TRIGGER\n : TRIGGERS_UI_STRINGS.SAVE_TRIGGER,\n [editFieldId]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleBackClick = useCallback(async () => {\n await previousMappingHandler();\n }, [previousMappingHandler]);\n\n const handleDraftSave = useCallback(async () => {\n await draftHandler(\"TRIGGER\", editFieldId);\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }, [draftHandler, editFieldId, previousMappingHandler]);\n\n const handleDraftCancel = useCallback(async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }, [previousMappingHandler]);\n\n const handleDraftClose = useCallback(() => {\n setIsDraftModalOpen(false);\n }, []);\n\n const handleEventSetupClick = useCallback(() => {\n if (isTriggerPage) {\n navigateConfigurePage();\n }\n }, [isTriggerPage, navigateConfigurePage]);\n\n const handleTriggerConditionsClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n const handleSaveClick = useCallback(() => {\n onSaveHandler(editFieldId);\n }, [onSaveHandler, editFieldId]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={handleDraftSave}\n onCloseHandler={handleDraftClose}\n onCancel={handleDraftCancel}\n />\n )}\n <Flex gap=\"$6\" alignItems=\"center\">\n <IconButton\n onClick={handleBackClick}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n aria-label=\"Go back\"\n />\n <Heading size=\"h6\">{headerTitle}</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isTriggerPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={handleEventSetupClick}\n >\n {TRIGGERS_UI_STRINGS.EVENT_SETUP}\n </Button>\n <Arrow />\n <Button\n onClick={handleTriggerConditionsClick}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n {TRIGGERS_UI_STRINGS.TRIGGER_CONDITIONS}\n </Button>\n </Flex>\n <Button\n loading={onSaveTriggerLoader}\n size=\"lg\"\n disabled={isSaveButtonDisabled || forceDisableTriggerCTA}\n onClick={handleSaveClick}\n css={{ visibility: isTriggerPage ? \"visible\" : \"hidden\" }}\n >\n {saveButtonText}\n </Button>\n </Flex>\n );\n};\n\nexport default TriggerHeader;\n\n"],"names":["useState","useMemo","isEventSetupDisabled","isSaveDisabled","TRIGGERS_UI_STRINGS","useCallback","Flex","DraftModal","IconButton","ArrowLeftIcon","Heading","Button","Arrow"],"mappings":"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"}
1
+ {"version":3,"file":"TriggerHeader.js","sources":["../../../../src/triggers/components/TriggerHeader.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useState, useCallback, useMemo } from \"react\";\nimport {\n Button,\n Flex,\n Heading,\n IconButton,\n} from \"@sparrowengg/twigs-react\";\nimport { ArrowLeftIcon } from \"@sparrowengg/twigs-react-icons\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport DraftModal from \"../../commons/components/draftModal\";\nimport { TriggerHeaderProps } from \"../types\";\nimport { TRIGGERS_UI_STRINGS } from \"../constants\";\nimport { isEventSetupDisabled, isSaveDisabled } from \"../utils\";\n\n/* ----- Main Component ----- */\n\n/**\n * TriggerHeader component for displaying trigger navigation and actions\n *\n * @param {TriggerHeaderProps} props - Component props\n * @returns {JSX.Element} Rendered TriggerHeader component\n */\nconst TriggerHeader: React.FC<TriggerHeaderProps> = ({\n forceDisableTriggerCTA,\n draftHandler,\n navigateTriggerPage,\n objects,\n accounts,\n actions,\n onSaveTriggerLoader,\n hasPreviousMapping,\n isTriggerPage,\n onSaveHandler,\n navigateConfigurePage,\n previousMappingHandler,\n fields,\n editFieldId,\n eventFields,\n triggerDetails,\n contactUniqueConstraint,\n}) => {\n /* ----- States ----- */\n\n const [isDraftModalOpen, setIsDraftModalOpen] = useState(false);\n\n /* ----- Constants ----- */\n\n const isDisabled = useMemo(\n () => isEventSetupDisabled(actions, objects, eventFields),\n [actions, objects, eventFields]\n );\n\n const isSaveButtonDisabled = useMemo(\n () => isSaveDisabled(fields, triggerDetails, contactUniqueConstraint),\n [fields, triggerDetails, contactUniqueConstraint]\n );\n\n const headerTitle = useMemo(\n () =>\n editFieldId\n ? TRIGGERS_UI_STRINGS.EDIT_TRIGGER\n : TRIGGERS_UI_STRINGS.NEW_TRIGGER,\n [editFieldId]\n );\n\n const saveButtonText = useMemo(\n () =>\n editFieldId\n ? TRIGGERS_UI_STRINGS.UPDATE_TRIGGER\n : TRIGGERS_UI_STRINGS.SAVE_TRIGGER,\n [editFieldId]\n );\n\n /* ----- Event Handlers ----- */\n\n const handleBackClick = useCallback(async () => {\n await previousMappingHandler();\n }, [previousMappingHandler]);\n\n const handleDraftSave = useCallback(async () => {\n await draftHandler(\"TRIGGER\", editFieldId);\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }, [draftHandler, editFieldId, previousMappingHandler]);\n\n const handleDraftCancel = useCallback(async () => {\n await previousMappingHandler();\n setIsDraftModalOpen(false);\n }, [previousMappingHandler]);\n\n const handleDraftClose = useCallback(() => {\n setIsDraftModalOpen(false);\n }, []);\n\n const handleEventSetupClick = useCallback(() => {\n if (isTriggerPage) {\n navigateConfigurePage();\n }\n }, [isTriggerPage, navigateConfigurePage]);\n\n const handleTriggerConditionsClick = useCallback(() => {\n navigateTriggerPage(true);\n }, [navigateTriggerPage]);\n\n const handleSaveClick = useCallback(() => {\n onSaveHandler(editFieldId);\n }, [onSaveHandler, editFieldId]);\n\n /* ----- Render ----- */\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n position: \"sticky\",\n width: \"100%\",\n top: \"1px\",\n zIndex: \"99\",\n background: \"#ffff\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n {isDraftModalOpen && (\n <DraftModal\n onSaveHandler={handleDraftSave}\n onCloseHandler={handleDraftClose}\n onCancel={handleDraftCancel}\n />\n )}\n <Flex gap=\"$6\" alignItems=\"center\">\n <IconButton\n onClick={handleBackClick}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n aria-label=\"Go back\"\n />\n <Heading size=\"h6\">{headerTitle}</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isTriggerPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={handleEventSetupClick}\n >\n {TRIGGERS_UI_STRINGS.EVENT_SETUP}\n </Button>\n <Arrow />\n <Button\n onClick={handleTriggerConditionsClick}\n css={{ color: !isDisabled ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={isDisabled}\n >\n {TRIGGERS_UI_STRINGS.TRIGGER_CONDITIONS}\n </Button>\n </Flex>\n <Button\n loading={onSaveTriggerLoader}\n size=\"lg\"\n disabled={isSaveButtonDisabled || forceDisableTriggerCTA}\n onClick={handleSaveClick}\n css={{ visibility: isTriggerPage ? \"visible\" : \"hidden\" }}\n >\n {saveButtonText}\n </Button>\n </Flex>\n );\n};\n\nexport default TriggerHeader;\n\n"],"names":["useState","useMemo","isEventSetupDisabled","isSaveDisabled","TRIGGERS_UI_STRINGS","useCallback","Flex","DraftModal","IconButton","ArrowLeftIcon","Heading","Button","Arrow"],"mappings":"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"}
@@ -54,7 +54,8 @@ const Trigger = ({
54
54
  triggerDetails,
55
55
  setTriggerDetails,
56
56
  fieldOptions,
57
- variableOptions
57
+ variableOptions,
58
+ contactUniqueConstraint
58
59
  }) => {
59
60
  var _a, _b, _c, _d, _e, _f, _g;
60
61
  const { isEditing, setIsEditing } = useTriggerState.useTriggerState();
@@ -177,6 +178,33 @@ const Trigger = ({
177
178
  },
178
179
  [setTriggerFields]
179
180
  );
181
+ const handleContactUniqueFieldChange = React.useCallback(
182
+ (field) => {
183
+ const constraintKey = contactUniqueConstraint == null ? void 0 : contactUniqueConstraint.value;
184
+ if (!constraintKey)
185
+ return;
186
+ setTriggerFields(
187
+ "contactUniqueField",
188
+ (field == null ? void 0 : field.value) ? { [constraintKey]: field.value } : null
189
+ );
190
+ },
191
+ [setTriggerFields, contactUniqueConstraint == null ? void 0 : contactUniqueConstraint.value]
192
+ );
193
+ const selectedContactUniqueOption = React.useMemo(() => {
194
+ var _a2;
195
+ const constraintKey = contactUniqueConstraint == null ? void 0 : contactUniqueConstraint.value;
196
+ const stored = triggerDetails == null ? void 0 : triggerDetails.contactUniqueField;
197
+ if (!constraintKey || !stored)
198
+ return null;
199
+ const variableValue = stored[constraintKey];
200
+ if (!variableValue)
201
+ return null;
202
+ return (_a2 = variableOptions == null ? void 0 : variableOptions.find((option) => (option == null ? void 0 : option.value) === variableValue)) != null ? _a2 : null;
203
+ }, [
204
+ contactUniqueConstraint == null ? void 0 : contactUniqueConstraint.value,
205
+ triggerDetails == null ? void 0 : triggerDetails.contactUniqueField,
206
+ variableOptions
207
+ ]);
180
208
  const resetEditing = React.useCallback(() => {
181
209
  setIsEditing(false);
182
210
  }, [setIsEditing]);
@@ -313,7 +341,30 @@ const Trigger = ({
313
341
  },
314
342
  options: variableOptions
315
343
  }
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(
344
+ )), (contactUniqueConstraint == null ? void 0 : contactUniqueConstraint.hasUniqueConstraint) ? /* @__PURE__ */ React.createElement(flex.Flex, { gap: "$2", flexDirection: "column" }, /* @__PURE__ */ React.createElement(formLabel.FormLabel, { size: "xs", css: { fontWeight: "$5" } }, `Contact Uniqueness Field for "${contactUniqueConstraint.label}"`), /* @__PURE__ */ React.createElement(
345
+ select.Select,
346
+ {
347
+ placeholder: "",
348
+ size: "lg",
349
+ isClearable: false,
350
+ value: selectedContactUniqueOption,
351
+ onChange: handleContactUniqueFieldChange,
352
+ css: {
353
+ p: {
354
+ fontFamily: "'Roboto Mono', monospace !important"
355
+ },
356
+ " .twigs-select__indicators": {
357
+ height: "40px"
358
+ },
359
+ "& .twigs-select__control": {
360
+ overflow: "auto",
361
+ maxHeight: 488,
362
+ height: "100%"
363
+ }
364
+ },
365
+ options: variableOptions
366
+ }
367
+ )) : null) : 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(
317
368
  select.Select,
318
369
  {
319
370
  placeholder: "",
@@ -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, 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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"}
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 } from \"../utils\";\nimport { isEmpty } from \"../utils\";\nimport { ContactUniqueConstraint } from \"../types\";\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 contactUniqueConstraint?: ContactUniqueConstraint;\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 contactUniqueConstraint,\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 handleContactUniqueFieldChange = useCallback(\n (field: any) => {\n const constraintKey = contactUniqueConstraint?.value;\n if (!constraintKey) return;\n setTriggerFields(\n \"contactUniqueField\",\n field?.value ? { [constraintKey]: field.value } : null\n );\n },\n [setTriggerFields, contactUniqueConstraint?.value]\n );\n\n const selectedContactUniqueOption = useMemo(() => {\n const constraintKey = contactUniqueConstraint?.value;\n const stored = triggerDetails?.contactUniqueField;\n if (!constraintKey || !stored) return null;\n const variableValue = stored[constraintKey];\n if (!variableValue) return null;\n return (\n variableOptions?.find((option: any) => option?.value === variableValue) ??\n null\n );\n }, [\n contactUniqueConstraint?.value,\n triggerDetails?.contactUniqueField,\n variableOptions,\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 {contactUniqueConstraint?.hasUniqueConstraint ? (\n <Flex gap=\"$2\" flexDirection=\"column\">\n <FormLabel size=\"xs\" css={{ fontWeight: \"$5\" }}>\n {`Contact Uniqueness Field for \"${contactUniqueConstraint.label}\"`}\n </FormLabel>\n <Select\n placeholder=\"\"\n size=\"lg\"\n isClearable={false}\n value={selectedContactUniqueOption}\n onChange={handleContactUniqueFieldChange}\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 }}\n options={variableOptions}\n />\n </Flex>\n ) : null}\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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"}
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var index = require('../services/index.js');
5
+
6
+ const useContactUniqueConstraint = ({
7
+ token,
8
+ apiURL,
9
+ contactUniqueConstraint
10
+ }) => {
11
+ const [constraint, setConstraint] = React.useState(
12
+ contactUniqueConstraint != null ? contactUniqueConstraint : null
13
+ );
14
+ const loadConstraint = React.useCallback(
15
+ async (token2, apiURL2) => {
16
+ const response = await index.fetchContactUniqueConstraint(token2, apiURL2);
17
+ setConstraint(response != null ? response : null);
18
+ },
19
+ []
20
+ );
21
+ React.useEffect(() => {
22
+ if (contactUniqueConstraint) {
23
+ setConstraint(contactUniqueConstraint);
24
+ }
25
+ }, [contactUniqueConstraint]);
26
+ React.useEffect(() => {
27
+ if (!contactUniqueConstraint && token && apiURL) {
28
+ loadConstraint(token, apiURL);
29
+ }
30
+ }, [token, apiURL, contactUniqueConstraint, loadConstraint]);
31
+ return { constraint };
32
+ };
33
+
34
+ exports.useContactUniqueConstraint = useContactUniqueConstraint;
35
+ //# sourceMappingURL=use-contact-unique-constraint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-contact-unique-constraint.js","sources":["../../../../src/triggers/hooks/use-contact-unique-constraint.ts"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { useState, useEffect, useCallback } from 'react';\nimport { fetchContactUniqueConstraint } from '../services';\n\n/* ----- Types / Interfaces ----- */\n\nexport type ContactUniqueConstraint = {\n id: string;\n value: string;\n label: string;\n hasUniqueConstraint: boolean;\n} | null;\n\ntype UseContactUniqueConstraintProps = {\n token: string;\n apiURL: string;\n contactUniqueConstraint?: ContactUniqueConstraint;\n};\n\ntype UseContactUniqueConstraintReturn = {\n constraint: ContactUniqueConstraint;\n};\n\n/* ----- Hook ----- */\n\n/**\n * Custom hook to fetch and manage contact unique constraint metadata.\n * If a value is supplied via props, it is used as-is. Otherwise the API is called.\n */\nexport const useContactUniqueConstraint = ({\n token,\n apiURL,\n contactUniqueConstraint,\n}: UseContactUniqueConstraintProps): UseContactUniqueConstraintReturn => {\n const [constraint, setConstraint] = useState<ContactUniqueConstraint>(\n contactUniqueConstraint ?? null\n );\n\n const loadConstraint = useCallback(\n async (token: string, apiURL: string) => {\n const response = await fetchContactUniqueConstraint(token, apiURL);\n setConstraint(response ?? null);\n },\n []\n );\n\n useEffect(() => {\n if (contactUniqueConstraint) {\n setConstraint(contactUniqueConstraint);\n }\n }, [contactUniqueConstraint]);\n\n useEffect(() => {\n if (!contactUniqueConstraint && token && apiURL) {\n loadConstraint(token, apiURL);\n }\n }, [token, apiURL, contactUniqueConstraint, loadConstraint]);\n\n return { constraint };\n};\n"],"names":["useState","useCallback","token","apiURL","fetchContactUniqueConstraint","useEffect"],"mappings":";;;;;AA8BO,MAAM,6BAA6B,CAAC;AAAA,EACzC,KAAA;AAAA,EACA,MAAA;AAAA,EACA;AACF,CAAA,KAAyE;AACvE,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,cAAA;AAAA,IAClC,uBAAA,IAAA,IAAA,GAAA,uBAAA,GAA2B;AAAA,GAC7B;AAEA,EAAA,MAAM,cAAA,GAAiBC,iBAAA;AAAA,IACrB,OAAOC,QAAeC,OAAAA,KAAmB;AACvC,MAAA,MAAM,QAAA,GAAW,MAAMC,kCAAA,CAA6BF,MAAAA,EAAOC,OAAM,CAAA;AACjE,MAAA,aAAA,CAAc,8BAAY,IAAI,CAAA;AAAA,IAChC,CAAA;AAAA,IACA;AAAC,GACH;AAEA,EAAAE,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,uBAAA,EAAyB;AAC3B,MAAA,aAAA,CAAc,uBAAuB,CAAA;AAAA,IACvC;AAAA,EACF,CAAA,EAAG,CAAC,uBAAuB,CAAC,CAAA;AAE5B,EAAAA,eAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,uBAAA,IAA2B,KAAA,IAAS,MAAA,EAAQ;AAC/C,MAAA,cAAA,CAAe,OAAO,MAAM,CAAA;AAAA,IAC9B;AAAA,EACF,GAAG,CAAC,KAAA,EAAO,MAAA,EAAQ,uBAAA,EAAyB,cAAc,CAAC,CAAA;AAE3D,EAAA,OAAO,EAAE,UAAA,EAAW;AACtB;;;;"}
@@ -8,6 +8,7 @@ require('../commons/components/custom-pill.js');
8
8
  require('../commons/constants/index.js');
9
9
  var useEditFieldInit = require('./hooks/use-edit-field-init.js');
10
10
  require('../node_modules/dayjs/dayjs.min.js');
11
+ var useContactUniqueConstraint = require('./hooks/use-contact-unique-constraint.js');
11
12
  var themeProvider = require('../node_modules/@sparrowengg/twigs-react/dist/es/theme-provider/theme-provider.js');
12
13
  var box = require('../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
13
14
 
@@ -35,13 +36,19 @@ const Triggers = ({
35
36
  setTriggerDetails,
36
37
  editField,
37
38
  fieldOptions,
38
- variableOptions
39
+ variableOptions,
40
+ contactUniqueConstraint
39
41
  }) => {
40
42
  useEditFieldInit.useEditFieldInit({
41
43
  editField,
42
44
  setFields,
43
45
  setTriggerDetails
44
46
  });
47
+ const { constraint: resolvedContactUniqueConstraint } = useContactUniqueConstraint.useContactUniqueConstraint({
48
+ token,
49
+ apiURL,
50
+ contactUniqueConstraint
51
+ });
45
52
  const handleNavigateConfigurePage = React.useCallback(() => {
46
53
  navigateTriggerPage(false);
47
54
  }, [navigateTriggerPage]);
@@ -80,7 +87,8 @@ const Triggers = ({
80
87
  triggerDetails,
81
88
  fields,
82
89
  editFieldId,
83
- eventFields: editField == null ? void 0 : editField.fieldValues
90
+ eventFields: editField == null ? void 0 : editField.fieldValues,
91
+ contactUniqueConstraint: resolvedContactUniqueConstraint
84
92
  }
85
93
  ), !isTriggerPage ? /* @__PURE__ */ React.createElement(
86
94
  EventSetup.default,
@@ -107,7 +115,8 @@ const Triggers = ({
107
115
  triggerDetails,
108
116
  setTriggerDetails,
109
117
  fieldOptions,
110
- variableOptions
118
+ variableOptions,
119
+ contactUniqueConstraint: resolvedContactUniqueConstraint
111
120
  }
112
121
  ))
113
122
  );
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/triggers/index.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { Box, ThemeProvider } from \"@sparrowengg/twigs-react\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { EventSetup, TriggerHeader, Trigger } from \"./components\";\nimport { TriggersProps } from \"./types\";\nimport { useEditFieldInit } from \"./hooks\";\n\n/* ----- Main Component ----- */\n\n/**\n * Triggers component for managing survey triggers\n *\n * @param {TriggersProps} props - Component props\n * @returns {JSX.Element} Rendered Triggers component\n */\nexport const Triggers: React.FC<TriggersProps> = ({\n forceDisableTriggerCTA,\n draftHandler,\n onSaveTriggerLoader,\n objects,\n accounts,\n actions,\n isTriggerPage,\n navigateTriggerPage,\n previousMapping,\n hasNestedCondition,\n onSaveHandler,\n previousMappingHandler,\n surveyDetails,\n fields,\n token,\n apiURL,\n setFields,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n editField,\n fieldOptions,\n variableOptions,\n}) => {\n /* ----- Hooks ----- */\n\n useEditFieldInit({\n editField,\n setFields,\n setTriggerDetails,\n });\n\n /* ----- Event Handlers ----- */\n\n const handleNavigateConfigurePage = useCallback(() => {\n navigateTriggerPage(false);\n }, [navigateTriggerPage]);\n\n /* ----- Render Functions ----- */\n\n const editFieldId = useMemo(\n () => editField?.id?.toString(),\n [editField?.id]\n );\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\",\n },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <TriggerHeader\n forceDisableTriggerCTA={forceDisableTriggerCTA}\n draftHandler={draftHandler}\n navigateTriggerPage={navigateTriggerPage}\n objects={objects}\n accounts={accounts}\n actions={actions}\n onSaveTriggerLoader={onSaveTriggerLoader}\n hasPreviousMapping={previousMapping}\n isTriggerPage={isTriggerPage}\n onSaveHandler={onSaveHandler}\n navigateConfigurePage={handleNavigateConfigurePage}\n previousMappingHandler={previousMappingHandler}\n triggerDetails={triggerDetails}\n fields={fields}\n editFieldId={editFieldId}\n eventFields={editField?.fieldValues}\n />\n {!isTriggerPage ? (\n <EventSetup\n forceDisableEventSetupCTA={forceDisableTriggerCTA}\n eventFields={editField?.fieldValues}\n objects={objects}\n accounts={accounts}\n actions={actions}\n surveyDetails={surveyDetails}\n navigateTriggerPage={navigateTriggerPage}\n />\n ) : (\n <Trigger\n hasNestedCondition={hasNestedCondition}\n fields={fields}\n setFields={setFields}\n token={token}\n apiURL={apiURL}\n surveyDetails={surveyDetails}\n shareRecipientOptions={shareRecipientOptions}\n shareChannelOptions={shareChannelOptions}\n triggerDetails={triggerDetails}\n setTriggerDetails={setTriggerDetails}\n fieldOptions={fieldOptions}\n variableOptions={variableOptions}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n"],"names":["useEditFieldInit","useCallback","useMemo","ThemeProvider","Box","TriggerHeader","EventSetup","Trigger"],"mappings":";;;;;;;;;;;;;AAgBO,MAAM,WAAoC,CAAC;AAAA,EAChD,sBAAA;AAAA,EACA,YAAA;AAAA,EACA,mBAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,mBAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,aAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,MAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,qBAAA;AAAA,EACA,mBAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,SAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAAM;AAGJ,EAAAA,iCAAA,CAAiB;AAAA,IACf,SAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACD,CAAA;AAID,EAAA,MAAM,2BAAA,GAA8BC,kBAAY,MAAM;AACpD,IAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA,EAC3B,CAAA,EAAG,CAAC,mBAAmB,CAAC,CAAA;AAIxB,EAAA,MAAM,WAAA,GAAcC,aAAA;AAAA,IAClB,MAAG;AA3DP,MAAA,IAAA,EAAA;AA2DU,MAAA,OAAA,CAAA,EAAA,GAAA,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,OAAX,IAAA,GAAA,MAAA,GAAA,EAAA,CAAe,QAAA,EAAA;AAAA,IAAA,CAAA;AAAA,IACrB,CAAC,uCAAW,EAAE;AAAA,GAChB;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACC,2BAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO;AAAA,QACL,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,kCAAA;AAAA,UACN,OAAA,EAAS;AAAA;AACX;AACF,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA,CAACC,WAAI,GAAA,EAAK,EAAE,QAAQ,OAAA,EAAS,KAAA,EAAO,SAAQ,EAAA,kBAC1C,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,sBAAA;AAAA,QACA,YAAA;AAAA,QACA,mBAAA;AAAA,QACA,OAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,mBAAA;AAAA,QACA,kBAAA,EAAoB,eAAA;AAAA,QACpB,aAAA;AAAA,QACA,aAAA;AAAA,QACA,qBAAA,EAAuB,2BAAA;AAAA,QACvB,sBAAA;AAAA,QACA,cAAA;AAAA,QACA,MAAA;AAAA,QACA,WAAA;AAAA,QACA,aAAa,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW;AAAA;AAAA,KAC1B,EACC,CAAC,aAAA,mBACA,KAAA,CAAA,aAAA;AAAA,MAACC,kBAAA;AAAA,MAAA;AAAA,QACC,yBAAA,EAA2B,sBAAA;AAAA,QAC3B,aAAa,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,WAAA;AAAA,QACxB,OAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,aAAA;AAAA,QACA;AAAA;AAAA,KACF,mBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,eAAA;AAAA,MAAA;AAAA,QACC,kBAAA;AAAA,QACA,MAAA;AAAA,QACA,SAAA;AAAA,QACA,KAAA;AAAA,QACA,MAAA;AAAA,QACA,aAAA;AAAA,QACA,qBAAA;AAAA,QACA,mBAAA;AAAA,QACA,cAAA;AAAA,QACA,iBAAA;AAAA,QACA,YAAA;AAAA,QACA;AAAA;AAAA,KAGN;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/triggers/index.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport { Box, ThemeProvider } from \"@sparrowengg/twigs-react\";\nimport React, { useCallback, useMemo } from \"react\";\nimport { EventSetup, TriggerHeader, Trigger } from \"./components\";\nimport { TriggersProps } from \"./types\";\nimport { useEditFieldInit, useContactUniqueConstraint } from \"./hooks\";\n\n/* ----- Main Component ----- */\n\n/**\n * Triggers component for managing survey triggers\n *\n * @param {TriggersProps} props - Component props\n * @returns {JSX.Element} Rendered Triggers component\n */\nexport const Triggers: React.FC<TriggersProps> = ({\n forceDisableTriggerCTA,\n draftHandler,\n onSaveTriggerLoader,\n objects,\n accounts,\n actions,\n isTriggerPage,\n navigateTriggerPage,\n previousMapping,\n hasNestedCondition,\n onSaveHandler,\n previousMappingHandler,\n surveyDetails,\n fields,\n token,\n apiURL,\n setFields,\n shareRecipientOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n editField,\n fieldOptions,\n variableOptions,\n contactUniqueConstraint,\n}) => {\n /* ----- Hooks ----- */\n\n useEditFieldInit({\n editField,\n setFields,\n setTriggerDetails,\n });\n\n const { constraint: resolvedContactUniqueConstraint } =\n useContactUniqueConstraint({\n token,\n apiURL,\n contactUniqueConstraint,\n });\n\n /* ----- Event Handlers ----- */\n\n const handleNavigateConfigurePage = useCallback(() => {\n navigateTriggerPage(false);\n }, [navigateTriggerPage]);\n\n /* ----- Render Functions ----- */\n\n const editFieldId = useMemo(\n () => editField?.id?.toString(),\n [editField?.id]\n );\n\n return (\n <ThemeProvider\n theme={{\n fonts: {\n body: \"DM Sans, Roboto Mono, sans-serif\",\n heading: \"DM Sans, Roboto Mono, sans-serif\",\n },\n }}\n >\n <Box css={{ height: \"100vh\", width: \"100vw\" }}>\n <TriggerHeader\n forceDisableTriggerCTA={forceDisableTriggerCTA}\n draftHandler={draftHandler}\n navigateTriggerPage={navigateTriggerPage}\n objects={objects}\n accounts={accounts}\n actions={actions}\n onSaveTriggerLoader={onSaveTriggerLoader}\n hasPreviousMapping={previousMapping}\n isTriggerPage={isTriggerPage}\n onSaveHandler={onSaveHandler}\n navigateConfigurePage={handleNavigateConfigurePage}\n previousMappingHandler={previousMappingHandler}\n triggerDetails={triggerDetails}\n fields={fields}\n editFieldId={editFieldId}\n eventFields={editField?.fieldValues}\n contactUniqueConstraint={resolvedContactUniqueConstraint}\n />\n {!isTriggerPage ? (\n <EventSetup\n forceDisableEventSetupCTA={forceDisableTriggerCTA}\n eventFields={editField?.fieldValues}\n objects={objects}\n accounts={accounts}\n actions={actions}\n surveyDetails={surveyDetails}\n navigateTriggerPage={navigateTriggerPage}\n />\n ) : (\n <Trigger\n hasNestedCondition={hasNestedCondition}\n fields={fields}\n setFields={setFields}\n token={token}\n apiURL={apiURL}\n surveyDetails={surveyDetails}\n shareRecipientOptions={shareRecipientOptions}\n shareChannelOptions={shareChannelOptions}\n triggerDetails={triggerDetails}\n setTriggerDetails={setTriggerDetails}\n fieldOptions={fieldOptions}\n variableOptions={variableOptions}\n contactUniqueConstraint={resolvedContactUniqueConstraint}\n />\n )}\n </Box>\n </ThemeProvider>\n );\n};\n"],"names":["useEditFieldInit","useContactUniqueConstraint","useCallback","useMemo","ThemeProvider","Box","TriggerHeader","EventSetup","Trigger"],"mappings":"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"}