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

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 +986 -58
  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 +987 -59
  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
@@ -3,45 +3,25 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var strings = require('../constants/strings.js');
7
6
  var alertDialog = require('../../node_modules/@sparrowengg/twigs-react/dist/es/alert-dialog/alert-dialog.js');
8
7
  var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
9
8
 
10
9
  const EditConfirmation = ({
11
- title,
10
+ name,
12
11
  description,
13
12
  onConfirm,
14
- onCancel,
15
- confirmText = strings.BUTTON_TEXT.CONFIRM,
16
- cancelText = strings.BUTTON_TEXT.CANCEL
13
+ onCancel
17
14
  }) => {
18
- const [isConfirmHover, setIsConfirmHover] = React.useState(false);
15
+ const [isDeleteIconHover, setIsDeleteIconHover] = React.useState(false);
19
16
  const [isLoading, setIsLoading] = React.useState(false);
20
- const handleMouseEnter = React.useCallback(() => {
21
- setIsConfirmHover(true);
22
- }, []);
23
- const handleMouseLeave = React.useCallback(() => {
24
- setIsConfirmHover(false);
25
- }, []);
26
- const handleConfirm = React.useCallback(async () => {
27
- try {
28
- setIsLoading(true);
29
- await onConfirm();
30
- } catch (error) {
31
- console.error(strings.CONSOLE_MESSAGES.ERROR_DURING_CONFIRMATION, error);
32
- } finally {
33
- setIsLoading(false);
34
- }
35
- }, [onConfirm]);
36
- const confirmButtonColor = isConfirmHover ? strings.COLORS.SECONDARY : strings.COLORS.DEFAULT;
37
17
  return /* @__PURE__ */ React.createElement(alertDialog.AlertDialog, { open: true }, /* @__PURE__ */ React.createElement(
38
18
  alertDialog.AlertDialogContent,
39
19
  {
40
20
  onOpenAutoFocus: (e) => e.preventDefault(),
41
- className: strings.CSS_CLASS_NAMES.DM_SANS,
21
+ className: "dm-sans",
42
22
  css: {
43
23
  button: {
44
- borderRadius: strings.BORDER_RADIUS.EIGHT_PX
24
+ borderRadius: "8px"
45
25
  }
46
26
  }
47
27
  },
@@ -55,7 +35,7 @@ const EditConfirmation = ({
55
35
  padding: "24px $12 8px $12 !important"
56
36
  }
57
37
  },
58
- title
38
+ name
59
39
  ),
60
40
  /* @__PURE__ */ React.createElement(
61
41
  alertDialog.AlertDialogDescription,
@@ -73,21 +53,24 @@ const EditConfirmation = ({
73
53
  },
74
54
  description
75
55
  ),
76
- /* @__PURE__ */ React.createElement(alertDialog.AlertDialogActions, { css: { gap: "$6" } }, /* @__PURE__ */ React.createElement(alertDialog.AlertDialogCancel, { asChild: true, onClick: onCancel }, /* @__PURE__ */ React.createElement(button.Button, { color: strings.COLORS.DEFAULT, variant: strings.VARIANTS.SOLID, size: strings.SIZE_VALUES.LARGE, disabled: isLoading }, cancelText)), /* @__PURE__ */ React.createElement(alertDialog.AlertDialogAction, { asChild: true }, /* @__PURE__ */ React.createElement(
56
+ /* @__PURE__ */ React.createElement(alertDialog.AlertDialogActions, { css: { gap: "$6" } }, /* @__PURE__ */ React.createElement(alertDialog.AlertDialogCancel, { asChild: true, onClick: onCancel }, /* @__PURE__ */ React.createElement(button.Button, { color: "default", variant: "solid", size: "lg" }, "Cancel")), /* @__PURE__ */ React.createElement(alertDialog.AlertDialogAction, { asChild: true }, /* @__PURE__ */ React.createElement(
77
57
  button.Button,
78
58
  {
79
59
  loading: isLoading,
80
- onMouseEnter: handleMouseEnter,
81
- onMouseLeave: handleMouseLeave,
82
- color: confirmButtonColor,
83
- size: strings.SIZE_VALUES.LARGE,
84
- onClick: handleConfirm
60
+ onMouseEnter: () => setIsDeleteIconHover(true),
61
+ onMouseLeave: () => setIsDeleteIconHover(false),
62
+ color: isDeleteIconHover ? "secondary" : "default",
63
+ size: "lg",
64
+ onClick: async () => {
65
+ setIsLoading(true);
66
+ await onConfirm();
67
+ setIsLoading(false);
68
+ }
85
69
  },
86
- confirmText
70
+ "Confirm"
87
71
  )))
88
72
  ));
89
73
  };
90
- EditConfirmation.displayName = strings.COMPONENT_DISPLAY_NAMES.EDIT_CONFIRMATION;
91
74
 
92
75
  exports.default = EditConfirmation;
93
76
  //# sourceMappingURL=edit-confirmation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"edit-confirmation.js","sources":["../../../../src/commons/components/edit-confirmation.tsx"],"sourcesContent":["import React, { useState, useCallback } from 'react';\nimport {\n AlertDialog,\n AlertDialogContent,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogActions,\n AlertDialogCancel,\n AlertDialogAction,\n Button,\n} from '@sparrowengg/twigs-react';\nimport {\n BUTTON_TEXT,\n CSS_CLASS_NAMES,\n COLORS,\n SIZE_VALUES,\n BORDER_RADIUS,\n VARIANTS,\n CONSOLE_MESSAGES,\n COMPONENT_DISPLAY_NAMES,\n} from '../constants/strings';\n\n/**\n * Props for the EditConfirmation component\n */\nexport interface EditConfirmationProps {\n /** Title text displayed at the top of the modal */\n title: string;\n /** Descriptive text explaining the edit action */\n description: string;\n /** Async callback function invoked when the user confirms the edit */\n onConfirm: () => void | Promise<void>;\n /** Callback function invoked when the user cancels the edit */\n onCancel: () => void;\n /** Optional: Text for the confirm button (defaults to \"Confirm\") */\n confirmText?: string;\n /** Optional: Text for the cancel button (defaults to \"Cancel\") */\n cancelText?: string;\n}\n\n/**\n * EditConfirmation Component\n * \n * A confirmation dialog specifically designed for edit operations.\n * Supports async operations with loading state and hover effects.\n * \n * @example\n * ```tsx\n * <EditConfirmation\n * title=\"Confirm Edit\"\n * description=\"Are you sure you want to save these changes?\"\n * onConfirm={async () => await saveChanges()}\n * onCancel={handleCancel}\n * />\n * ```\n */\nconst EditConfirmation: React.FC<EditConfirmationProps> = ({\n title,\n description,\n onConfirm,\n onCancel,\n confirmText = BUTTON_TEXT.CONFIRM,\n cancelText = BUTTON_TEXT.CANCEL,\n}) => {\n const [isConfirmHover, setIsConfirmHover] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n\n const handleMouseEnter = useCallback(() => {\n setIsConfirmHover(true);\n }, []);\n\n const handleMouseLeave = useCallback(() => {\n setIsConfirmHover(false);\n }, []);\n\n const handleConfirm = useCallback(async () => {\n try {\n setIsLoading(true);\n await onConfirm();\n } catch (error) {\n console.error(CONSOLE_MESSAGES.ERROR_DURING_CONFIRMATION, error);\n } finally {\n setIsLoading(false);\n }\n }, [onConfirm]);\n\n const confirmButtonColor = isConfirmHover ? COLORS.SECONDARY : COLORS.DEFAULT;\n\n return (\n <AlertDialog open={true}>\n <AlertDialogContent\n onOpenAutoFocus={(e) => e.preventDefault()}\n className={CSS_CLASS_NAMES.DM_SANS}\n css={{\n button: {\n borderRadius: BORDER_RADIUS.EIGHT_PX,\n },\n }}\n >\n <AlertDialogTitle\n css={{\n display: 'flex',\n justifyContent: 'space-between',\n border: 'none !important',\n padding: '24px $12 8px $12 !important',\n }}\n >\n {title}\n </AlertDialogTitle>\n\n <AlertDialogDescription\n css={{\n overflowWrap: 'break-word',\n padding: '0px $12 0px $12 !important',\n fontSize: '$sm',\n fontWeight: '400',\n lineHeight: '20px',\n letterSpacing: '0px',\n color: '$neutral800',\n margin: '0 !important',\n }}\n >\n {description}\n </AlertDialogDescription>\n\n <AlertDialogActions css={{ gap: '$6' }}>\n <AlertDialogCancel asChild onClick={onCancel}>\n <Button color={COLORS.DEFAULT} variant={VARIANTS.SOLID} size={SIZE_VALUES.LARGE} disabled={isLoading}>\n {cancelText}\n </Button>\n </AlertDialogCancel>\n\n <AlertDialogAction asChild>\n <Button\n loading={isLoading}\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n color={confirmButtonColor}\n size={SIZE_VALUES.LARGE}\n onClick={handleConfirm}\n >\n {confirmText}\n </Button>\n </AlertDialogAction>\n </AlertDialogActions>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\n\nEditConfirmation.displayName = COMPONENT_DISPLAY_NAMES.EDIT_CONFIRMATION;\n\nexport default EditConfirmation;\n"],"names":["BUTTON_TEXT","useState","useCallback","CONSOLE_MESSAGES","COLORS","AlertDialog","AlertDialogContent","CSS_CLASS_NAMES","BORDER_RADIUS","AlertDialogTitle","AlertDialogDescription","AlertDialogActions","AlertDialogCancel","Button","VARIANTS","SIZE_VALUES","AlertDialogAction","COMPONENT_DISPLAY_NAMES"],"mappings":";;;;;;;;;AAwDA,MAAM,mBAAoD,CAAC;AAAA,EACzD,KAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA,cAAcA,mBAAY,CAAA,OAAA;AAAA,EAC1B,aAAaA,mBAAY,CAAA,MAAA;AAC3B,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,cAAA,EAAgB,iBAAiB,CAAA,GAAIC,eAAS,KAAK,CAAA,CAAA;AAC1D,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAEhD,EAAM,MAAA,gBAAA,GAAmBC,kBAAY,MAAM;AACzC,IAAA,iBAAA,CAAkB,IAAI,CAAA,CAAA;AAAA,GACxB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,gBAAA,GAAmBA,kBAAY,MAAM;AACzC,IAAA,iBAAA,CAAkB,KAAK,CAAA,CAAA;AAAA,GACzB,EAAG,EAAE,CAAA,CAAA;AAEL,EAAM,MAAA,aAAA,GAAgBA,kBAAY,YAAY;AAC5C,IAAI,IAAA;AACF,MAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AACjB,MAAA,MAAM,SAAU,EAAA,CAAA;AAAA,aACT,KAAO,EAAA;AACd,MAAQ,OAAA,CAAA,KAAA,CAAMC,wBAAiB,CAAA,yBAAA,EAA2B,KAAK,CAAA,CAAA;AAAA,KAC/D,SAAA;AACA,MAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,KACpB;AAAA,GACF,EAAG,CAAC,SAAS,CAAC,CAAA,CAAA;AAEd,EAAA,MAAM,kBAAqB,GAAA,cAAA,GAAiBC,cAAO,CAAA,SAAA,GAAYA,cAAO,CAAA,OAAA,CAAA;AAEtE,EACE,uBAAA,KAAA,CAAA,aAAA,CAACC,uBAAY,EAAA,EAAA,IAAA,EAAM,IACjB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,8BAAA;AAAA,IAAA;AAAA,MACC,eAAiB,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,cAAe,EAAA;AAAA,MACzC,WAAWC,uBAAgB,CAAA,OAAA;AAAA,MAC3B,GAAK,EAAA;AAAA,QACH,MAAQ,EAAA;AAAA,UACN,cAAcC,qBAAc,CAAA,QAAA;AAAA,SAC9B;AAAA,OACF;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,4BAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,OAAS,EAAA,MAAA;AAAA,UACT,cAAgB,EAAA,eAAA;AAAA,UAChB,MAAQ,EAAA,iBAAA;AAAA,UACR,OAAS,EAAA,6BAAA;AAAA,SACX;AAAA,OAAA;AAAA,MAEC,KAAA;AAAA,KACH;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,kCAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,YAAc,EAAA,YAAA;AAAA,UACd,OAAS,EAAA,4BAAA;AAAA,UACT,QAAU,EAAA,KAAA;AAAA,UACV,UAAY,EAAA,KAAA;AAAA,UACZ,UAAY,EAAA,MAAA;AAAA,UACZ,aAAe,EAAA,KAAA;AAAA,UACf,KAAO,EAAA,aAAA;AAAA,UACP,MAAQ,EAAA,cAAA;AAAA,SACV;AAAA,OAAA;AAAA,MAEC,WAAA;AAAA,KACH;AAAA,oBAEC,KAAA,CAAA,aAAA,CAAAC,8BAAA,EAAA,EAAmB,GAAK,EAAA,EAAE,KAAK,IAAK,EAAA,EAAA,kBAClC,KAAA,CAAA,aAAA,CAAAC,6BAAA,EAAA,EAAkB,OAAO,EAAA,IAAA,EAAC,OAAS,EAAA,QAAA,EAAA,sCACjCC,aAAO,EAAA,EAAA,KAAA,EAAOT,cAAO,CAAA,OAAA,EAAS,OAAS,EAAAU,gBAAA,CAAS,KAAO,EAAA,IAAA,EAAMC,oBAAY,KAAO,EAAA,QAAA,EAAU,SACxF,EAAA,EAAA,UACH,CACF,CAAA,kBAEC,KAAA,CAAA,aAAA,CAAAC,6BAAA,EAAA,EAAkB,SAAO,IACxB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAACH,aAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,SAAA;AAAA,QACT,YAAc,EAAA,gBAAA;AAAA,QACd,YAAc,EAAA,gBAAA;AAAA,QACd,KAAO,EAAA,kBAAA;AAAA,QACP,MAAME,mBAAY,CAAA,KAAA;AAAA,QAClB,OAAS,EAAA,aAAA;AAAA,OAAA;AAAA,MAER,WAAA;AAAA,KAEL,CACF,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ,EAAA;AAEA,gBAAA,CAAiB,cAAcE,+BAAwB,CAAA,iBAAA;;;;"}
1
+ {"version":3,"file":"edit-confirmation.js","sources":["../../../../src/commons/components/edit-confirmation.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n AlertDialog,\n AlertDialogContent,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogActions,\n AlertDialogCancel,\n AlertDialogAction,\n Button,\n} from \"@sparrowengg/twigs-react\";\ntype ConfirmationModalProps = {\n name: string;\n description: string;\n onConfirm: () => void | Promise<void>;\n onCancel: () => void;\n};\nconst EditConfirmation: React.FC<ConfirmationModalProps> = ({\n name,\n description,\n onConfirm,\n onCancel,\n}) => {\n const [isDeleteIconHover, setIsDeleteIconHover] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n return (\n <AlertDialog open={true}>\n <AlertDialogContent\n onOpenAutoFocus={(e) => e.preventDefault()}\n className=\"dm-sans\"\n css={{\n button: {\n borderRadius: \"8px\",\n },\n }}\n >\n <AlertDialogTitle\n css={{\n display: \"flex\",\n justifyContent: \"space-between\",\n border: \"none !important\",\n padding: \"24px $12 8px $12 !important\",\n }}\n >\n {name}\n </AlertDialogTitle>\n\n <AlertDialogDescription\n css={{\n overflowWrap: \"break-word\",\n padding: \"0px $12 0px $12 !important\",\n fontSize: \"$sm\",\n fontWeight: \"400\",\n lineHeight: \"20px\",\n letterSpacing: \"0px\",\n color: \"$neutral800\",\n margin: \"0 !important\",\n }}\n >\n {description}\n </AlertDialogDescription>\n\n <AlertDialogActions css={{ gap: \"$6\" }}>\n <AlertDialogCancel asChild onClick={onCancel}>\n <Button color=\"default\" variant=\"solid\" size=\"lg\">\n Cancel\n </Button>\n </AlertDialogCancel>\n\n <AlertDialogAction asChild>\n <Button\n loading={isLoading}\n onMouseEnter={() => setIsDeleteIconHover(true)}\n onMouseLeave={() => setIsDeleteIconHover(false)}\n color={isDeleteIconHover ? \"secondary\" : \"default\"}\n size=\"lg\"\n onClick={async () => {\n setIsLoading(true)\n await onConfirm()\n setIsLoading(false)\n }}\n >\n Confirm\n </Button>\n </AlertDialogAction>\n </AlertDialogActions>\n </AlertDialogContent>\n </AlertDialog>\n );\n};\nexport default EditConfirmation;\n"],"names":["useState","AlertDialog","AlertDialogContent","AlertDialogTitle","AlertDialogDescription","AlertDialogActions","AlertDialogCancel","Button","AlertDialogAction"],"mappings":";;;;;;;;AAiBA,MAAM,mBAAqD,CAAC;AAAA,EAC1D,IAAA;AAAA,EACA,WAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AACF,CAAM,KAAA;AACJ,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAChE,EAAA,MAAM,CAAC,SAAA,EAAW,YAAY,CAAA,GAAIA,eAAS,KAAK,CAAA,CAAA;AAChD,EACE,uBAAA,KAAA,CAAA,aAAA,CAACC,uBAAY,EAAA,EAAA,IAAA,EAAM,IACjB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,8BAAA;AAAA,IAAA;AAAA,MACC,eAAiB,EAAA,CAAC,CAAM,KAAA,CAAA,CAAE,cAAe,EAAA;AAAA,MACzC,SAAU,EAAA,SAAA;AAAA,MACV,GAAK,EAAA;AAAA,QACH,MAAQ,EAAA;AAAA,UACN,YAAc,EAAA,KAAA;AAAA,SAChB;AAAA,OACF;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,4BAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,OAAS,EAAA,MAAA;AAAA,UACT,cAAgB,EAAA,eAAA;AAAA,UAChB,MAAQ,EAAA,iBAAA;AAAA,UACR,OAAS,EAAA,6BAAA;AAAA,SACX;AAAA,OAAA;AAAA,MAEC,IAAA;AAAA,KACH;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,kCAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,YAAc,EAAA,YAAA;AAAA,UACd,OAAS,EAAA,4BAAA;AAAA,UACT,QAAU,EAAA,KAAA;AAAA,UACV,UAAY,EAAA,KAAA;AAAA,UACZ,UAAY,EAAA,MAAA;AAAA,UACZ,aAAe,EAAA,KAAA;AAAA,UACf,KAAO,EAAA,aAAA;AAAA,UACP,MAAQ,EAAA,cAAA;AAAA,SACV;AAAA,OAAA;AAAA,MAEC,WAAA;AAAA,KACH;AAAA,oBAEA,KAAA,CAAA,aAAA,CAACC,8BAAmB,EAAA,EAAA,GAAA,EAAK,EAAE,GAAA,EAAK,IAAK,EAAA,EAAA,kBAClC,KAAA,CAAA,aAAA,CAAAC,6BAAA,EAAA,EAAkB,OAAO,EAAA,IAAA,EAAC,OAAS,EAAA,QAAA,EAAA,kBACjC,KAAA,CAAA,aAAA,CAAAC,aAAA,EAAA,EAAO,KAAM,EAAA,SAAA,EAAU,OAAQ,EAAA,OAAA,EAAQ,IAAK,EAAA,IAAA,EAAA,EAAK,QAElD,CACF,CAEA,kBAAA,KAAA,CAAA,aAAA,CAACC,6BAAkB,EAAA,EAAA,OAAA,EAAO,IACxB,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,MAACD,aAAA;AAAA,MAAA;AAAA,QACC,OAAS,EAAA,SAAA;AAAA,QACT,YAAA,EAAc,MAAM,oBAAA,CAAqB,IAAI,CAAA;AAAA,QAC7C,YAAA,EAAc,MAAM,oBAAA,CAAqB,KAAK,CAAA;AAAA,QAC9C,KAAA,EAAO,oBAAoB,WAAc,GAAA,SAAA;AAAA,QACzC,IAAK,EAAA,IAAA;AAAA,QACL,SAAS,YAAY;AACnB,UAAA,YAAA,CAAa,IAAI,CAAA,CAAA;AACjB,UAAA,MAAM,SAAU,EAAA,CAAA;AAChB,UAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AAAA,SACpB;AAAA,OAAA;AAAA,MACD,SAAA;AAAA,KAGH,CACF,CAAA;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var strings = require('../constants/strings.js');
7
6
  var dialog = require('../../node_modules/@sparrowengg/twigs-react/dist/es/dialog/dialog.js');
8
7
  var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
9
8
  var heading = require('../../node_modules/@sparrowengg/twigs-react/dist/es/heading/heading.js');
@@ -13,29 +12,11 @@ var box = require('../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.j
13
12
  var formInput = require('../../node_modules/@sparrowengg/twigs-react/dist/es/input/form-input.js');
14
13
  var button = require('../../node_modules/@sparrowengg/twigs-react/dist/es/button/button.js');
15
14
 
16
- const DEFAULT_CONFIG = {
17
- title: strings.MODAL_TITLES.NEW_CUSTOM_PROPERTY,
18
- inputLabel: strings.FORM_LABELS.PROPERTY_NAME,
19
- saveButtonText: strings.BUTTON_TEXT.SAVE,
20
- cancelButtonText: strings.BUTTON_TEXT.CANCEL,
21
- iconColor: strings.COLORS.ICON_GRAY_DARK
22
- };
23
15
  const ImportModal = ({
24
- onClose,
25
- onInputChange,
26
- onSave,
27
- value = "",
28
- title = DEFAULT_CONFIG.title,
29
- inputLabel = DEFAULT_CONFIG.inputLabel,
30
- placeholder,
31
- isSaveDisabled = false
16
+ onCloseHandler,
17
+ onInputHandler,
18
+ onSaveHandler
32
19
  }) => {
33
- const handleInputChange = React.useCallback(
34
- (event) => {
35
- onInputChange(event.currentTarget.value);
36
- },
37
- [onInputChange]
38
- );
39
20
  return /* @__PURE__ */ React.createElement(dialog.Dialog, { open: true }, /* @__PURE__ */ React.createElement(
40
21
  dialog.DialogContent,
41
22
  {
@@ -54,21 +35,20 @@ const ImportModal = ({
54
35
  borderBottom: "$borderWidths$xs solid $neutral200"
55
36
  }
56
37
  },
57
- /* @__PURE__ */ React.createElement(heading.Heading, { size: "h6", css: { color: "$neutral900" } }, title),
38
+ /* @__PURE__ */ React.createElement(heading.Heading, { size: "h6", css: { color: "$neutral900" } }, "New Custom Property"),
58
39
  /* @__PURE__ */ React.createElement(
59
40
  iconButton.IconButton,
60
41
  {
61
- variant: strings.VARIANTS.GHOST,
62
- color: strings.COLORS.DEFAULT,
42
+ variant: "ghost",
43
+ color: "default",
63
44
  icon: /* @__PURE__ */ React.createElement(close.CloseIcon, null),
64
- size: strings.SIZE_VALUES.LARGE,
45
+ size: "lg",
65
46
  css: {
66
47
  "& svg": {
67
- color: `${DEFAULT_CONFIG.iconColor} !important`
48
+ color: "#64748B !important"
68
49
  }
69
50
  },
70
- onClick: onClose,
71
- "aria-label": strings.ARIA_LABELS.CLOSE_MODAL
51
+ onClick: onCloseHandler
72
52
  }
73
53
  )
74
54
  ),
@@ -82,12 +62,10 @@ const ImportModal = ({
82
62
  /* @__PURE__ */ React.createElement(
83
63
  formInput.FormInput,
84
64
  {
85
- label: inputLabel,
86
- value,
65
+ label: "Property Name",
87
66
  requiredIndicator: true,
88
- onChange: handleInputChange,
89
- size: strings.SIZE_VALUES.LARGE,
90
- placeholder
67
+ onChange: (event) => onInputHandler(event.currentTarget.value),
68
+ size: "lg"
91
69
  }
92
70
  )
93
71
  ),
@@ -103,26 +81,17 @@ const ImportModal = ({
103
81
  /* @__PURE__ */ React.createElement(
104
82
  button.Button,
105
83
  {
106
- size: strings.SIZE_VALUES.LARGE,
107
- variant: strings.VARIANTS.GHOST,
108
- color: strings.COLORS.DEFAULT,
109
- onClick: onClose
84
+ size: "lg",
85
+ variant: "ghost",
86
+ color: "default",
87
+ onClick: onCloseHandler
110
88
  },
111
- DEFAULT_CONFIG.cancelButtonText
89
+ "Cancel"
112
90
  ),
113
- /* @__PURE__ */ React.createElement(
114
- button.Button,
115
- {
116
- size: strings.SIZE_VALUES.LARGE,
117
- onClick: onSave,
118
- disabled: isSaveDisabled
119
- },
120
- DEFAULT_CONFIG.saveButtonText
121
- )
91
+ /* @__PURE__ */ React.createElement(button.Button, { size: "lg", onClick: onSaveHandler }, "Save")
122
92
  )
123
93
  ));
124
94
  };
125
- ImportModal.displayName = strings.COMPONENT_DISPLAY_NAMES.IMPORT_MODAL;
126
95
 
127
96
  exports.default = ImportModal;
128
97
  //# sourceMappingURL=import-modal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"import-modal.js","sources":["../../../../src/commons/components/import-modal.tsx"],"sourcesContent":["import React, { useCallback, ChangeEvent } from 'react';\nimport {\n Box,\n Button,\n Dialog,\n DialogContent,\n Flex,\n FormInput,\n Heading,\n IconButton,\n} from '@sparrowengg/twigs-react';\nimport { CloseIcon } from '@sparrowengg/twigs-react-icons';\nimport {\n MODAL_TITLES,\n FORM_LABELS,\n BUTTON_TEXT,\n COLORS,\n SIZE_VALUES,\n VARIANTS,\n ARIA_LABELS,\n COMPONENT_DISPLAY_NAMES,\n} from '../constants/strings';\n\n/**\n * Props for the ImportModal component\n */\nexport interface ImportModalProps {\n /** Callback invoked when the modal is closed */\n onClose: () => void;\n /** Callback invoked when the input value changes */\n onInputChange: (value: string) => void;\n /** Callback invoked when the save button is clicked */\n onSave: () => void;\n /** Optional: Current input value for controlled component */\n value?: string;\n /** Optional: Custom modal title (defaults to \"New Custom Property\") */\n title?: string;\n /** Optional: Custom input label (defaults to \"Property Name\") */\n inputLabel?: string;\n /** Optional: Custom input placeholder */\n placeholder?: string;\n /** Optional: Whether the save button is disabled */\n isSaveDisabled?: boolean;\n}\n\n/**\n * Default configuration for the import modal\n */\nconst DEFAULT_CONFIG = {\n title: MODAL_TITLES.NEW_CUSTOM_PROPERTY,\n inputLabel: FORM_LABELS.PROPERTY_NAME,\n saveButtonText: BUTTON_TEXT.SAVE,\n cancelButtonText: BUTTON_TEXT.CANCEL,\n iconColor: COLORS.ICON_GRAY_DARK,\n} as const;\n\n/**\n * ImportModal Component\n * \n * A modal dialog for creating a new custom property with form input.\n * Provides a clean interface for property name entry with validation support.\n * \n * @example\n * ```tsx\n * <ImportModal\n * onClose={handleClose}\n * onInputChange={handleInputChange}\n * onSave={handleSave}\n * value={propertyName}\n * />\n * ```\n */\nconst ImportModal: React.FC<ImportModalProps> = ({\n onClose,\n onInputChange,\n onSave,\n value = '',\n title = DEFAULT_CONFIG.title,\n inputLabel = DEFAULT_CONFIG.inputLabel,\n placeholder,\n isSaveDisabled = false,\n}) => {\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n onInputChange(event.currentTarget.value);\n },\n [onInputChange]\n );\n\n return (\n <Dialog open>\n <DialogContent\n css={{\n padding: 0,\n borderRadius: '$3xl',\n }}\n >\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n padding: '$8 $12',\n borderBottom: '$borderWidths$xs solid $neutral200',\n }}\n >\n <Heading size=\"h6\" css={{ color: '$neutral900' }}>\n {title}\n </Heading>\n <IconButton\n variant={VARIANTS.GHOST}\n color={COLORS.DEFAULT}\n icon={<CloseIcon />}\n size={SIZE_VALUES.LARGE}\n css={{\n '& svg': {\n color: `${DEFAULT_CONFIG.iconColor} !important`,\n },\n }}\n onClick={onClose}\n aria-label={ARIA_LABELS.CLOSE_MODAL}\n />\n </Flex>\n\n <Box\n css={{\n padding: '$12',\n }}\n >\n <FormInput\n label={inputLabel}\n value={value}\n requiredIndicator\n onChange={handleInputChange}\n size={SIZE_VALUES.LARGE}\n placeholder={placeholder}\n />\n </Box>\n\n <Flex\n gap=\"$4\"\n css={{\n justifyContent: 'flex-end',\n padding: '$8 $12',\n }}\n >\n <Button\n size={SIZE_VALUES.LARGE}\n variant={VARIANTS.GHOST}\n color={COLORS.DEFAULT}\n onClick={onClose}\n >\n {DEFAULT_CONFIG.cancelButtonText}\n </Button>\n <Button\n size={SIZE_VALUES.LARGE}\n onClick={onSave}\n disabled={isSaveDisabled}\n >\n {DEFAULT_CONFIG.saveButtonText}\n </Button>\n </Flex>\n </DialogContent>\n </Dialog>\n );\n};\n\nImportModal.displayName = COMPONENT_DISPLAY_NAMES.IMPORT_MODAL;\n\nexport default ImportModal;"],"names":["MODAL_TITLES","FORM_LABELS","BUTTON_TEXT","COLORS","useCallback","Dialog","DialogContent","Flex","Heading","IconButton","VARIANTS","CloseIcon","SIZE_VALUES","ARIA_LABELS","Box","FormInput","Button","COMPONENT_DISPLAY_NAMES"],"mappings":"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"}
1
+ {"version":3,"file":"import-modal.js","sources":["../../../../src/commons/components/import-modal.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Dialog,\n DialogContent,\n Flex,\n FormInput,\n Heading,\n IconButton,\n} from \"@sparrowengg/twigs-react\";\nimport { CloseIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React from \"react\";\n\ntype ImportModalProps = {\n onCloseHandler: () => void;\n onInputHandler: (value: string) => void;\n onSaveHandler: () => void;\n};\n\nconst ImportModal: React.FC<ImportModalProps> = ({\n onCloseHandler,\n onInputHandler,\n onSaveHandler,\n}) => {\n return (\n <Dialog open>\n <DialogContent\n css={{\n padding: 0,\n borderRadius: \"$3xl\",\n }}\n >\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n padding: \"$8 $12\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n }}\n >\n <Heading size=\"h6\" css={{ color: \"$neutral900\" }}>\n New Custom Property\n </Heading>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n icon={<CloseIcon />}\n size=\"lg\"\n css={{\n \"& svg\": {\n color: \"#64748B !important\",\n },\n }}\n onClick={onCloseHandler}\n />\n </Flex>\n <Box\n css={{\n padding: \"$12\",\n }}\n >\n <FormInput\n label={\"Property Name\"}\n requiredIndicator\n onChange={(event) => onInputHandler(event.currentTarget.value)}\n size=\"lg\"\n />\n </Box>\n <Flex\n gap=\"$4\"\n css={{\n justifyContent: \"flex-end\",\n padding: \"$8 $12\",\n }}\n >\n <Button\n size=\"lg\"\n variant=\"ghost\"\n color=\"default\"\n onClick={onCloseHandler}\n >\n Cancel\n </Button>\n <Button size=\"lg\" onClick={onSaveHandler}>\n Save\n </Button>\n </Flex>\n </DialogContent>\n </Dialog>\n );\n};\n\nexport default ImportModal;"],"names":["Dialog","DialogContent","Flex","Heading","IconButton","CloseIcon","Box","FormInput","Button"],"mappings":";;;;;;;;;;;;;;AAmBA,MAAM,cAA0C,CAAC;AAAA,EAC/C,cAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AACF,CAAM,KAAA;AACJ,EACE,uBAAA,KAAA,CAAA,aAAA,CAACA,aAAO,EAAA,EAAA,IAAA,EAAI,IACV,EAAA,kBAAA,KAAA,CAAA,aAAA;AAAA,IAACC,oBAAA;AAAA,IAAA;AAAA,MACC,GAAK,EAAA;AAAA,QACH,OAAS,EAAA,CAAA;AAAA,QACT,YAAc,EAAA,MAAA;AAAA,OAChB;AAAA,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,UAAW,EAAA,QAAA;AAAA,QACX,cAAe,EAAA,eAAA;AAAA,QACf,GAAK,EAAA;AAAA,UACH,OAAS,EAAA,QAAA;AAAA,UACT,YAAc,EAAA,oCAAA;AAAA,SAChB;AAAA,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA,CAACC,mBAAQ,IAAK,EAAA,IAAA,EAAK,KAAK,EAAE,KAAA,EAAO,aAAc,EAAA,EAAA,EAAG,qBAElD,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA;AAAA,QAACC,qBAAA;AAAA,QAAA;AAAA,UACC,OAAQ,EAAA,OAAA;AAAA,UACR,KAAM,EAAA,SAAA;AAAA,UACN,IAAA,sCAAOC,eAAU,EAAA,IAAA,CAAA;AAAA,UACjB,IAAK,EAAA,IAAA;AAAA,UACL,GAAK,EAAA;AAAA,YACH,OAAS,EAAA;AAAA,cACP,KAAO,EAAA,oBAAA;AAAA,aACT;AAAA,WACF;AAAA,UACA,OAAS,EAAA,cAAA;AAAA,SAAA;AAAA,OACX;AAAA,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,GAAK,EAAA;AAAA,UACH,OAAS,EAAA,KAAA;AAAA,SACX;AAAA,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACC,mBAAA;AAAA,QAAA;AAAA,UACC,KAAO,EAAA,eAAA;AAAA,UACP,iBAAiB,EAAA,IAAA;AAAA,UACjB,UAAU,CAAC,KAAA,KAAU,cAAe,CAAA,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA,UAC7D,IAAK,EAAA,IAAA;AAAA,SAAA;AAAA,OACP;AAAA,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACL,SAAA;AAAA,MAAA;AAAA,QACC,GAAI,EAAA,IAAA;AAAA,QACJ,GAAK,EAAA;AAAA,UACH,cAAgB,EAAA,UAAA;AAAA,UAChB,OAAS,EAAA,QAAA;AAAA,SACX;AAAA,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACM,aAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,IAAA;AAAA,UACL,OAAQ,EAAA,OAAA;AAAA,UACR,KAAM,EAAA,SAAA;AAAA,UACN,OAAS,EAAA,cAAA;AAAA,SAAA;AAAA,QACV,QAAA;AAAA,OAED;AAAA,0CACCA,aAAO,EAAA,EAAA,IAAA,EAAK,IAAK,EAAA,OAAA,EAAS,iBAAe,MAE1C,CAAA;AAAA,KACF;AAAA,GAEJ,CAAA,CAAA;AAEJ;;;;"}
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var strings = require('../constants/strings.js');
7
6
  var stitches_config = require('../../node_modules/@sparrowengg/twigs-react/dist/es/stitches.config.js');
8
7
  var box = require('../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
9
8
 
@@ -42,22 +41,9 @@ const StyledBox = stitches_config.styled(box.Box, {
42
41
  size: "md"
43
42
  }
44
43
  });
45
- const Spinner = ({
46
- size = strings.SIZE_VALUES.MEDIUM,
47
- className,
48
- ariaLabel = strings.ARIA_LABELS.LOADING
49
- }) => {
50
- return /* @__PURE__ */ React.createElement(
51
- StyledBox,
52
- {
53
- size,
54
- className,
55
- role: strings.ATTRIBUTES.STATUS,
56
- "aria-label": ariaLabel
57
- }
58
- );
44
+ const Spinner = ({ size = "md" }) => {
45
+ return /* @__PURE__ */ React.createElement(StyledBox, { size });
59
46
  };
60
- Spinner.displayName = strings.COMPONENT_DISPLAY_NAMES.SPINNER;
61
47
 
62
48
  exports.default = Spinner;
63
49
  //# sourceMappingURL=spinner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spinner.js","sources":["../../../../src/commons/components/spinner.tsx"],"sourcesContent":["import React from 'react';\nimport { keyframes, Box, styled } from '@sparrowengg/twigs-react';\nimport { SIZE_VALUES, ARIA_LABELS, ATTRIBUTES, COMPONENT_DISPLAY_NAMES } from '../constants/strings';\n\n/**\n * Available spinner sizes\n */\nexport type SpinnerSize = 'sm' | 'md';\n\n/**\n * Props for the Spinner component\n */\nexport interface SpinnerProps {\n /** Size variant of the spinner */\n size?: SpinnerSize;\n /** Optional: Additional CSS class name */\n className?: string;\n /** Optional: ARIA label for accessibility */\n ariaLabel?: string;\n}\n\n/**\n * Keyframe animation for spinner rotation\n */\nconst spin = keyframes({\n '0%': { transform: 'rotate(0deg)' },\n '100%': { transform: 'rotate(360deg)' },\n});\n\n/**\n * Styled spinner component with size variants\n */\nconst StyledBox = styled(Box, {\n borderRadius: '50%',\n width: '$7',\n height: '$7',\n borderStyle: 'solid',\n borderWidth: '$md',\n borderBottomColor: '$neutral400',\n borderRightColor: '$neutral400',\n borderTopColor: '$black900',\n borderLeftColor: '$black900',\n animationDuration: '800ms',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n willChange: 'transform',\n animationName: `${spin}`,\n variants: {\n size: {\n sm: {\n width: '$5',\n height: '$5',\n },\n md: {\n width: '$7',\n height: '$7',\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\n/**\n * Spinner Component\n * \n * A loading spinner with customizable size.\n * Provides visual feedback during async operations.\n * \n * @example\n * ```tsx\n * <Spinner size=\"md\" ariaLabel=\"Loading content\" />\n * ```\n */\nconst Spinner: React.FC<SpinnerProps> = ({\n size = SIZE_VALUES.MEDIUM,\n className,\n ariaLabel = ARIA_LABELS.LOADING,\n}) => {\n return (\n <StyledBox\n size={size}\n className={className}\n role={ATTRIBUTES.STATUS}\n aria-label={ariaLabel}\n />\n );\n};\n\nSpinner.displayName = COMPONENT_DISPLAY_NAMES.SPINNER;\n\nexport default Spinner;"],"names":["keyframes","styled","Box","SIZE_VALUES","ARIA_LABELS","ATTRIBUTES","COMPONENT_DISPLAY_NAMES"],"mappings":";;;;;;;;;AAwBA,MAAM,OAAOA,yBAAU,CAAA;AAAA,EACrB,IAAA,EAAM,EAAE,SAAA,EAAW,cAAe,EAAA;AAAA,EAClC,MAAA,EAAQ,EAAE,SAAA,EAAW,gBAAiB,EAAA;AACxC,CAAC,CAAA,CAAA;AAKD,MAAM,SAAA,GAAYC,uBAAOC,OAAK,EAAA;AAAA,EAC5B,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,IAAA;AAAA,EACP,MAAQ,EAAA,IAAA;AAAA,EACR,WAAa,EAAA,OAAA;AAAA,EACb,WAAa,EAAA,KAAA;AAAA,EACb,iBAAmB,EAAA,aAAA;AAAA,EACnB,gBAAkB,EAAA,aAAA;AAAA,EAClB,cAAgB,EAAA,WAAA;AAAA,EAChB,eAAiB,EAAA,WAAA;AAAA,EACjB,iBAAmB,EAAA,OAAA;AAAA,EACnB,uBAAyB,EAAA,QAAA;AAAA,EACzB,uBAAyB,EAAA,UAAA;AAAA,EACzB,UAAY,EAAA,WAAA;AAAA,EACZ,aAAA,EAAe,GAAG,IAAI,CAAA,CAAA;AAAA,EACtB,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,EAAI,EAAA;AAAA,QACF,KAAO,EAAA,IAAA;AAAA,QACP,MAAQ,EAAA,IAAA;AAAA,OACV;AAAA,MACA,EAAI,EAAA;AAAA,QACF,KAAO,EAAA,IAAA;AAAA,QACP,MAAQ,EAAA,IAAA;AAAA,OACV;AAAA,KACF;AAAA,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,IAAA;AAAA,GACR;AACF,CAAC,CAAA,CAAA;AAaD,MAAM,UAAkC,CAAC;AAAA,EACvC,OAAOC,mBAAY,CAAA,MAAA;AAAA,EACnB,SAAA;AAAA,EACA,YAAYC,mBAAY,CAAA,OAAA;AAC1B,CAAM,KAAA;AACJ,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAMC,kBAAW,CAAA,MAAA;AAAA,MACjB,YAAY,EAAA,SAAA;AAAA,KAAA;AAAA,GACd,CAAA;AAEJ,EAAA;AAEA,OAAA,CAAQ,cAAcC,+BAAwB,CAAA,OAAA;;;;"}
1
+ {"version":3,"file":"spinner.js","sources":["../../../../src/commons/components/spinner.tsx"],"sourcesContent":["import React from \"react\";\nimport { keyframes, Box, styled } from \"@sparrowengg/twigs-react\";\n\nconst spin = keyframes({\n \"0%\": { transform: \"rotate(0deg)\" },\n \"100%\": { transform: \"rotate(360deg)\" },\n});\n\nconst StyledBox = styled(Box, {\n borderRadius: \"50%\",\n width: \"$7\",\n height: \"$7\",\n borderStyle: \"solid\",\n borderWidth: \"$md\",\n borderBottomColor: \"$neutral400\",\n borderRightColor: \"$neutral400\",\n borderTopColor: \"$black900\",\n borderLeftColor: \"$black900\",\n animationDuration: \"800ms\",\n animationTimingFunction: \"linear\",\n animationIterationCount: \"infinite\",\n willChange: \"transform\",\n animationName: `${spin}`,\n variants: {\n size: {\n sm: {\n width: \"$5\",\n height: \"$5\",\n },\n md: {\n width: \"$7\",\n height: \"$7\",\n },\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n});\n\ntype SpinnerProps = {\n size?: \"md\" | \"sm\";\n};\n\nconst Spinner: React.FC<SpinnerProps> = ({ size = \"md\" }) => {\n return <StyledBox size={size} />;\n};\n\nexport default Spinner;"],"names":["keyframes","styled","Box"],"mappings":";;;;;;;;AAGA,MAAM,OAAOA,yBAAU,CAAA;AAAA,EACrB,IAAA,EAAM,EAAE,SAAA,EAAW,cAAe,EAAA;AAAA,EAClC,MAAA,EAAQ,EAAE,SAAA,EAAW,gBAAiB,EAAA;AACxC,CAAC,CAAA,CAAA;AAED,MAAM,SAAA,GAAYC,uBAAOC,OAAK,EAAA;AAAA,EAC5B,YAAc,EAAA,KAAA;AAAA,EACd,KAAO,EAAA,IAAA;AAAA,EACP,MAAQ,EAAA,IAAA;AAAA,EACR,WAAa,EAAA,OAAA;AAAA,EACb,WAAa,EAAA,KAAA;AAAA,EACb,iBAAmB,EAAA,aAAA;AAAA,EACnB,gBAAkB,EAAA,aAAA;AAAA,EAClB,cAAgB,EAAA,WAAA;AAAA,EAChB,eAAiB,EAAA,WAAA;AAAA,EACjB,iBAAmB,EAAA,OAAA;AAAA,EACnB,uBAAyB,EAAA,QAAA;AAAA,EACzB,uBAAyB,EAAA,UAAA;AAAA,EACzB,UAAY,EAAA,WAAA;AAAA,EACZ,aAAA,EAAe,GAAG,IAAI,CAAA,CAAA;AAAA,EACtB,QAAU,EAAA;AAAA,IACR,IAAM,EAAA;AAAA,MACJ,EAAI,EAAA;AAAA,QACF,KAAO,EAAA,IAAA;AAAA,QACP,MAAQ,EAAA,IAAA;AAAA,OACV;AAAA,MACA,EAAI,EAAA;AAAA,QACF,KAAO,EAAA,IAAA;AAAA,QACP,MAAQ,EAAA,IAAA;AAAA,OACV;AAAA,KACF;AAAA,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,IAAM,EAAA,IAAA;AAAA,GACR;AACF,CAAC,CAAA,CAAA;AAMD,MAAM,OAAkC,GAAA,CAAC,EAAE,IAAA,GAAO,MAAW,KAAA;AAC3D,EAAO,uBAAA,KAAA,CAAA,aAAA,CAAC,aAAU,IAAY,EAAA,CAAA,CAAA;AAChC;;;;"}
@@ -3,19 +3,22 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var strings = require('../constants/strings.js');
7
6
  var themeProvider = require('../../node_modules/@sparrowengg/twigs-react/dist/es/theme-provider/theme-provider.js');
8
7
 
9
- const THEME_CONFIG = {
10
- fonts: {
11
- body: strings.FONT_FAMILIES.DM_SANS_ROBOTO_MONO_SANS_SERIF,
12
- heading: strings.FONT_FAMILIES.DM_SANS_ROBOTO_MONO_SANS_SERIF
13
- }
14
- };
15
8
  const ThemeWrapper = ({ children }) => {
16
- return /* @__PURE__ */ React.createElement(themeProvider.ThemeProvider, { theme: THEME_CONFIG }, children);
9
+ return /* @__PURE__ */ React.createElement(
10
+ themeProvider.ThemeProvider,
11
+ {
12
+ theme: {
13
+ fonts: {
14
+ body: "DM Sans, Roboto Mono, sans-serif",
15
+ heading: "DM Sans, Roboto Mono, sans-serif"
16
+ }
17
+ }
18
+ },
19
+ children
20
+ );
17
21
  };
18
- ThemeWrapper.displayName = strings.COMPONENT_DISPLAY_NAMES.THEME_WRAPPER;
19
22
 
20
23
  exports.default = ThemeWrapper;
21
24
  //# sourceMappingURL=theme-wrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-wrapper.js","sources":["../../../../src/commons/components/theme-wrapper.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { ThemeProvider } from '@sparrowengg/twigs-react';\nimport { FONT_FAMILIES, COMPONENT_DISPLAY_NAMES } from '../constants/strings';\n\n/**\n * Props for the ThemeWrapper component\n */\nexport interface ThemeWrapperProps {\n /** Child components to be wrapped with the theme provider */\n children: ReactNode;\n}\n\n/**\n * Theme configuration for the application\n */\nconst THEME_CONFIG = {\n fonts: {\n body: FONT_FAMILIES.DM_SANS_ROBOTO_MONO_SANS_SERIF,\n heading: FONT_FAMILIES.DM_SANS_ROBOTO_MONO_SANS_SERIF,\n },\n} as const;\n\n/**\n * ThemeWrapper Component\n * \n * A wrapper component that provides consistent theme configuration\n * to all child components using the Twigs theme system.\n * \n * @example\n * ```tsx\n * <ThemeWrapper>\n * <App />\n * </ThemeWrapper>\n * ```\n */\nconst ThemeWrapper: React.FC<ThemeWrapperProps> = ({ children }) => {\n return <ThemeProvider theme={THEME_CONFIG}>{children}</ThemeProvider>;\n};\n\nThemeWrapper.displayName = COMPONENT_DISPLAY_NAMES.THEME_WRAPPER;\n\nexport default ThemeWrapper;\n"],"names":["FONT_FAMILIES","ThemeProvider","COMPONENT_DISPLAY_NAMES"],"mappings":";;;;;;;;AAeA,MAAM,YAAe,GAAA;AAAA,EACnB,KAAO,EAAA;AAAA,IACL,MAAMA,qBAAc,CAAA,8BAAA;AAAA,IACpB,SAASA,qBAAc,CAAA,8BAAA;AAAA,GACzB;AACF,CAAA,CAAA;AAeA,MAAM,YAA4C,GAAA,CAAC,EAAE,QAAA,EAAe,KAAA;AAClE,EAAA,uBAAQ,KAAA,CAAA,aAAA,CAAAC,2BAAA,EAAA,EAAc,KAAO,EAAA,YAAA,EAAA,EAAe,QAAS,CAAA,CAAA;AACvD,EAAA;AAEA,YAAA,CAAa,cAAcC,+BAAwB,CAAA,aAAA;;;;"}
1
+ {"version":3,"file":"theme-wrapper.js","sources":["../../../../src/commons/components/theme-wrapper.tsx"],"sourcesContent":["import { ThemeProvider, Flex } from \"@sparrowengg/twigs-react\";\nimport React, { ReactNode } from \"react\";\n\nconst ThemeWrapper = ({ children }: { children: ReactNode }) => {\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 {children}\n </ThemeProvider>\n );\n};\n\nexport default ThemeWrapper;\n"],"names":["ThemeProvider"],"mappings":";;;;;;;AAGA,MAAM,YAAe,GAAA,CAAC,EAAE,QAAA,EAAwC,KAAA;AAC9D,EACE,uBAAA,KAAA,CAAA,aAAA;AAAA,IAACA,2BAAA;AAAA,IAAA;AAAA,MACC,KAAO,EAAA;AAAA,QACL,KAAO,EAAA;AAAA,UACL,IAAM,EAAA,kCAAA;AAAA,UACN,OAAS,EAAA,kCAAA;AAAA,SACX;AAAA,OACF;AAAA,KAAA;AAAA,IAEC,QAAA;AAAA,GACH,CAAA;AAEJ;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced.js","sources":["../../../../src/commons/constants/enhanced.ts"],"sourcesContent":["import { SelectOption, DateOption, FilterCondition } from '../types/enhanced';\n\n// API Constants\nexport const API_ENDPOINTS = {\n SURVEY_SPARROW: 'https://api.surveysparrow.com',\n SURVEY_QUESTIONS: '/surveys/:surveyId/questions',\n SURVEY_VARIABLES: '/surveys/:surveyId/variables',\n SURVEY_EXPRESSIONS: '/surveys/:surveyId/expressions',\n CONTACT_PROPERTIES: '/contact-properties',\n SURVEY_CHANNELS: '/surveys/:surveyId/channels',\n} as const;\n\n// UI Constants\nexport const UI_CONSTANTS = {\n FORM_WIDTH: 488,\n MODAL_MAX_WIDTH: 600,\n INPUT_MAX_LENGTH: 30,\n TABLE_PAGE_SIZE: 10,\n MAX_FILTER_CONDITIONS: 5,\n DEBOUNCE_DELAY: 300,\n} as const;\n\n// CSS Spacing (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\n// Field Types\nexport const FIELD_TYPES = {\n TEXT: 'text',\n EMAIL: 'email',\n PASSWORD: 'password',\n NUMBER: 'number',\n DATE: 'date',\n SELECT: 'select',\n CHECKBOX: 'checkbox',\n RADIO: 'radio',\n TEXTAREA: 'textarea',\n} as const;\n\n// Integration Field Types\nexport const INTEGRATION_FIELD_TYPES = {\n STRING: 'STRING',\n NUMBER: 'NUMBER',\n BOOLEAN: 'BOOLEAN',\n DATE_TIME: 'DATE_TIME',\n EMAIL: 'EMAIL',\n PHONE: 'PHONE',\n URL: 'URL',\n} as const;\n\n// Survey Types\nexport const SURVEY_TYPES = {\n CLASSIC: 'classic',\n NPS: 'nps',\n CHAT: 'chat',\n KIOSK: 'kiosk',\n} as const;\n\n// Mapping Types\nexport const MAPPING_TYPES: SelectOption[] = [\n { label: 'Question', value: 'QUESTION' },\n { label: 'Contact', value: 'CONTACT' },\n { label: 'Variable', value: 'VARIABLE' },\n { label: 'Expression', value: 'EXPRESSION' },\n { label: 'Submission Property', value: 'SUBMISSION_PROPERTY' },\n];\n\n// Data Type Options for Integration Fields\nexport const DATA_TYPE_OPTIONS: SelectOption[] = [\n {\n label: 'String',\n value: 'STRING',\n },\n {\n label: 'Number',\n value: 'NUMBER',\n },\n {\n label: 'Boolean',\n value: 'BOOLEAN',\n },\n {\n label: 'Date/Time',\n value: 'DATE_TIME',\n },\n];\n\n// Filter Operators\nexport const FILTER_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];\n\n// Boolean Options\nexport const BOOLEAN_OPTIONS: SelectOption[] = [\n { label: 'True', value: 'true' },\n { label: 'False', value: 'false' },\n];\n\n// Date Options\nexport const DATE_OPTIONS: DateOption[] = [\n {\n label: 'Today',\n value: 'today',\n type: 'dynamic',\n },\n {\n label: 'Yesterday',\n value: 'yesterday',\n type: 'dynamic',\n },\n {\n label: 'Last 7 days',\n value: 'last_7_days',\n type: 'dynamic',\n },\n {\n label: 'Last 30 days',\n value: 'last_30_days',\n type: 'dynamic',\n },\n {\n label: 'Last 3 months',\n value: 'last_3_months',\n type: 'dynamic',\n },\n {\n label: 'Custom Date',\n value: 'custom',\n type: 'static',\n },\n];\n\n// Submission Properties for Classic Surveys\nexport const CLASSIC_SUBMISSION_PROPERTIES: SelectOption[] = [\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];\n\n// Submission Properties for NPS Surveys\nexport const NPS_SUBMISSION_PROPERTIES: SelectOption[] = [\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];\n\n// Contact Import Frequencies\nexport const IMPORT_FREQUENCIES: SelectOption[] = [\n { label: 'One Time', value: 'oneTime' },\n { label: 'Daily', value: 'daily' },\n { label: 'Weekly', value: 'weekly' },\n { label: 'Monthly', value: 'monthly' },\n];\n\n// Time Zones (Common ones)\nexport const TIME_ZONES: SelectOption[] = [\n { label: 'UTC', value: 'UTC' },\n { label: 'America/New_York', value: 'America/New_York' },\n { label: 'America/Los_Angeles', value: 'America/Los_Angeles' },\n { label: 'Europe/London', value: 'Europe/London' },\n { label: 'Asia/Kolkata', value: 'Asia/Kolkata' },\n { label: 'Asia/Tokyo', value: 'Asia/Tokyo' },\n];\n\n// Notification Channels\nexport const NOTIFICATION_CHANNELS: SelectOption[] = [\n { label: 'Email', value: 'email' },\n { label: 'SMS', value: 'sms' },\n { label: 'WhatsApp', value: 'whatsapp' },\n { label: 'Slack', value: 'slack' },\n { label: 'Webhook', value: 'webhook' },\n];\n\n// Status Options\nexport const STATUS_OPTIONS = {\n PENDING: 'pending',\n IN_PROGRESS: 'in_progress',\n COMPLETED: 'completed',\n FAILED: 'failed',\n CANCELLED: 'cancelled',\n} as const;\n\n// Error Messages\nexport const ERROR_MESSAGES = {\n REQUIRED_FIELD: 'This field is required',\n INVALID_EMAIL: 'Please enter a valid email address',\n INVALID_PHONE: 'Please enter a valid phone number',\n INVALID_URL: 'Please enter a valid URL',\n MIN_LENGTH: (min: number) => `Minimum ${min} characters required`,\n MAX_LENGTH: (max: number) => `Maximum ${max} characters allowed`,\n NETWORK_ERROR: 'Network error. Please try again.',\n GENERIC_ERROR: 'Something went wrong. Please try again.',\n} as const;\n\n// Success Messages\nexport const SUCCESS_MESSAGES = {\n SAVED: 'Saved successfully',\n UPDATED: 'Updated successfully',\n DELETED: 'Deleted successfully',\n IMPORTED: 'Import completed successfully',\n EXPORTED: 'Export completed successfully',\n} as const;\n\n// Loading Messages\nexport const LOADING_MESSAGES = {\n SAVING: 'Saving...',\n LOADING: 'Loading...',\n PROCESSING: 'Processing...',\n IMPORTING: 'Importing...',\n EXPORTING: 'Exporting...',\n} as const;\n\n// Default Values\nexport const DEFAULT_VALUES = {\n PAGE_SIZE: 10,\n DEBOUNCE_DELAY: 300,\n TOAST_DURATION: 3000,\n MAX_FILE_SIZE: 5 * 1024 * 1024, // 5MB\n SUPPORTED_FILE_TYPES: ['.csv', '.xlsx', '.json'],\n} as const;\n\n// Validation Rules\nexport const VALIDATION_RULES = {\n EMAIL_REGEX: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\n PHONE_REGEX: /^\\+?[\\d\\s\\-\\(\\)]+$/,\n URL_REGEX: /^https?:\\/\\/.+/,\n MIN_PASSWORD_LENGTH: 8,\n MAX_TEXT_LENGTH: 255,\n MAX_TEXTAREA_LENGTH: 1000,\n} as const;\n\n// Re-export string constants\nexport * from './strings';\n"],"names":[],"mappings":";;AAmEO,MAAM,aAAgC,GAAA;AAAA,EAC3C,EAAE,KAAA,EAAO,UAAY,EAAA,KAAA,EAAO,UAAW,EAAA;AAAA,EACvC,EAAE,KAAA,EAAO,SAAW,EAAA,KAAA,EAAO,SAAU,EAAA;AAAA,EACrC,EAAE,KAAA,EAAO,UAAY,EAAA,KAAA,EAAO,UAAW,EAAA;AAAA,EACvC,EAAE,KAAA,EAAO,YAAc,EAAA,KAAA,EAAO,YAAa,EAAA;AAAA,EAC3C,EAAE,KAAA,EAAO,qBAAuB,EAAA,KAAA,EAAO,qBAAsB,EAAA;AAC/D;;;;"}
1
+ {"version":3,"file":"enhanced.js","sources":["../../../../src/commons/constants/enhanced.ts"],"sourcesContent":["import { SelectOption, DateOption, FilterCondition } from '../types/enhanced';\n\n// API Constants\nexport const API_ENDPOINTS = {\n SURVEY_SPARROW: 'https://api.surveysparrow.com',\n SURVEY_QUESTIONS: '/surveys/:surveyId/questions',\n SURVEY_VARIABLES: '/surveys/:surveyId/variables',\n SURVEY_EXPRESSIONS: '/surveys/:surveyId/expressions',\n CONTACT_PROPERTIES: '/contact-properties',\n SURVEY_CHANNELS: '/surveys/:surveyId/channels',\n} as const;\n\n// UI Constants\nexport const UI_CONSTANTS = {\n FORM_WIDTH: 488,\n MODAL_MAX_WIDTH: 600,\n INPUT_MAX_LENGTH: 30,\n TABLE_PAGE_SIZE: 10,\n MAX_FILTER_CONDITIONS: 5,\n DEBOUNCE_DELAY: 300,\n} as const;\n\n// CSS Spacing (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\n// Field Types\nexport const FIELD_TYPES = {\n TEXT: 'text',\n EMAIL: 'email',\n PASSWORD: 'password',\n NUMBER: 'number',\n DATE: 'date',\n SELECT: 'select',\n CHECKBOX: 'checkbox',\n RADIO: 'radio',\n TEXTAREA: 'textarea',\n} as const;\n\n// Integration Field Types\nexport const INTEGRATION_FIELD_TYPES = {\n STRING: 'STRING',\n NUMBER: 'NUMBER',\n BOOLEAN: 'BOOLEAN',\n DATE_TIME: 'DATE_TIME',\n EMAIL: 'EMAIL',\n PHONE: 'PHONE',\n URL: 'URL',\n} as const;\n\n// Survey Types\nexport const SURVEY_TYPES = {\n CLASSIC: 'classic',\n NPS: 'nps',\n CHAT: 'chat',\n KIOSK: 'kiosk',\n} as const;\n\n// Mapping Types\nexport const MAPPING_TYPES: SelectOption[] = [\n { label: 'Question', value: 'QUESTION' },\n { label: 'Contact', value: 'CONTACT' },\n { label: 'Variable', value: 'VARIABLE' },\n { label: 'Expression', value: 'EXPRESSION' },\n { label: 'Submission Property', value: 'SUBMISSION_PROPERTY' },\n];\n\n// Data Type Options for Integration Fields\nexport const DATA_TYPE_OPTIONS: SelectOption[] = [\n {\n label: 'String',\n value: 'STRING',\n },\n {\n label: 'Number',\n value: 'NUMBER',\n },\n {\n label: 'Boolean',\n value: 'BOOLEAN',\n },\n {\n label: 'Date/Time',\n value: 'DATE_TIME',\n },\n];\n\n// Filter Operators\nexport const FILTER_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];\n\n// Boolean Options\nexport const BOOLEAN_OPTIONS: SelectOption[] = [\n { label: 'True', value: 'true' },\n { label: 'False', value: 'false' },\n];\n\n// Date Options\nexport const DATE_OPTIONS: DateOption[] = [\n {\n label: 'Today',\n value: 'today',\n type: 'dynamic',\n },\n {\n label: 'Yesterday',\n value: 'yesterday',\n type: 'dynamic',\n },\n {\n label: 'Last 7 days',\n value: 'last_7_days',\n type: 'dynamic',\n },\n {\n label: 'Last 30 days',\n value: 'last_30_days',\n type: 'dynamic',\n },\n {\n label: 'Last 3 months',\n value: 'last_3_months',\n type: 'dynamic',\n },\n {\n label: 'Custom Date',\n value: 'custom',\n type: 'static',\n },\n];\n\n// Submission Properties for Classic Surveys\nexport const CLASSIC_SUBMISSION_PROPERTIES: SelectOption[] = [\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];\n\n// Submission Properties for NPS Surveys\nexport const NPS_SUBMISSION_PROPERTIES: SelectOption[] = [\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];\n\n// Contact Import Frequencies\nexport const IMPORT_FREQUENCIES: SelectOption[] = [\n { label: 'One Time', value: 'oneTime' },\n { label: 'Daily', value: 'daily' },\n { label: 'Weekly', value: 'weekly' },\n { label: 'Monthly', value: 'monthly' },\n];\n\n// Time Zones (Common ones)\nexport const TIME_ZONES: SelectOption[] = [\n { label: 'UTC', value: 'UTC' },\n { label: 'America/New_York', value: 'America/New_York' },\n { label: 'America/Los_Angeles', value: 'America/Los_Angeles' },\n { label: 'Europe/London', value: 'Europe/London' },\n { label: 'Asia/Kolkata', value: 'Asia/Kolkata' },\n { label: 'Asia/Tokyo', value: 'Asia/Tokyo' },\n];\n\n// Notification Channels\nexport const NOTIFICATION_CHANNELS: SelectOption[] = [\n { label: 'Email', value: 'email' },\n { label: 'SMS', value: 'sms' },\n { label: 'WhatsApp', value: 'whatsapp' },\n { label: 'Slack', value: 'slack' },\n { label: 'Webhook', value: 'webhook' },\n];\n\n// Status Options\nexport const STATUS_OPTIONS = {\n PENDING: 'pending',\n IN_PROGRESS: 'in_progress',\n COMPLETED: 'completed',\n FAILED: 'failed',\n CANCELLED: 'cancelled',\n} as const;\n\n// Error Messages\nexport const ERROR_MESSAGES = {\n REQUIRED_FIELD: 'This field is required',\n INVALID_EMAIL: 'Please enter a valid email address',\n INVALID_PHONE: 'Please enter a valid phone number',\n INVALID_URL: 'Please enter a valid URL',\n MIN_LENGTH: (min: number) => `Minimum ${min} characters required`,\n MAX_LENGTH: (max: number) => `Maximum ${max} characters allowed`,\n NETWORK_ERROR: 'Network error. Please try again.',\n GENERIC_ERROR: 'Something went wrong. Please try again.',\n} as const;\n\n// Success Messages\nexport const SUCCESS_MESSAGES = {\n SAVED: 'Saved successfully',\n UPDATED: 'Updated successfully',\n DELETED: 'Deleted successfully',\n IMPORTED: 'Import completed successfully',\n EXPORTED: 'Export completed successfully',\n} as const;\n\n// Loading Messages\nexport const LOADING_MESSAGES = {\n SAVING: 'Saving...',\n LOADING: 'Loading...',\n PROCESSING: 'Processing...',\n IMPORTING: 'Importing...',\n EXPORTING: 'Exporting...',\n} as const;\n\n// Default Values\nexport const DEFAULT_VALUES = {\n PAGE_SIZE: 10,\n DEBOUNCE_DELAY: 300,\n TOAST_DURATION: 3000,\n MAX_FILE_SIZE: 5 * 1024 * 1024, // 5MB\n SUPPORTED_FILE_TYPES: ['.csv', '.xlsx', '.json'],\n} as const;\n\n// Validation Rules\nexport const VALIDATION_RULES = {\n EMAIL_REGEX: /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/,\n PHONE_REGEX: /^\\+?[\\d\\s\\-\\(\\)]+$/,\n URL_REGEX: /^https?:\\/\\/.+/,\n MIN_PASSWORD_LENGTH: 8,\n MAX_TEXT_LENGTH: 255,\n MAX_TEXTAREA_LENGTH: 1000,\n} as const;\n"],"names":[],"mappings":";;AAmEO,MAAM,aAAgC,GAAA;AAAA,EAC3C,EAAE,KAAA,EAAO,UAAY,EAAA,KAAA,EAAO,UAAW,EAAA;AAAA,EACvC,EAAE,KAAA,EAAO,SAAW,EAAA,KAAA,EAAO,SAAU,EAAA;AAAA,EACrC,EAAE,KAAA,EAAO,UAAY,EAAA,KAAA,EAAO,UAAW,EAAA;AAAA,EACvC,EAAE,KAAA,EAAO,YAAc,EAAA,KAAA,EAAO,YAAa,EAAA;AAAA,EAC3C,EAAE,KAAA,EAAO,qBAAuB,EAAA,KAAA,EAAO,qBAAsB,EAAA;AAC/D;;;;"}
@@ -1,7 +1,5 @@
1
1
  'use strict';
2
2
 
3
- var strings = require('../constants/strings.js');
4
-
5
3
  var __defProp = Object.defineProperty;
6
4
  var __defProps = Object.defineProperties;
7
5
  var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
@@ -21,84 +19,50 @@ var __spreadValues = (a, b) => {
21
19
  return a;
22
20
  };
23
21
  var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- const MAPPING_TYPES = {
25
- QUESTION: strings.HELPER_STRINGS.MAPPING_TYPES.QUESTION,
26
- CONTACT: strings.HELPER_STRINGS.MAPPING_TYPES.CONTACT,
27
- VARIABLE: strings.HELPER_STRINGS.MAPPING_TYPES.VARIABLE,
28
- EXPRESSION: strings.HELPER_STRINGS.MAPPING_TYPES.EXPRESSION,
29
- SUBMISSION_PROPERTY: strings.HELPER_STRINGS.MAPPING_TYPES.SUBMISSION_PROPERTY
30
- };
31
- const SURVEY_TYPES = {
32
- CLASSIC_FORM: strings.HELPER_STRINGS.SURVEY_TYPES.CLASSIC_FORM
33
- };
34
- const EXCLUDED_QUESTION_TYPES = strings.HELPER_STRINGS.EXCLUDED_QUESTION_TYPES;
35
- const EXCLUDED_CONTACT_PROPERTIES = strings.HELPER_STRINGS.EXCLUDED_CONTACT_PROPERTIES;
36
22
  const handleMappingOptions = (mappingType, surveyQuestions, contactProperties, surveyVariables, expressions, integrationsNpsSubmissionProperties, integrationsClassicSubmissionProperties, surveyType) => {
23
+ let currentOption;
37
24
  switch (mappingType) {
38
- case MAPPING_TYPES.QUESTION:
39
- return handleQuestionOptions(filterQuestions(surveyQuestions));
40
- case MAPPING_TYPES.CONTACT:
41
- return filterContactProperties(contactProperties);
42
- case MAPPING_TYPES.VARIABLE:
43
- return mapVariables(surveyVariables);
44
- case MAPPING_TYPES.EXPRESSION:
45
- return mapExpressions(expressions);
46
- case MAPPING_TYPES.SUBMISSION_PROPERTY:
47
- return selectSubmissionProperties(
48
- surveyType,
49
- integrationsNpsSubmissionProperties,
50
- integrationsClassicSubmissionProperties
51
- );
25
+ case "QUESTION":
26
+ const filteredQuestions = surveyQuestions.filter((question) => (question == null ? void 0 : question.type) !== "Message" && (question == null ? void 0 : question.type) !== "PaymentQuestion");
27
+ currentOption = handleQuestionOptions(filteredQuestions);
28
+ break;
29
+ case "CONTACT":
30
+ const filteredContactProperties = contactProperties.filter((contact) => (contact == null ? void 0 : contact.name) !== "team_internal" && (contact == null ? void 0 : contact.name) !== "department_internal");
31
+ currentOption = filteredContactProperties.map((contact) => ({
32
+ label: contact.label,
33
+ value: contact.name
34
+ }));
35
+ break;
36
+ case "VARIABLE":
37
+ currentOption = surveyVariables.map((varibles) => ({
38
+ name: varibles.name,
39
+ label: varibles.label,
40
+ value: varibles.id
41
+ }));
42
+ break;
43
+ case "EXPRESSION":
44
+ currentOption = expressions.map((expression) => ({
45
+ label: expression.name,
46
+ value: expression.id
47
+ }));
48
+ break;
49
+ case "SUBMISSION_PROPERTY":
50
+ currentOption = (surveyType == null ? void 0 : surveyType.toLocaleLowerCase()) === "classicform" ? integrationsClassicSubmissionProperties : integrationsNpsSubmissionProperties;
51
+ break;
52
52
  default:
53
- console.warn(strings.HELPER_STRINGS.CONSOLE_MESSAGES.UNKNOWN_MAPPING_TYPE(mappingType));
54
- return [];
53
+ currentOption = [];
55
54
  }
56
- };
57
- const filterQuestions = (questions) => {
58
- return questions.filter(
59
- (question) => (question == null ? void 0 : question.type) && !EXCLUDED_QUESTION_TYPES.includes(question.type)
60
- );
61
- };
62
- const filterContactProperties = (contactProperties) => {
63
- return contactProperties.filter(
64
- (contact) => (contact == null ? void 0 : contact.name) && !EXCLUDED_CONTACT_PROPERTIES.includes(contact.name)
65
- ).map((contact) => ({
66
- label: contact.label,
67
- value: contact.name
68
- }));
69
- };
70
- const mapVariables = (variables) => {
71
- return variables.map((variable) => ({
72
- name: variable.name,
73
- label: variable.label,
74
- value: variable.id
75
- }));
76
- };
77
- const mapExpressions = (expressions) => {
78
- return expressions.map((expression) => ({
79
- label: expression.name,
80
- value: expression.id
81
- }));
82
- };
83
- const selectSubmissionProperties = (surveyType, npsProperties, classicProperties) => {
84
- return (surveyType == null ? void 0 : surveyType.toLowerCase()) === SURVEY_TYPES.CLASSIC_FORM ? classicProperties : npsProperties;
55
+ return currentOption;
85
56
  };
86
57
  const handleQuestionOptions = (surveyQuestions) => {
87
- const data = surveyQuestions.map((val) => __spreadValues({}, val));
88
- const groupedData = groupQuestionsByLabel(data);
89
- const ungroupedQuestions = extractUngroupedQuestions(data, groupedData);
90
- const filteredData = formatUngroupedQuestions(ungroupedQuestions);
91
- const formattedGroupedData = formatGroupedQuestions(groupedData);
92
- return [...filteredData, ...formattedGroupedData];
93
- };
94
- const groupQuestionsByLabel = (questions) => {
95
- return questions.reduce((result, item) => {
96
- if (!item.label)
97
- return result;
58
+ const data = surveyQuestions.map((val) => {
59
+ return __spreadValues({}, val);
60
+ });
61
+ const groupedData = data.reduce((result, item) => {
98
62
  const existingGroup = result.find((group) => group.label === item.label);
99
63
  if (existingGroup) {
100
64
  existingGroup.options.push(...item.options || []);
101
- } else {
65
+ } else if (item.label) {
102
66
  result.push({
103
67
  label: item.label,
104
68
  options: item.options || []
@@ -106,36 +70,31 @@ const groupQuestionsByLabel = (questions) => {
106
70
  }
107
71
  return result;
108
72
  }, []);
109
- };
110
- const extractUngroupedQuestions = (questions, groupedData) => {
111
- return questions.filter(
112
- (question) => !groupedData.some((group) => group.label === question.rtxt)
113
- );
114
- };
115
- const formatUngroupedQuestions = (questions) => {
116
- return questions.filter((item) => !item.label).map((question) => {
73
+ const updatedData = data == null ? void 0 : data.filter((question) => {
74
+ if (!groupedData.some((data2) => data2.label === question.rtxt)) {
75
+ return question;
76
+ }
77
+ });
78
+ const filteredData = updatedData == null ? void 0 : updatedData.filter((item) => !item.label).map((question) => {
117
79
  var _a;
118
80
  return {
119
- label: ((_a = question.rtxt) == null ? void 0 : _a.length) ? question.rtxt : strings.PLACEHOLDERS.PLEASE_ENTER_YOUR_QUESTION,
81
+ label: !!((_a = question.rtxt) == null ? void 0 : _a.length) ? question.rtxt : "Please enter your question",
120
82
  value: question.id,
121
83
  questionType: question.type
122
84
  };
123
85
  });
124
- };
125
- const formatGroupedQuestions = (groupedData) => {
126
- return groupedData.map((data) => __spreadProps(__spreadValues({}, data), {
127
- label: data.label,
128
- options: data.options.map((option) => __spreadProps(__spreadValues({}, option), {
129
- label: `${strings.HELPER_STRINGS.LABEL_PREFIX}${option.label}`
130
- })),
131
- value: data.label
132
- // Add value field for consistency
133
- }));
86
+ const formattedData = [
87
+ ...filteredData,
88
+ ...groupedData.map((data2) => __spreadProps(__spreadValues({}, data2), {
89
+ options: data2.options.map((option) => __spreadProps(__spreadValues({}, option), {
90
+ label: `- ${option.label}`
91
+ }))
92
+ }))
93
+ ];
94
+ return formattedData;
134
95
  };
135
96
  const generateUniqueId = () => {
136
- const timestamp = Date.now();
137
- const randomStr = Math.random().toString(36).substring(2, 11);
138
- return `${strings.HELPER_STRINGS.ID_PREFIX}${timestamp}-${randomStr}`;
97
+ return `id-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
139
98
  };
140
99
 
141
100
  exports.generateUniqueId = generateUniqueId;