@sparrowengg/integrations-templates-frontend 2.1.0-beta.1 → 2.1.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/cjs/cascader-dropdown/cascader-dropdown-content.js +1 -1
  2. package/dist/cjs/cascader-dropdown/cascader-dropdown-content.js.map +1 -1
  3. package/dist/cjs/commons/components/NamingModal.js +34 -62
  4. package/dist/cjs/commons/components/NamingModal.js.map +1 -1
  5. package/dist/cjs/commons/components/confirmation-modal.js +12 -24
  6. package/dist/cjs/commons/components/confirmation-modal.js.map +1 -1
  7. package/dist/cjs/commons/components/custom-pill.js +12 -30
  8. package/dist/cjs/commons/components/custom-pill.js.map +1 -1
  9. package/dist/cjs/commons/components/draftModal.js +31 -45
  10. package/dist/cjs/commons/components/draftModal.js.map +1 -1
  11. package/dist/cjs/commons/components/edit-confirmation.js +17 -34
  12. package/dist/cjs/commons/components/edit-confirmation.js.map +1 -1
  13. package/dist/cjs/commons/components/import-modal.js +18 -49
  14. package/dist/cjs/commons/components/import-modal.js.map +1 -1
  15. package/dist/cjs/commons/components/spinner.js +2 -16
  16. package/dist/cjs/commons/components/spinner.js.map +1 -1
  17. package/dist/cjs/commons/components/theme-wrapper.js +12 -9
  18. package/dist/cjs/commons/components/theme-wrapper.js.map +1 -1
  19. package/dist/cjs/commons/constants/enhanced.js.map +1 -1
  20. package/dist/cjs/commons/helpers/index.js +52 -93
  21. package/dist/cjs/commons/helpers/index.js.map +1 -1
  22. package/dist/cjs/commons/icons/arrow.js +3 -38
  23. package/dist/cjs/commons/icons/arrow.js.map +1 -1
  24. package/dist/cjs/commons/icons/cursor.js +8 -21
  25. package/dist/cjs/commons/icons/cursor.js.map +1 -1
  26. package/dist/cjs/commons/icons/email-letter.js +12 -30
  27. package/dist/cjs/commons/icons/email-letter.js.map +1 -1
  28. package/dist/cjs/commons/icons/mapping.js +10 -23
  29. package/dist/cjs/commons/icons/mapping.js.map +1 -1
  30. package/dist/cjs/commons/icons/nested-add.js +14 -32
  31. package/dist/cjs/commons/icons/nested-add.js.map +1 -1
  32. package/dist/cjs/commons/icons/sms.js +18 -36
  33. package/dist/cjs/commons/icons/sms.js.map +1 -1
  34. package/dist/cjs/commons/icons/sync.js +3 -110
  35. package/dist/cjs/commons/icons/sync.js.map +1 -1
  36. package/dist/cjs/commons/icons/trash.js +15 -33
  37. package/dist/cjs/commons/icons/trash.js.map +1 -1
  38. package/dist/cjs/commons/icons/whatsapp.js +31 -49
  39. package/dist/cjs/commons/icons/whatsapp.js.map +1 -1
  40. package/dist/cjs/contact-import/components/ManageImport/Completed.js +41 -27
  41. package/dist/cjs/contact-import/components/ManageImport/Completed.js.map +1 -1
  42. package/dist/cjs/contact-import/components/ManageImport/Dashboard.js +43 -23
  43. package/dist/cjs/contact-import/components/ManageImport/Dashboard.js.map +1 -1
  44. package/dist/cjs/contact-import/components/ManageImport/NoDataState.js +6 -7
  45. package/dist/cjs/contact-import/components/ManageImport/NoDataState.js.map +1 -1
  46. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js +46 -30
  47. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  48. package/dist/cjs/contact-import/components/ManageImport/icon.js +85 -0
  49. package/dist/cjs/contact-import/components/ManageImport/icon.js.map +1 -0
  50. package/dist/cjs/contact-import/components/Scheduling.js +27 -39
  51. package/dist/cjs/contact-import/components/Scheduling.js.map +1 -1
  52. package/dist/cjs/contact-import/components/TimePicker.js +102 -129
  53. package/dist/cjs/contact-import/components/TimePicker.js.map +1 -1
  54. package/dist/cjs/contact-import/components/conact-import-schedule.js +64 -0
  55. package/dist/cjs/contact-import/components/conact-import-schedule.js.map +1 -0
  56. package/dist/cjs/contact-import/components/contact-import-configure.js +75 -0
  57. package/dist/cjs/contact-import/components/contact-import-configure.js.map +1 -0
  58. package/dist/cjs/contact-import/components/contact-import-mapping.js +224 -0
  59. package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -0
  60. package/dist/cjs/contact-import/constants.js +21 -0
  61. package/dist/cjs/contact-import/constants.js.map +1 -0
  62. package/dist/cjs/contact-import/index.js +242 -32
  63. package/dist/cjs/contact-import/index.js.map +1 -1
  64. package/dist/cjs/dynamic-mapping/components/Mapping.js +321 -203
  65. package/dist/cjs/dynamic-mapping/components/Mapping.js.map +1 -1
  66. package/dist/cjs/dynamic-mapping/index.js +972 -34
  67. package/dist/cjs/dynamic-mapping/index.js.map +1 -1
  68. package/dist/cjs/filter/filter-pill-value-selector.js +1 -1
  69. package/dist/cjs/filter/filter-pill-value-selector.js.map +1 -1
  70. package/dist/cjs/index.js +12 -159
  71. package/dist/cjs/index.js.map +1 -1
  72. package/dist/cjs/integration-template/components/dashboard.js +137 -130
  73. package/dist/cjs/integration-template/components/dashboard.js.map +1 -1
  74. package/dist/cjs/integration-template/index.js +343 -0
  75. package/dist/cjs/integration-template/index.js.map +1 -0
  76. package/dist/cjs/mapping/components/custom-menu.js +3 -4
  77. package/dist/cjs/mapping/components/custom-menu.js.map +1 -1
  78. package/dist/cjs/mapping/components/field.js +103 -121
  79. package/dist/cjs/mapping/components/field.js.map +1 -1
  80. package/dist/cjs/mapping/components/mapping.js +195 -106
  81. package/dist/cjs/mapping/components/mapping.js.map +1 -1
  82. package/dist/cjs/mapping/constants/index.js +2 -259
  83. package/dist/cjs/mapping/constants/index.js.map +1 -1
  84. package/dist/cjs/mapping/index.js +618 -38
  85. package/dist/cjs/mapping/index.js.map +1 -1
  86. package/dist/cjs/mapping/services/index.js +58 -96
  87. package/dist/cjs/mapping/services/index.js.map +1 -1
  88. package/dist/cjs/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-menu/dist/index.js +7 -7
  89. package/dist/cjs/single-mapping/components/mapping.js +490 -0
  90. package/dist/cjs/single-mapping/components/mapping.js.map +1 -0
  91. package/dist/cjs/single-mapping/index.js +987 -59
  92. package/dist/cjs/single-mapping/index.js.map +1 -1
  93. package/dist/cjs/triggers/components/subcomponents.js +1140 -0
  94. package/dist/cjs/triggers/components/subcomponents.js.map +1 -0
  95. package/dist/cjs/triggers/components/trigger.js +491 -0
  96. package/dist/cjs/triggers/components/trigger.js.map +1 -0
  97. package/dist/cjs/triggers/constants/index.js +0 -253
  98. package/dist/cjs/triggers/constants/index.js.map +1 -1
  99. package/dist/cjs/triggers/index.js +333 -0
  100. package/dist/cjs/triggers/index.js.map +1 -0
  101. package/dist/cjs/triggers/services/index.js +30 -0
  102. package/dist/cjs/triggers/services/index.js.map +1 -0
  103. package/dist/es/cascader-dropdown/cascader-dropdown-content.js +1 -1
  104. package/dist/es/cascader-dropdown/cascader-dropdown-content.js.map +1 -1
  105. package/dist/es/commons/components/NamingModal.js +35 -63
  106. package/dist/es/commons/components/NamingModal.js.map +1 -1
  107. package/dist/es/commons/components/confirmation-modal.js +13 -25
  108. package/dist/es/commons/components/confirmation-modal.js.map +1 -1
  109. package/dist/es/commons/components/custom-pill.js +13 -31
  110. package/dist/es/commons/components/custom-pill.js.map +1 -1
  111. package/dist/es/commons/components/draftModal.js +32 -46
  112. package/dist/es/commons/components/draftModal.js.map +1 -1
  113. package/dist/es/commons/components/edit-confirmation.js +18 -35
  114. package/dist/es/commons/components/edit-confirmation.js.map +1 -1
  115. package/dist/es/commons/components/import-modal.js +19 -50
  116. package/dist/es/commons/components/import-modal.js.map +1 -1
  117. package/dist/es/commons/components/spinner.js +2 -16
  118. package/dist/es/commons/components/spinner.js.map +1 -1
  119. package/dist/es/commons/components/theme-wrapper.js +12 -9
  120. package/dist/es/commons/components/theme-wrapper.js.map +1 -1
  121. package/dist/es/commons/constants/enhanced.js.map +1 -1
  122. package/dist/es/commons/helpers/index.js +52 -93
  123. package/dist/es/commons/helpers/index.js.map +1 -1
  124. package/dist/es/commons/icons/arrow.js +3 -38
  125. package/dist/es/commons/icons/arrow.js.map +1 -1
  126. package/dist/es/commons/icons/cursor.js +8 -21
  127. package/dist/es/commons/icons/cursor.js.map +1 -1
  128. package/dist/es/commons/icons/email-letter.js +12 -30
  129. package/dist/es/commons/icons/email-letter.js.map +1 -1
  130. package/dist/es/commons/icons/mapping.js +10 -23
  131. package/dist/es/commons/icons/mapping.js.map +1 -1
  132. package/dist/es/commons/icons/nested-add.js +14 -32
  133. package/dist/es/commons/icons/nested-add.js.map +1 -1
  134. package/dist/es/commons/icons/sms.js +18 -36
  135. package/dist/es/commons/icons/sms.js.map +1 -1
  136. package/dist/es/commons/icons/sync.js +3 -110
  137. package/dist/es/commons/icons/sync.js.map +1 -1
  138. package/dist/es/commons/icons/trash.js +15 -33
  139. package/dist/es/commons/icons/trash.js.map +1 -1
  140. package/dist/es/commons/icons/whatsapp.js +31 -49
  141. package/dist/es/commons/icons/whatsapp.js.map +1 -1
  142. package/dist/es/contact-import/components/ManageImport/Completed.js +41 -27
  143. package/dist/es/contact-import/components/ManageImport/Completed.js.map +1 -1
  144. package/dist/es/contact-import/components/ManageImport/Dashboard.js +45 -25
  145. package/dist/es/contact-import/components/ManageImport/Dashboard.js.map +1 -1
  146. package/dist/es/contact-import/components/ManageImport/NoDataState.js +4 -5
  147. package/dist/es/contact-import/components/ManageImport/NoDataState.js.map +1 -1
  148. package/dist/es/contact-import/components/ManageImport/Scheduled.js +46 -30
  149. package/dist/es/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  150. package/dist/es/contact-import/components/ManageImport/icon.js +82 -0
  151. package/dist/es/contact-import/components/ManageImport/icon.js.map +1 -0
  152. package/dist/es/contact-import/components/Scheduling.js +27 -39
  153. package/dist/es/contact-import/components/Scheduling.js.map +1 -1
  154. package/dist/es/contact-import/components/TimePicker.js +103 -130
  155. package/dist/es/contact-import/components/TimePicker.js.map +1 -1
  156. package/dist/es/contact-import/components/conact-import-schedule.js +60 -0
  157. package/dist/es/contact-import/components/conact-import-schedule.js.map +1 -0
  158. package/dist/es/contact-import/components/contact-import-configure.js +71 -0
  159. package/dist/es/contact-import/components/contact-import-configure.js.map +1 -0
  160. package/dist/es/contact-import/components/contact-import-mapping.js +220 -0
  161. package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -0
  162. package/dist/es/contact-import/constants.js +18 -0
  163. package/dist/es/contact-import/constants.js.map +1 -0
  164. package/dist/es/contact-import/index.js +240 -27
  165. package/dist/es/contact-import/index.js.map +1 -1
  166. package/dist/es/dynamic-mapping/components/Mapping.js +321 -203
  167. package/dist/es/dynamic-mapping/components/Mapping.js.map +1 -1
  168. package/dist/es/dynamic-mapping/index.js +972 -34
  169. package/dist/es/dynamic-mapping/index.js.map +1 -1
  170. package/dist/es/filter/filter-pill-value-selector.js +1 -1
  171. package/dist/es/filter/filter-pill-value-selector.js.map +1 -1
  172. package/dist/es/index.js +2 -23
  173. package/dist/es/index.js.map +1 -1
  174. package/dist/es/integration-template/components/dashboard.js +139 -132
  175. package/dist/es/integration-template/components/dashboard.js.map +1 -1
  176. package/dist/es/integration-template/index.js +341 -0
  177. package/dist/es/integration-template/index.js.map +1 -0
  178. package/dist/es/mapping/components/custom-menu.js +3 -4
  179. package/dist/es/mapping/components/custom-menu.js.map +1 -1
  180. package/dist/es/mapping/components/field.js +100 -118
  181. package/dist/es/mapping/components/field.js.map +1 -1
  182. package/dist/es/mapping/components/mapping.js +194 -105
  183. package/dist/es/mapping/components/mapping.js.map +1 -1
  184. package/dist/es/mapping/constants/index.js +3 -239
  185. package/dist/es/mapping/constants/index.js.map +1 -1
  186. package/dist/es/mapping/index.js +617 -12
  187. package/dist/es/mapping/index.js.map +1 -1
  188. package/dist/es/mapping/services/index.js +59 -96
  189. package/dist/es/mapping/services/index.js.map +1 -1
  190. package/dist/es/node_modules/@internationalized/date/dist/CalendarDate.js +3 -3
  191. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js +1 -1
  192. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js +2 -2
  193. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@radix-ui/react-dropdown-menu/dist/index.js +1 -1
  194. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-aria/calendar/dist/import.js +2 -2
  195. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-aria/utils/dist/import.js +1 -1
  196. package/dist/es/node_modules/@sparrowengg/twigs-react/dist/es/node_modules/@react-stately/calendar/dist/import.js +1 -1
  197. package/dist/es/single-mapping/components/mapping.js +486 -0
  198. package/dist/es/single-mapping/components/mapping.js.map +1 -0
  199. package/dist/es/single-mapping/index.js +988 -60
  200. package/dist/es/single-mapping/index.js.map +1 -1
  201. package/dist/es/triggers/components/subcomponents.js +1134 -0
  202. package/dist/es/triggers/components/subcomponents.js.map +1 -0
  203. package/dist/es/triggers/components/trigger.js +487 -0
  204. package/dist/es/triggers/components/trigger.js.map +1 -0
  205. package/dist/es/triggers/constants/index.js +1 -228
  206. package/dist/es/triggers/constants/index.js.map +1 -1
  207. package/dist/es/triggers/index.js +331 -0
  208. package/dist/es/triggers/index.js.map +1 -0
  209. package/dist/es/triggers/services/index.js +28 -0
  210. package/dist/es/triggers/services/index.js.map +1 -0
  211. package/dist/index.d.ts +448 -2161
  212. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trigger.js","sources":["../../../../src/triggers/components/trigger.tsx"],"sourcesContent":["import {\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, { useEffect, useState } from \"react\";\nimport { topLevelCondition } from \"../constants\";\nimport { v4 as uuid } from \"uuid\";\nimport { Filter } from \"./subcomponents\";\nimport CustomPill from \"../../commons/components/custom-pill\";\nimport {\n components,\n OptionProps,\n SingleValueProps,\n MultiValueProps,\n} from \"react-select\";\nimport SMSIcon from \"../../commons/icons/sms\";\nimport WhatsappIcon from \"../../commons/icons/whatsapp\";\nimport EmailLetterIcon from \"../../commons/icons/email-letter\";\nimport { fetchSurveyChannels } from \"../services\";\nimport { SelectOption, TriggerField, TriggerDetails, SurveyDetails, FilterGroup, FilterCondition } from '../../commons/types/enhanced';\nimport { UI_CONSTANTS, FILTER_OPERATORS } from '../../commons/constants/enhanced';\n\ntype TriggerProps = {\n fields: TriggerField | unknown;\n setFields: (fields: TriggerField | unknown) => void;\n token: string;\n apiURL: string;\n surveyDetails: SurveyDetails | unknown;\n hasNestedCondition: boolean;\n shareRecipentOptions: Array<SelectOption> | unknown | Array<unknown>;\n shareChannelOptions: Array<SelectOption> | unknown | Array<unknown>;\n triggerDetails: TriggerDetails | unknown | Array<unknown>;\n setTriggerDetails: (details: TriggerDetails | unknown | Array<unknown>) => void;\n fieldOptions: Array<SelectOption> | unknown | Array<unknown>;\n variableOptions: Array<SelectOption> | unknown | Array<unknown>;\n};\nconst Trigger: React.FC<TriggerProps> = ({\n fields,\n setFields,\n token,\n apiURL,\n hasNestedCondition,\n surveyDetails,\n shareRecipentOptions,\n shareChannelOptions,\n triggerDetails,\n setTriggerDetails,\n fieldOptions,\n variableOptions,\n}) => {\n const [isEditing, setIsEditing] = useState(false);\n const [channels, setChannels] = useState<Array<SelectOption | unknown>>([]);\n const setTriggerFields = (property: keyof TriggerDetails, value: SelectOption | null | unknown) => {\n setTriggerDetails((prev: TriggerDetails | unknown) => ({\n ...(prev as TriggerDetails),\n [property]: value,\n }));\n };\n const addFilterCondition = () => {\n const newCondition: FilterCondition = {\n id: uuid(),\n field: null,\n operator: null,\n value: null,\n };\n \n const newGroup: FilterGroup = {\n id: uuid(),\n conditions: [newCondition],\n operator: 'AND',\n };\n \n setFields((prev: TriggerField) => ({\n ...prev,\n filters: [...prev.filters, newGroup],\n }));\n };\n const addNestedFilterCondition = (currentFilterId: string | number) => {\n setIsEditing(true);\n setFields((prev: any) => ({\n ...prev,\n filters: prev.filters.map((filter: any) => {\n if (filter.id === currentFilterId) {\n return {\n ...filter,\n filter: [\n ...filter.filter,\n {\n id: uuid(),\n field: \"\",\n dataType: \"\",\n comparator: \"\",\n value: \"\",\n },\n ],\n };\n } else {\n return filter;\n }\n }),\n }));\n };\n const fetchShareChannels = async (\n token: string,\n apiURL: string,\n surveyId: string\n ) => {\n const response = await fetchSurveyChannels(token, apiURL, surveyId);\n setChannels(response);\n };\n const setCurrentField = (\n fieldValue: string,\n currentNestedFilterId: number | string,\n currentFilterId: string | number,\n type: string\n ) => {\n setFields((prev: any) => ({\n ...prev,\n filters: prev.filters.map((filter: any) => {\n if (filter.id === currentFilterId) {\n return {\n ...filter,\n filter: filter.filter.map((currentFilter: any) => {\n if (currentFilter.id === currentNestedFilterId) {\n return {\n ...currentFilter,\n [type]: fieldValue,\n };\n } else {\n return currentFilter;\n }\n }),\n };\n } else {\n return filter;\n }\n }),\n }));\n };\n const removeCurrentFilter = (currentFilterId: string | number) => {\n setFields((prev: any) => ({\n ...prev,\n filters: prev.filters.filter(\n (currentFilter: any) => currentFilter.id !== currentFilterId\n ),\n }));\n };\n const isEmpty = (object: any) => {\n return Object.entries(object ?? {})?.length === 0;\n };\n const removeNestedField = (\n currentFieldId: string | number,\n currentNestedFilterId: string | number\n ) => {\n setFields((prev: any) => {\n const updatedFilters = prev.filters.reduce(\n (acc: any[], currentField: any) => {\n if (currentField.id === currentFieldId) {\n const updatedFilter = Array.isArray(currentField.filter)\n ? currentField.filter.filter(\n (currentNestedFilter: any) =>\n currentNestedFilter.id !== currentNestedFilterId\n )\n : [];\n if (updatedFilter.length > 0) {\n acc.push({\n ...currentField,\n filter: updatedFilter,\n });\n }\n } else {\n acc.push(currentField);\n }\n return acc;\n },\n []\n );\n return {\n ...prev,\n filters: updatedFilters,\n };\n });\n };\n const setNestedFieldCondition = (\n currentFilterId: number | string,\n condition: string\n ) => {\n setFields((prev: any) => ({\n ...prev,\n filters: prev.filters.map((filter: any) => {\n if (filter.id === currentFilterId) {\n return {\n ...filter,\n condition,\n };\n } else {\n return filter;\n }\n }),\n }));\n };\n useEffect(() => {\n fetchShareChannels(token, apiURL, (surveyDetails as SurveyDetails)?.surveyId as string);\n }, [token, apiURL, (surveyDetails as SurveyDetails)?.surveyId]);\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 {\n topLevelCondition.find(\n (condition) => condition.value === (fields as any)?.condition\n )?.label\n }\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={() =>\n setFields((prev: any) => ({\n ...prev,\n condition: condition.value,\n }))\n }\n css={{\n ...(condition.value === (fields as any)?.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 as TriggerField)?.filters?.length ? \"$12\" : 0 }}\n >\n {(fields as TriggerField)?.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={() => setIsEditing(false)}\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={() => {\n setIsEditing(true);\n addFilterCondition();\n }}\n >\n Add Condition\n </Button>\n {!!(fields as TriggerField)?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n ) ? (\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 as any)?.variables}\n onChange={(field) => {\n setTriggerFields(\"variables\" as keyof TriggerDetails, field);\n }}\n css={{\n p: {\n fontFamily: \"'Roboto Mono', monospace !important\",\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 as Array<SelectOption>}\n />\n </Flex>\n </Flex>\n ) : null}\n {!!(fields as TriggerField)?.filters?.some((filter: any) =>\n filter?.filter?.some((currentFilter: any) => !!currentFilter?.value)\n ) ? (\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 as any)?.shareType}\n onChange={(field) => {\n setTriggerFields(\"shareType\", field);\n setTriggerFields(\"shareRecipient\", null);\n setTriggerFields(\"shareChannel\", null);\n }}\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 as any)?.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={(field) =>\n setTriggerFields(\"shareRecipient\", field as SelectOption)\n }\n isDisabled={!((triggerDetails as any)?.shareType as SelectOption)?.value}\n value={(triggerDetails as any)?.shareRecipient}\n options={(shareRecipentOptions as Array<SelectOption>)?.filter(\n (option: any) =>\n option?.type === (triggerDetails as any)?.shareType?.value\n )}\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 as any)?.shareType as SelectOption)?.value}\n value={(triggerDetails as any)?.shareChannel}\n onChange={(field) =>\n setTriggerFields(\"shareChannel\", field as SelectOption)\n }\n options={channels.filter(\n (channel: any) =>\n channel?.type === (triggerDetails as any)?.shareType?.value\n )?.length ? channels.filter(\n (channel: any) =>\n channel?.type === (triggerDetails as any)?.shareType?.value\n ) : (triggerDetails as any)?.shareType?.value !== \"WHATSAPP\" ? [{\n label: \"New Share \",\n value: \"NEW_SHARE\",\n }] : []}\n />\n </Flex>\n </>\n )}\n </Flex>\n </Flex>\n ) : null}\n </Box>\n </Flex>\n );\n};\nexport default Trigger;\nconst CustomShareOption: React.FC<OptionProps<any>> = (props) => {\n const getCurrentIcon = (type: string) => {\n switch (type) {\n case \"EMAIL\":\n return <EmailLetterIcon />;\n case \"SMS\":\n return <SMSIcon />;\n case \"WHATSAPP\":\n return <WhatsappIcon />;\n default:\n return null;\n }\n };\n return (\n <components.Option {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n {getCurrentIcon(props.data.value)}\n <Text size=\"sm\">{props.label}</Text>\n </Flex>\n </components.Option>\n );\n};\nconst CustomSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n const getCurrentIcon = (type: string) => {\n switch (type) {\n case \"EMAIL\":\n return <EmailLetterIcon />;\n case \"SMS\":\n return <SMSIcon />;\n case \"WHATSAPP\":\n return <WhatsappIcon />;\n default:\n return null;\n }\n };\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n {getCurrentIcon(props.data.value)}\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n};\nconst CustomMultiValue: React.FC<MultiValueProps<any>> = (props) => {\n return (\n <CustomPill\n label={props.data.label}\n onCloseHandler={() => (props.removeProps as any)?.onClick?.()}\n variant=\"success\"\n radius=\"md\"\n fontFamily=\"Roboto Mono\"\n />\n );\n};\nconst CustomShareChannelOption: React.FC<OptionProps<any>> = (props) => {\n const getCurrentIcon = (type: string) => {\n switch (type) {\n case \"NEW_SHARE\":\n return <PlusIcon size={16} color=\"#6A6A6A\" />;\n default:\n return null;\n }\n };\n return (\n <components.Option {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n {getCurrentIcon(props.data.value)}\n <Text size=\"sm\">{props.label}</Text>\n </Flex>\n </components.Option>\n );\n};\nconst CustomShareChannelSingleValue: React.FC<SingleValueProps<any>> = (props) => {\n const getCurrentIcon = (type: string) => {\n switch (type) {\n case \"NEW_SHARE\":\n return <PlusIcon size={16} color=\"#6A6A6A\" />;\n default:\n return null;\n }\n };\n return (\n <components.SingleValue {...props}>\n <Flex css={{ cursor: \"pointer\" }} alignItems=\"center\" gap=\"$2\">\n {getCurrentIcon(props.data.value)}\n <Text size=\"sm\">{props.data.label}</Text>\n </Flex>\n </components.SingleValue>\n );\n};"],"names":["uuid","token","apiURL","_a","React"],"mappings":"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"}
@@ -15,233 +15,6 @@ const topLevelCondition = [
15
15
  { label: "And", value: "AND" },
16
16
  { label: "Or", value: "OR" }
17
17
  ];
18
- const CONDITION_OPERATORS = [
19
- { label: "is equals to", value: "IS" },
20
- { label: "is not equals to", value: "IS_NOT" },
21
- { label: "contains", value: "CONTAINS" },
22
- { label: "not contains", value: "CONTAINS_NOT" },
23
- { label: "has no value", value: "NO_VALUE" },
24
- { label: "has any value", value: "ANY_VALUE" },
25
- { label: "before", value: "BEFORE" },
26
- { label: "after", value: "AFTER" },
27
- { label: "on", value: "ON" },
28
- { label: "greater than", value: "GREATER_THAN" },
29
- { label: "less than", value: "LESS_THAN" },
30
- { label: "between", value: "BETWEEN" }
31
- ];
32
- const DATE_OPERATORS = [
33
- { label: "before", value: "BEFORE" },
34
- { label: "after", value: "AFTER" },
35
- { label: "on", value: "ON" },
36
- { label: "between", value: "BETWEEN" }
37
- ];
38
- const NUMBER_OPERATORS = [
39
- { label: "is equals to", value: "IS" },
40
- { label: "is not equals to", value: "IS_NOT" },
41
- { label: "greater than", value: "GREATER_THAN" },
42
- { label: "less than", value: "LESS_THAN" },
43
- { label: "between", value: "BETWEEN" },
44
- { label: "has no value", value: "NO_VALUE" },
45
- { label: "has any value", value: "ANY_VALUE" }
46
- ];
47
- const STRING_OPERATORS = [
48
- { label: "is equals to", value: "IS" },
49
- { label: "is not equals to", value: "IS_NOT" },
50
- { label: "contains", value: "CONTAINS" },
51
- { label: "not contains", value: "CONTAINS_NOT" },
52
- { label: "starts with", value: "STARTS_WITH" },
53
- { label: "ends with", value: "ENDS_WITH" },
54
- { label: "has no value", value: "NO_VALUE" },
55
- { label: "has any value", value: "ANY_VALUE" }
56
- ];
57
- const DEFAULT_TRIGGER_CONDITION = {
58
- id: "",
59
- field: null,
60
- operator: null,
61
- value: null
62
- };
63
- const DEFAULT_FILTER_GROUP = {
64
- id: "",
65
- conditions: [DEFAULT_TRIGGER_CONDITION],
66
- operator: "AND"
67
- };
68
- const SHARE_TYPE_OPTIONS = [
69
- { label: "Email", value: "EMAIL" },
70
- { label: "SMS", value: "SMS" },
71
- { label: "Whatsapp", value: "WHATSAPP" }
72
- ];
73
- const TRIGGER_ICONS = {
74
- SMS: "sms",
75
- EMAIL: "email",
76
- WHATSAPP: "whatsapp",
77
- SLACK: "slack",
78
- WEBHOOK: "webhook"
79
- };
80
- const MAX_FILTER_CONDITIONS = 10;
81
- const MAX_FILTER_GROUPS = 5;
82
- const TRIGGER_VALIDATION = {
83
- MIN_CONDITIONS: 1,
84
- MAX_CONDITIONS: MAX_FILTER_CONDITIONS,
85
- MAX_GROUPS: MAX_FILTER_GROUPS,
86
- REQUIRED_FIELDS: ["shareChannel", "shareRecipient", "shareType"]
87
- };
88
- const TRIGGER_ERROR_MESSAGES = {
89
- CONDITION_REQUIRED: "At least one condition is required",
90
- FIELD_REQUIRED: "Field selection is required",
91
- OPERATOR_REQUIRED: "Operator selection is required",
92
- VALUE_REQUIRED: "Value is required",
93
- SHARE_CHANNEL_REQUIRED: "Share channel is required",
94
- SHARE_RECIPIENT_REQUIRED: "Share recipient is required",
95
- SHARE_TYPE_REQUIRED: "Share type is required",
96
- MAX_CONDITIONS_REACHED: `Maximum ${MAX_FILTER_CONDITIONS} conditions allowed`,
97
- MAX_GROUPS_REACHED: `Maximum ${MAX_FILTER_GROUPS} filter groups allowed`,
98
- FETCH_CHANNELS_ERROR: "Failed to fetch channels"
99
- };
100
- const TRIGGER_SUCCESS_MESSAGES = {
101
- TRIGGER_SAVED: "Trigger saved successfully",
102
- TRIGGER_UPDATED: "Trigger updated successfully",
103
- TRIGGER_DELETED: "Trigger deleted successfully"
104
- };
105
- const SAMPLE_FIELD_OPTIONS = [
106
- { label: "Patient Id", value: "Patient_id" },
107
- { label: "Patient Family", value: "Patient_family" },
108
- { label: "Patient Given", value: "Patient_given" },
109
- { label: "Patient Email", value: "Patient_email" },
110
- { label: "Patient Work Phone", value: "Patient_phone_work" },
111
- { label: "Patient Home Phone", value: "Patient_phone_home" },
112
- { label: "Patient Mobile Phone", value: "Patient_phone_mobile" },
113
- { label: "Patient Active", value: "Patient_active" },
114
- { label: "Patient Birth Date", value: "Patient_birthDate" },
115
- { label: "Patient Gender", value: "Patient_gender" }
116
- ];
117
- const fieldOptions = SAMPLE_FIELD_OPTIONS;
118
- const UI_TEXT = {
119
- // Header texts
120
- EDIT_TRIGGER: "Edit Trigger",
121
- NEW_TRIGGER: "New Trigger",
122
- EVENT_SETUP: "Event Setup",
123
- TRIGGER_CONDITIONS: "Trigger Conditions",
124
- UPDATE_TRIGGER: "Update Trigger",
125
- SAVE_TRIGGER: "Save Trigger",
126
- // Event Setup texts
127
- CONFIGURE_EVENT: "Configure Event",
128
- SURVEY_NAME: "Survey Name:",
129
- CONTINUE: "Continue",
130
- // Condition texts
131
- SET_CONDITION: "Set Condition",
132
- WHICH_MEETS: "which meets",
133
- OF_THESE_CONDITIONS: "of these conditions",
134
- ADD_CONDITION: "Add Condition",
135
- WHEN: "When",
136
- // Variable texts
137
- PASS_VARIABLE_TO_SURVEY: "Pass Variable to Survey",
138
- CHOOSE_FIELDS: "Choose Fields",
139
- SEND_SURVEY: "Send Survey",
140
- CHOOSE_SHARE_TYPE: "Choose Share Type",
141
- CHOOSE_RECIPIENT: "Choose Recipient",
142
- CHOOSE_SHARE_CHANNEL: "Choose Share Channel",
143
- // Filter/Popover texts
144
- CHOOSE_FIELD: "Choose Field",
145
- CHOOSE_DATA_TYPE: "Choose Data Type",
146
- TYPE_VALUE: "Type Value",
147
- NO_PREFERENCE: "No Preference",
148
- SELECT_DATA_TYPE: "Select data type",
149
- NO_OPTIONS: "No options",
150
- SELECT_ALL: "Select All",
151
- // Button texts
152
- CANCEL: "Cancel",
153
- SAVE: "Save",
154
- APPLY: "Apply",
155
- // Condition operator labels
156
- AND: "And",
157
- OR: "Or",
158
- // Data type labels
159
- SELECT: "Select",
160
- CHOOSE: "Choose",
161
- // Info messages
162
- DATA_TYPE_INFO: "Select the right data type for the mapping to prevent errors when sharing value.",
163
- PHONE_NUMBER_HINT: "Enter a valid number without the country code",
164
- ENTER_VALUE_TOOLTIP: "Enter Value to complete the condition",
165
- // Share options
166
- NEW_SHARE: "New Share",
167
- EMAIL: "Email",
168
- SMS: "SMS",
169
- WHATSAPP: "Whatsapp",
170
- SLACK: "Slack",
171
- // Boolean values
172
- TRUE_VALUE: "True",
173
- FALSE_VALUE: "False"
174
- };
175
- const PLACEHOLDERS = {
176
- SELECT_ACCOUNT: "Select account",
177
- SELECT_OBJECT: "Select object",
178
- SELECT_ACTION: "Select action",
179
- SELECT_VARIABLES: "Select variables",
180
- SELECT_SHARE_TYPE: "Select share type",
181
- SELECT_RECIPIENT: "Select recipient",
182
- SELECT_CHANNEL: "Select channel",
183
- SEARCH: "Search",
184
- ENTER_NUMBER: "Enter a number",
185
- ENTER_VALUE: "Enter a value"
186
- };
187
- const FONTS = {
188
- BODY: "DM Sans, Roboto Mono, sans-serif",
189
- HEADING: "DM Sans, Roboto Mono, sans-serif",
190
- MONO: "Roboto Mono",
191
- MONO_FULL: "'Roboto Mono', monospace !important"
192
- };
193
- const API = {
194
- CHANNELS_ENDPOINT: "/v3/channels",
195
- QUERY_PARAM_SURVEY_ID: "survey_id",
196
- AUTHORIZATION_HEADER: "Authorization",
197
- CONTENT_TYPE_HEADER: "Content-Type",
198
- CONTENT_TYPE_JSON: "application/json",
199
- BEARER_PREFIX: "Bearer"
200
- };
201
- const PARAMETER_ERRORS = {
202
- MISSING_REQUIRED_PARAMS: "Missing required parameters: token, apiURL, or surveyId",
203
- INVALID_RESPONSE_FORMAT: "Invalid response format",
204
- API_REQUEST_FAILED: "API request failed"
205
- };
206
- const VALIDATION_ERRORS = {
207
- AT_LEAST_ONE_FILTER: "At least one filter is required",
208
- FILTER_GROUP_CONDITION: "must have at least one condition",
209
- FIELD_REQUIRED: "Field is required",
210
- OPERATOR_REQUIRED: "Operator is required",
211
- VALUE_REQUIRED: "Value is required",
212
- CONDITION: "Condition",
213
- IN_FILTER_GROUP: "in filter group",
214
- FILTER_GROUP: "Filter group"
215
- };
216
- const HTTP_ERRORS = {
217
- HTTP_ERROR_PREFIX: "HTTP error! status:",
218
- FAILED_TO_FETCH_CHANNELS: "Failed to fetch channels"
219
- };
220
- const DRAFT = {
221
- TYPE_TRIGGER: "TRIGGER"
222
- };
223
- const SHARE_TYPES = {
224
- EMAIL: "EMAIL",
225
- SMS: "SMS",
226
- WHATSAPP: "WHATSAPP",
227
- SLACK: "SLACK",
228
- NEW_SHARE: "NEW_SHARE"
229
- };
230
- const DATA_TYPES = {
231
- BOOLEAN: "BOOLEAN",
232
- DATE_TIME: "DATE_TIME",
233
- STRING: "STRING",
234
- NUMBER: "NUMBER",
235
- PHONE_NUMBER: "PHONE_NUMBER",
236
- SELECT: "SELECT"
237
- };
238
- const HOOKS = {
239
- FAILED_TO_FETCH_CHANNELS: "Failed to fetch channels",
240
- CONDITIONS: {
241
- AND: "AND",
242
- OR: "OR"
243
- }
244
- };
245
18
 
246
- export { API, CONDITION_OPERATORS, DATA_TYPES, DATE_OPERATORS, DEFAULT_FILTER_GROUP, DEFAULT_TRIGGER_CONDITION, DRAFT, FONTS, HOOKS, HTTP_ERRORS, MAX_FILTER_CONDITIONS, MAX_FILTER_GROUPS, NUMBER_OPERATORS, PARAMETER_ERRORS, PLACEHOLDERS, SAMPLE_FIELD_OPTIONS, SHARE_TYPES, SHARE_TYPE_OPTIONS, STRING_OPERATORS, TRIGGER_ERROR_MESSAGES, TRIGGER_ICONS, TRIGGER_SUCCESS_MESSAGES, TRIGGER_VALIDATION, UI_TEXT, VALIDATION_ERRORS, comparatorConstants, fieldOptions, topLevelCondition };
19
+ export { comparatorConstants, topLevelCondition };
247
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/triggers/constants/index.ts"],"sourcesContent":["import { SelectOption } from '../../commons/types/enhanced';\n\n/**\n * Trigger Constants\n * All constants used in the triggers module with proper TypeScript typing\n */\n\n// ============================================================================\n// Comparator Constants\n// ============================================================================\n\n/**\n * Comparator operators for filter conditions\n */\nexport const comparatorConstants = {\n IS: 'IS',\n IS_NOT: 'IS_NOT',\n CONTAINS: 'CONTAINS',\n CONTAINS_NOT: 'CONTAINS_NOT',\n NO_VALUE: 'NO_VALUE',\n ANY_VALUE: 'ANY_VALUE',\n ON: 'ON',\n AFTER: 'AFTER',\n BEFORE: 'BEFORE',\n TRUE: 'TRUE',\n FALSE: 'FALSE',\n} as const;\n\nexport type ComparatorType = typeof comparatorConstants[keyof typeof comparatorConstants];\n\n// ============================================================================\n// Condition Operators\n// ============================================================================\n\n/**\n * Top-level condition operators (AND/OR)\n */\nexport const topLevelCondition: ReadonlyArray<SelectOption> = [\n { label: 'And', value: 'AND' },\n { label: 'Or', value: 'OR' },\n] as const;\n\n/**\n * General condition operators\n */\nexport const CONDITION_OPERATORS: ReadonlyArray<SelectOption> = [\n { label: 'is equals to', value: 'IS' },\n { label: 'is not equals to', value: 'IS_NOT' },\n { label: 'contains', value: 'CONTAINS' },\n { label: 'not contains', value: 'CONTAINS_NOT' },\n { label: 'has no value', value: 'NO_VALUE' },\n { label: 'has any value', value: 'ANY_VALUE' },\n { label: 'before', value: 'BEFORE' },\n { label: 'after', value: 'AFTER' },\n { label: 'on', value: 'ON' },\n { label: 'greater than', value: 'GREATER_THAN' },\n { label: 'less than', value: 'LESS_THAN' },\n { label: 'between', value: 'BETWEEN' },\n] as const;\n\n/**\n * Date-specific operators\n */\nexport const DATE_OPERATORS: ReadonlyArray<SelectOption> = [\n { label: 'before', value: 'BEFORE' },\n { label: 'after', value: 'AFTER' },\n { label: 'on', value: 'ON' },\n { label: 'between', value: 'BETWEEN' },\n] as const;\n\n/**\n * Number-specific operators\n */\nexport const NUMBER_OPERATORS: ReadonlyArray<SelectOption> = [\n { label: 'is equals to', value: 'IS' },\n { label: 'is not equals to', value: 'IS_NOT' },\n { label: 'greater than', value: 'GREATER_THAN' },\n { label: 'less than', value: 'LESS_THAN' },\n { label: 'between', value: 'BETWEEN' },\n { label: 'has no value', value: 'NO_VALUE' },\n { label: 'has any value', value: 'ANY_VALUE' },\n] as const;\n\n/**\n * String-specific operators\n */\nexport const STRING_OPERATORS: ReadonlyArray<SelectOption> = [\n { label: 'is equals to', value: 'IS' },\n { label: 'is not equals to', value: 'IS_NOT' },\n { label: 'contains', value: 'CONTAINS' },\n { label: 'not contains', value: 'CONTAINS_NOT' },\n { label: 'starts with', value: 'STARTS_WITH' },\n { label: 'ends with', value: 'ENDS_WITH' },\n { label: 'has no value', value: 'NO_VALUE' },\n { label: 'has any value', value: 'ANY_VALUE' },\n] as const;\n\n// ============================================================================\n// Default Values\n// ============================================================================\n\n/**\n * Default trigger condition structure\n */\nexport const DEFAULT_TRIGGER_CONDITION = {\n id: '',\n field: null,\n operator: null,\n value: null,\n} as const;\n\n/**\n * Default filter group structure\n */\nexport const DEFAULT_FILTER_GROUP = {\n id: '',\n conditions: [DEFAULT_TRIGGER_CONDITION],\n operator: 'AND' as const,\n} as const;\n\n// ============================================================================\n// Share Options\n// ============================================================================\n\n/**\n * Available share type options\n */\nexport const SHARE_TYPE_OPTIONS: ReadonlyArray<SelectOption> = [\n { label: 'Email', value: 'EMAIL' },\n { label: 'SMS', value: 'SMS' },\n { label: 'Whatsapp', value: 'WHATSAPP' },\n] as const;\n\n/**\n * Trigger icon mapping\n */\nexport const TRIGGER_ICONS = {\n SMS: 'sms',\n EMAIL: 'email',\n WHATSAPP: 'whatsapp',\n SLACK: 'slack',\n WEBHOOK: 'webhook',\n} as const;\n\nexport type TriggerIconType = keyof typeof TRIGGER_ICONS;\n\n// ============================================================================\n// Limits & Validation\n// ============================================================================\n\n/**\n * Maximum number of filter conditions\n */\nexport const MAX_FILTER_CONDITIONS = 10 as const;\n\n/**\n * Maximum number of filter groups\n */\nexport const MAX_FILTER_GROUPS = 5 as const;\n\n/**\n * Validation rules for triggers\n */\nexport const TRIGGER_VALIDATION = {\n MIN_CONDITIONS: 1,\n MAX_CONDITIONS: MAX_FILTER_CONDITIONS,\n MAX_GROUPS: MAX_FILTER_GROUPS,\n REQUIRED_FIELDS: ['shareChannel', 'shareRecipient', 'shareType'] as const,\n} as const;\n\n// ============================================================================\n// Messages\n// ============================================================================\n\n/**\n * Error messages for trigger operations\n */\nexport const TRIGGER_ERROR_MESSAGES = {\n CONDITION_REQUIRED: 'At least one condition is required',\n FIELD_REQUIRED: 'Field selection is required',\n OPERATOR_REQUIRED: 'Operator selection is required',\n VALUE_REQUIRED: 'Value is required',\n SHARE_CHANNEL_REQUIRED: 'Share channel is required',\n SHARE_RECIPIENT_REQUIRED: 'Share recipient is required',\n SHARE_TYPE_REQUIRED: 'Share type is required',\n MAX_CONDITIONS_REACHED: `Maximum ${MAX_FILTER_CONDITIONS} conditions allowed`,\n MAX_GROUPS_REACHED: `Maximum ${MAX_FILTER_GROUPS} filter groups allowed`,\n FETCH_CHANNELS_ERROR: 'Failed to fetch channels',\n} as const;\n\n/**\n * Success messages for trigger operations\n */\nexport const TRIGGER_SUCCESS_MESSAGES = {\n TRIGGER_SAVED: 'Trigger saved successfully',\n TRIGGER_UPDATED: 'Trigger updated successfully',\n TRIGGER_DELETED: 'Trigger deleted successfully',\n} as const;\n\n// ============================================================================\n// Sample Data (for testing/stories)\n// ============================================================================\n\n/**\n * Sample field options for testing and storybook\n */\nexport const SAMPLE_FIELD_OPTIONS: ReadonlyArray<SelectOption> = [\n { label: 'Patient Id', value: 'Patient_id' },\n { label: 'Patient Family', value: 'Patient_family' },\n { label: 'Patient Given', value: 'Patient_given' },\n { label: 'Patient Email', value: 'Patient_email' },\n { label: 'Patient Work Phone', value: 'Patient_phone_work' },\n { label: 'Patient Home Phone', value: 'Patient_phone_home' },\n { label: 'Patient Mobile Phone', value: 'Patient_phone_mobile' },\n { label: 'Patient Active', value: 'Patient_active' },\n { label: 'Patient Birth Date', value: 'Patient_birthDate' },\n { label: 'Patient Gender', value: 'Patient_gender' },\n] as const;\n\n// Legacy export for backward compatibility\nexport const fieldOptions = SAMPLE_FIELD_OPTIONS;\n\n// ============================================================================\n// UI Text Constants\n// ============================================================================\n\n/**\n * UI labels and text constants\n */\nexport const UI_TEXT = {\n // Header texts\n EDIT_TRIGGER: 'Edit Trigger',\n NEW_TRIGGER: 'New Trigger',\n EVENT_SETUP: 'Event Setup',\n TRIGGER_CONDITIONS: 'Trigger Conditions',\n UPDATE_TRIGGER: 'Update Trigger',\n SAVE_TRIGGER: 'Save Trigger',\n \n // Event Setup texts\n CONFIGURE_EVENT: 'Configure Event',\n SURVEY_NAME: 'Survey Name:',\n CONTINUE: 'Continue',\n \n // Condition texts\n SET_CONDITION: 'Set Condition',\n WHICH_MEETS: 'which meets',\n OF_THESE_CONDITIONS: 'of these conditions',\n ADD_CONDITION: 'Add Condition',\n WHEN: 'When',\n \n // Variable texts\n PASS_VARIABLE_TO_SURVEY: 'Pass Variable to Survey',\n CHOOSE_FIELDS: 'Choose Fields',\n SEND_SURVEY: 'Send Survey',\n CHOOSE_SHARE_TYPE: 'Choose Share Type',\n CHOOSE_RECIPIENT: 'Choose Recipient',\n CHOOSE_SHARE_CHANNEL: 'Choose Share Channel',\n \n // Filter/Popover texts\n CHOOSE_FIELD: 'Choose Field',\n CHOOSE_DATA_TYPE: 'Choose Data Type',\n TYPE_VALUE: 'Type Value',\n NO_PREFERENCE: 'No Preference',\n SELECT_DATA_TYPE: 'Select data type',\n NO_OPTIONS: 'No options',\n SELECT_ALL: 'Select All',\n \n // Button texts\n CANCEL: 'Cancel',\n SAVE: 'Save',\n APPLY: 'Apply',\n \n // Condition operator labels\n AND: 'And',\n OR: 'Or',\n \n // Data type labels\n SELECT: 'Select',\n CHOOSE: 'Choose',\n \n // Info messages\n DATA_TYPE_INFO: 'Select the right data type for the mapping to prevent errors when sharing value.',\n PHONE_NUMBER_HINT: 'Enter a valid number without the country code',\n ENTER_VALUE_TOOLTIP: 'Enter Value to complete the condition',\n \n // Share options\n NEW_SHARE: 'New Share',\n EMAIL: 'Email',\n SMS: 'SMS',\n WHATSAPP: 'Whatsapp',\n SLACK: 'Slack',\n \n // Boolean values\n TRUE_VALUE: 'True',\n FALSE_VALUE: 'False',\n} as const;\n\n/**\n * Placeholder texts\n */\nexport const PLACEHOLDERS = {\n SELECT_ACCOUNT: 'Select account',\n SELECT_OBJECT: 'Select object',\n SELECT_ACTION: 'Select action',\n SELECT_VARIABLES: 'Select variables',\n SELECT_SHARE_TYPE: 'Select share type',\n SELECT_RECIPIENT: 'Select recipient',\n SELECT_CHANNEL: 'Select channel',\n SEARCH: 'Search',\n ENTER_NUMBER: 'Enter a number',\n ENTER_VALUE: 'Enter a value',\n} as const;\n\n/**\n * Font family constants\n */\nexport const FONTS = {\n BODY: 'DM Sans, Roboto Mono, sans-serif',\n HEADING: 'DM Sans, Roboto Mono, sans-serif',\n MONO: 'Roboto Mono',\n MONO_FULL: \"'Roboto Mono', monospace !important\",\n} as const;\n\n/**\n * API related constants\n */\nexport const API = {\n CHANNELS_ENDPOINT: '/v3/channels',\n QUERY_PARAM_SURVEY_ID: 'survey_id',\n AUTHORIZATION_HEADER: 'Authorization',\n CONTENT_TYPE_HEADER: 'Content-Type',\n CONTENT_TYPE_JSON: 'application/json',\n BEARER_PREFIX: 'Bearer',\n} as const;\n\n/**\n * Parameter error messages\n */\nexport const PARAMETER_ERRORS = {\n MISSING_REQUIRED_PARAMS: 'Missing required parameters: token, apiURL, or surveyId',\n INVALID_RESPONSE_FORMAT: 'Invalid response format',\n API_REQUEST_FAILED: 'API request failed',\n} as const;\n\n/**\n * Validation error messages for forms\n */\nexport const VALIDATION_ERRORS = {\n AT_LEAST_ONE_FILTER: 'At least one filter is required',\n FILTER_GROUP_CONDITION: 'must have at least one condition',\n FIELD_REQUIRED: 'Field is required',\n OPERATOR_REQUIRED: 'Operator is required',\n VALUE_REQUIRED: 'Value is required',\n CONDITION: 'Condition',\n IN_FILTER_GROUP: 'in filter group',\n FILTER_GROUP: 'Filter group',\n} as const;\n\n/**\n * HTTP status and error messages\n */\nexport const HTTP_ERRORS = {\n HTTP_ERROR_PREFIX: 'HTTP error! status:',\n FAILED_TO_FETCH_CHANNELS: 'Failed to fetch channels',\n} as const;\n\n/**\n * Draft handler constants\n */\nexport const DRAFT = {\n TYPE_TRIGGER: 'TRIGGER',\n} as const;\n\n/**\n * Share type values\n */\nexport const SHARE_TYPES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n WHATSAPP: 'WHATSAPP',\n SLACK: 'SLACK',\n NEW_SHARE: 'NEW_SHARE',\n} as const;\n\n/**\n * Data type constants\n */\nexport const DATA_TYPES = {\n BOOLEAN: 'BOOLEAN',\n DATE_TIME: 'DATE_TIME',\n STRING: 'STRING',\n NUMBER: 'NUMBER',\n PHONE_NUMBER: 'PHONE_NUMBER',\n SELECT: 'SELECT',\n} as const;\n\nexport const HOOKS = {\n FAILED_TO_FETCH_CHANNELS: 'Failed to fetch channels',\n CONDITIONS: {\n AND: 'AND',\n OR: 'OR',\n }\n} as const;"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/triggers/constants/index.ts"],"sourcesContent":["import { SelectOption } from '../../commons/types/enhanced';\n\n// Trigger specific constants\n// Legacy constants for backward compatibility\nexport const comparatorConstants = {\n IS: 'IS',\n IS_NOT: 'IS_NOT',\n CONTAINS: 'CONTAINS',\n CONTAINS_NOT: 'CONTAINS_NOT',\n NO_VALUE: 'NO_VALUE',\n ANY_VALUE: 'ANY_VALUE',\n ON: 'ON',\n AFTER: 'AFTER',\n BEFORE: 'BEFORE',\n TRUE: 'TRUE',\n FALSE: 'FALSE',\n} as const;\n\nexport const topLevelCondition = [\n { label: 'And', value: 'AND' },\n { label: 'Or', value: 'OR' },\n];\n\nexport const TOP_LEVEL_CONDITION: SelectOption[] = [\n { label: 'And', value: 'AND' },\n { label: 'Or', value: 'OR' },\n];\n\nexport const DEFAULT_TRIGGER_CONDITION = {\n id: '',\n field: null,\n operator: null,\n value: null,\n};\n\nexport const DEFAULT_FILTER_GROUP = {\n id: '',\n conditions: [DEFAULT_TRIGGER_CONDITION],\n operator: 'AND' as const,\n};\n\nexport const SHARE_TYPE_OPTIONS: SelectOption[] = [\n { label: 'Survey Response', value: 'RESPONSE' },\n { label: 'Survey Summary', value: 'SUMMARY' },\n { label: 'Custom Message', value: 'CUSTOM' },\n];\n\nexport const CONDITION_OPERATORS: SelectOption[] = [\n { label: 'is equals to', value: 'IS' },\n { label: 'is not equals to', value: 'IS_NOT' },\n { label: 'contains', value: 'CONTAINS' },\n { label: 'not contains', value: 'CONTAINS_NOT' },\n { label: 'has no value', value: 'NO_VALUE' },\n { label: 'has any value', value: 'ANY_VALUE' },\n { label: 'before', value: 'BEFORE' },\n { label: 'after', value: 'AFTER' },\n { label: 'on', value: 'ON' },\n { label: 'greater than', value: 'GREATER_THAN' },\n { label: 'less than', value: 'LESS_THAN' },\n { label: 'between', value: 'BETWEEN' },\n];\n\nexport const DATE_OPERATORS: SelectOption[] = [\n { label: 'before', value: 'BEFORE' },\n { label: 'after', value: 'AFTER' },\n { label: 'on', value: 'ON' },\n { label: 'between', value: 'BETWEEN' },\n];\n\nexport const NUMBER_OPERATORS: SelectOption[] = [\n { label: 'is equals to', value: 'IS' },\n { label: 'is not equals to', value: 'IS_NOT' },\n { label: 'greater than', value: 'GREATER_THAN' },\n { label: 'less than', value: 'LESS_THAN' },\n { label: 'between', value: 'BETWEEN' },\n { label: 'has no value', value: 'NO_VALUE' },\n { label: 'has any value', value: 'ANY_VALUE' },\n];\n\nexport const STRING_OPERATORS: SelectOption[] = [\n { label: 'is equals to', value: 'IS' },\n { label: 'is not equals to', value: 'IS_NOT' },\n { label: 'contains', value: 'CONTAINS' },\n { label: 'not contains', value: 'CONTAINS_NOT' },\n { label: 'starts with', value: 'STARTS_WITH' },\n { label: 'ends with', value: 'ENDS_WITH' },\n { label: 'has no value', value: 'NO_VALUE' },\n { label: 'has any value', value: 'ANY_VALUE' },\n];\n\nexport const TRIGGER_ICONS = {\n SMS: 'sms',\n EMAIL: 'email',\n WHATSAPP: 'whatsapp',\n SLACK: 'slack',\n WEBHOOK: 'webhook',\n} as const;\n\nexport const MAX_FILTER_CONDITIONS = 10;\nexport const MAX_FILTER_GROUPS = 5;\n\n// Validation rules for triggers\nexport const TRIGGER_VALIDATION = {\n MIN_CONDITIONS: 1,\n MAX_CONDITIONS: MAX_FILTER_CONDITIONS,\n MAX_GROUPS: MAX_FILTER_GROUPS,\n REQUIRED_FIELDS: ['shareChannel', 'shareRecipient', 'shareType'],\n} as const;\n\n// Error messages for triggers\nexport const TRIGGER_ERROR_MESSAGES = {\n CONDITION_REQUIRED: 'At least one condition is required',\n FIELD_REQUIRED: 'Field selection is required',\n OPERATOR_REQUIRED: 'Operator selection is required',\n VALUE_REQUIRED: 'Value is required',\n SHARE_CHANNEL_REQUIRED: 'Share channel is required',\n SHARE_RECIPIENT_REQUIRED: 'Share recipient is required',\n SHARE_TYPE_REQUIRED: 'Share type is required',\n MAX_CONDITIONS_REACHED: `Maximum ${MAX_FILTER_CONDITIONS} conditions allowed`,\n MAX_GROUPS_REACHED: `Maximum ${MAX_FILTER_GROUPS} filter groups allowed`,\n FETCH_CHANNELS_ERROR: 'Failed to fetch channels',\n} as const;\n\n// Success messages\nexport const TRIGGER_SUCCESS_MESSAGES = {\n TRIGGER_SAVED: 'Trigger saved successfully',\n TRIGGER_UPDATED: 'Trigger updated successfully',\n TRIGGER_DELETED: 'Trigger deleted successfully',\n} as const;\n\n// Sample field options for testing/stories\nexport const fieldOptions: SelectOption[] = [\n { label: 'Patient Id', value: 'Patient_id' },\n { label: 'Patient Family', value: 'Patient_family' },\n { label: 'Patient Given', value: 'Patient_given' },\n { label: 'Patient Email', value: 'Patient_email' },\n { label: 'Patient Work Phone', value: 'Patient_phone_work' },\n { label: 'Patient Home Phone', value: 'Patient_phone_home' },\n { label: 'Patient Mobile Phone', value: 'Patient_phone_mobile' },\n { label: 'Patient Active', value: 'Patient_active' },\n { label: 'Patient Birth Date', value: 'Patient_birthDate' },\n { label: 'Patient Gender', value: 'Patient_gender' },\n];"],"names":[],"mappings":"AAIO,MAAM,mBAAsB,GAAA;AAAA,EACjC,EAAI,EAAA,IAAA;AAAA,EACJ,MAAQ,EAAA,QAAA;AAAA,EACR,QAAU,EAAA,UAAA;AAAA,EACV,YAAc,EAAA,cAAA;AAAA,EACd,QAAU,EAAA,UAAA;AAAA,EACV,SAAW,EAAA,WAAA;AAAA,EACX,EAAI,EAAA,IAAA;AAAA,EACJ,KAAO,EAAA,OAAA;AAAA,EACP,MAAQ,EAAA,QAAA;AAAA,EACR,IAAM,EAAA,MAAA;AAAA,EACN,KAAO,EAAA,OAAA;AACT,EAAA;AAEO,MAAM,iBAAoB,GAAA;AAAA,EAC/B,EAAE,KAAA,EAAO,KAAO,EAAA,KAAA,EAAO,KAAM,EAAA;AAAA,EAC7B,EAAE,KAAA,EAAO,IAAM,EAAA,KAAA,EAAO,IAAK,EAAA;AAC7B;;;;"}