@sparrowengg/integrations-templates-frontend 3.0.0 → 4.0.0-refold.0

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 (143) hide show
  1. package/dist/cjs/_virtual/index.js +2 -2
  2. package/dist/cjs/_virtual/index5.js +2 -2
  3. package/dist/cjs/_virtual/index7.js +2 -2
  4. package/dist/cjs/_virtual/index8.js +2 -2
  5. package/dist/cjs/cascader-dropdown/cascader-dropdown-breadcrumb.js +2 -1
  6. package/dist/cjs/cascader-dropdown/cascader-dropdown-breadcrumb.js.map +1 -1
  7. package/dist/cjs/commons/components/custom-pill.js +2 -1
  8. package/dist/cjs/commons/components/custom-pill.js.map +1 -1
  9. package/dist/cjs/commons/components/import-modal.js +2 -1
  10. package/dist/cjs/commons/components/import-modal.js.map +1 -1
  11. package/dist/cjs/commons/components/mapping-conditions/components/add-condition-in-group-button.js +2 -1
  12. package/dist/cjs/commons/components/mapping-conditions/components/add-condition-in-group-button.js.map +1 -1
  13. package/dist/cjs/commons/components/mapping-conditions/components/group-title.js +2 -1
  14. package/dist/cjs/commons/components/mapping-conditions/components/group-title.js.map +1 -1
  15. package/dist/cjs/commons/utils/index.js +16 -0
  16. package/dist/cjs/commons/utils/index.js.map +1 -0
  17. package/dist/cjs/contact-import/components/ContactImportHeader.js +2 -1
  18. package/dist/cjs/contact-import/components/ContactImportHeader.js.map +1 -1
  19. package/dist/cjs/contact-import/components/ContactImportModal.js +2 -1
  20. package/dist/cjs/contact-import/components/ContactImportModal.js.map +1 -1
  21. package/dist/cjs/contact-import/components/ManageImport/Completed.js +3 -3
  22. package/dist/cjs/contact-import/components/ManageImport/Completed.js.map +1 -1
  23. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js +4 -4
  24. package/dist/cjs/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  25. package/dist/cjs/contact-import/components/Scheduling.js +1 -2
  26. package/dist/cjs/contact-import/components/Scheduling.js.map +1 -1
  27. package/dist/cjs/contact-import/components/contact-import-mapping.js +2 -1
  28. package/dist/cjs/contact-import/components/contact-import-mapping.js.map +1 -1
  29. package/dist/cjs/contact-import/constants.js +34 -0
  30. package/dist/cjs/contact-import/constants.js.map +1 -1
  31. package/dist/cjs/dynamic-mapping/components/mapping-header.js +3 -2
  32. package/dist/cjs/dynamic-mapping/components/mapping-header.js.map +1 -1
  33. package/dist/cjs/dynamic-mapping/components/tabs-content-component.js +0 -2
  34. package/dist/cjs/dynamic-mapping/components/tabs-content-component.js.map +1 -1
  35. package/dist/cjs/integration-template/components/dashboard/DashboardItem.js +4 -2
  36. package/dist/cjs/integration-template/components/dashboard/DashboardItem.js.map +1 -1
  37. package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js +6 -2
  38. package/dist/cjs/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -1
  39. package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js +11 -3
  40. package/dist/cjs/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -1
  41. package/dist/cjs/mapping/components/MappingHeader.js +2 -1
  42. package/dist/cjs/mapping/components/MappingHeader.js.map +1 -1
  43. package/dist/cjs/mapping/components/field.js +2 -1
  44. package/dist/cjs/mapping/components/field.js.map +1 -1
  45. package/dist/cjs/mapping/utils/conditionDescriptionBuilder.js +2 -1
  46. package/dist/cjs/mapping/utils/conditionDescriptionBuilder.js.map +1 -1
  47. package/dist/cjs/node_modules/domelementtype/lib/index.js +1 -1
  48. package/dist/cjs/node_modules/dompurify/dist/purify.es.js +1592 -0
  49. package/dist/cjs/node_modules/dompurify/dist/purify.es.js.map +1 -0
  50. package/dist/cjs/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  51. package/dist/cjs/node_modules/html-dom-parser/lib/server/html-to-dom.js +2 -2
  52. package/dist/cjs/node_modules/html-dom-parser/node_modules/dom-serializer/lib/index.js +1 -1
  53. package/dist/cjs/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -2
  54. package/dist/cjs/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +1 -1
  55. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/helpers.js +1 -1
  56. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
  57. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/legacy.js +1 -1
  58. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/querying.js +1 -1
  59. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/stringify.js +2 -2
  60. package/dist/cjs/node_modules/html-dom-parser/node_modules/domutils/lib/traversal.js +1 -1
  61. package/dist/cjs/node_modules/html-dom-parser/node_modules/htmlparser2/dist/commonjs/index.js +3 -3
  62. package/dist/cjs/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +1 -1
  63. package/dist/cjs/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +1 -1
  64. package/dist/cjs/single-mapping/components/MappingHeader.js +2 -1
  65. package/dist/cjs/single-mapping/components/MappingHeader.js.map +1 -1
  66. package/dist/cjs/triggers/components/EventSetup.js +4 -3
  67. package/dist/cjs/triggers/components/EventSetup.js.map +1 -1
  68. package/dist/cjs/triggers/components/TriggerHeader.js +2 -1
  69. package/dist/cjs/triggers/components/TriggerHeader.js.map +1 -1
  70. package/dist/cjs/triggers/components/filter/filter.js +6 -3
  71. package/dist/cjs/triggers/components/filter/filter.js.map +1 -1
  72. package/dist/es/_virtual/index.js +2 -2
  73. package/dist/es/_virtual/index5.js +2 -2
  74. package/dist/es/_virtual/index7.js +2 -2
  75. package/dist/es/_virtual/index8.js +2 -2
  76. package/dist/es/cascader-dropdown/cascader-dropdown-breadcrumb.js +2 -1
  77. package/dist/es/cascader-dropdown/cascader-dropdown-breadcrumb.js.map +1 -1
  78. package/dist/es/commons/components/custom-pill.js +2 -1
  79. package/dist/es/commons/components/custom-pill.js.map +1 -1
  80. package/dist/es/commons/components/import-modal.js +2 -1
  81. package/dist/es/commons/components/import-modal.js.map +1 -1
  82. package/dist/es/commons/components/mapping-conditions/components/add-condition-in-group-button.js +2 -1
  83. package/dist/es/commons/components/mapping-conditions/components/add-condition-in-group-button.js.map +1 -1
  84. package/dist/es/commons/components/mapping-conditions/components/group-title.js +2 -1
  85. package/dist/es/commons/components/mapping-conditions/components/group-title.js.map +1 -1
  86. package/dist/es/commons/utils/index.js +14 -0
  87. package/dist/es/commons/utils/index.js.map +1 -0
  88. package/dist/es/contact-import/components/ContactImportHeader.js +2 -1
  89. package/dist/es/contact-import/components/ContactImportHeader.js.map +1 -1
  90. package/dist/es/contact-import/components/ContactImportModal.js +2 -1
  91. package/dist/es/contact-import/components/ContactImportModal.js.map +1 -1
  92. package/dist/es/contact-import/components/ManageImport/Completed.js +2 -2
  93. package/dist/es/contact-import/components/ManageImport/Completed.js.map +1 -1
  94. package/dist/es/contact-import/components/ManageImport/Scheduled.js +2 -2
  95. package/dist/es/contact-import/components/ManageImport/Scheduled.js.map +1 -1
  96. package/dist/es/contact-import/components/Scheduling.js +2 -3
  97. package/dist/es/contact-import/components/Scheduling.js.map +1 -1
  98. package/dist/es/contact-import/components/contact-import-mapping.js +2 -1
  99. package/dist/es/contact-import/components/contact-import-mapping.js.map +1 -1
  100. package/dist/es/contact-import/constants.js +34 -1
  101. package/dist/es/contact-import/constants.js.map +1 -1
  102. package/dist/es/dynamic-mapping/components/mapping-header.js +3 -2
  103. package/dist/es/dynamic-mapping/components/mapping-header.js.map +1 -1
  104. package/dist/es/dynamic-mapping/components/tabs-content-component.js +0 -2
  105. package/dist/es/dynamic-mapping/components/tabs-content-component.js.map +1 -1
  106. package/dist/es/integration-template/components/dashboard/DashboardItem.js +4 -2
  107. package/dist/es/integration-template/components/dashboard/DashboardItem.js.map +1 -1
  108. package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js +6 -2
  109. package/dist/es/integration-template/components/dashboard/SingleMappingDashboardItem.js.map +1 -1
  110. package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js +11 -3
  111. package/dist/es/integration-template/components/dashboard/TriggerDashboardItem.js.map +1 -1
  112. package/dist/es/mapping/components/MappingHeader.js +2 -1
  113. package/dist/es/mapping/components/MappingHeader.js.map +1 -1
  114. package/dist/es/mapping/components/field.js +2 -1
  115. package/dist/es/mapping/components/field.js.map +1 -1
  116. package/dist/es/mapping/utils/conditionDescriptionBuilder.js +2 -1
  117. package/dist/es/mapping/utils/conditionDescriptionBuilder.js.map +1 -1
  118. package/dist/es/node_modules/domelementtype/lib/index.js +1 -1
  119. package/dist/es/node_modules/dompurify/dist/purify.es.js +1588 -0
  120. package/dist/es/node_modules/dompurify/dist/purify.es.js.map +1 -0
  121. package/dist/es/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +1 -1
  122. package/dist/es/node_modules/html-dom-parser/lib/server/html-to-dom.js +2 -2
  123. package/dist/es/node_modules/html-dom-parser/node_modules/dom-serializer/lib/index.js +1 -1
  124. package/dist/es/node_modules/html-dom-parser/node_modules/domhandler/lib/index.js +2 -2
  125. package/dist/es/node_modules/html-dom-parser/node_modules/domhandler/lib/node.js +1 -1
  126. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/helpers.js +1 -1
  127. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/index.js +1 -1
  128. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/legacy.js +1 -1
  129. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/querying.js +1 -1
  130. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/stringify.js +2 -2
  131. package/dist/es/node_modules/html-dom-parser/node_modules/domutils/lib/traversal.js +1 -1
  132. package/dist/es/node_modules/html-dom-parser/node_modules/htmlparser2/dist/commonjs/index.js +3 -3
  133. package/dist/es/node_modules/html-react-parser/node_modules/domhandler/lib/index.js +1 -1
  134. package/dist/es/node_modules/html-react-parser/node_modules/domhandler/lib/node.js +1 -1
  135. package/dist/es/single-mapping/components/MappingHeader.js +2 -1
  136. package/dist/es/single-mapping/components/MappingHeader.js.map +1 -1
  137. package/dist/es/triggers/components/EventSetup.js +4 -3
  138. package/dist/es/triggers/components/EventSetup.js.map +1 -1
  139. package/dist/es/triggers/components/TriggerHeader.js +2 -1
  140. package/dist/es/triggers/components/TriggerHeader.js.map +1 -1
  141. package/dist/es/triggers/components/filter/filter.js +6 -3
  142. package/dist/es/triggers/components/filter/filter.js.map +1 -1
  143. package/package.json +3 -6
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var lib = {};
3
+ var reactIs = {exports: {}};
4
4
 
5
- exports.__exports = lib;
5
+ exports.__module = reactIs;
6
6
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var lib = {};
3
+ var reactIs = {exports: {}};
4
4
 
5
- exports.__exports = lib;
5
+ exports.__module = reactIs;
6
6
  //# sourceMappingURL=index5.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var commonjs = {};
3
+ var lib = {};
4
4
 
5
- exports.__exports = commonjs;
5
+ exports.__exports = lib;
6
6
  //# sourceMappingURL=index7.js.map
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var reactIs = {exports: {}};
3
+ var commonjs = {};
4
4
 
5
- exports.__module = reactIs;
5
+ exports.__exports = commonjs;
6
6
  //# sourceMappingURL=index8.js.map
@@ -109,7 +109,8 @@ const BackButton = ({ focusPreviousColumn }) => {
109
109
  icon: /* @__PURE__ */ React.createElement(chevronLeft.ChevronLeftIcon, null),
110
110
  onClick: () => focusPreviousColumn(),
111
111
  css: { height: "$5", width: "$5", minWidth: "$5" },
112
- color: "default"
112
+ color: "default",
113
+ "aria-label": "Go to previous level"
113
114
  }
114
115
  ));
115
116
  };
@@ -1 +1 @@
1
- {"version":3,"file":"cascader-dropdown-breadcrumb.js","sources":["../../../src/cascader-dropdown/cascader-dropdown-breadcrumb.tsx"],"sourcesContent":["import { Flex } from '@sparrowengg/twigs-react';\nimport { ChevronLeftIcon, ChevronRightIcon } from '@sparrowengg/twigs-react-icons';\nimport { Button, IconButton } from '@sparrowengg/twigs-react';\nimport { Box } from '@sparrowengg/twigs-react';\nimport { Fragment } from 'react';\nimport { Tooltip } from '@sparrowengg/twigs-react';\nimport { Text } from '@sparrowengg/twigs-react';\nimport React from 'react';\n\nconst textWidth = {\n 1: 104,\n 2: 48,\n 3: 32\n};\n\nconst letterCount = {\n 1: 14,\n 2: 6,\n 3: 3\n};\n\nexport const CascaderDropdownBreadcrumb = ({\n focusNthColumn,\n focusPreviousColumn = () => {},\n foldersSelectionPath,\n showBackButton = true\n}: {\n focusNthColumn: (index: number) => void,\n focusPreviousColumn?: () => void,\n foldersSelectionPath: { value: string, label: string }[],\n showBackButton?: boolean\n}) => {\n if (foldersSelectionPath.length === 0) return null;\n\n return (\n <Flex\n css={{\n width: '100%',\n backgroundColor: '$secondary50',\n padding: '9px',\n overflow: 'hidden',\n borderBottom: '1px solid $neutral100',\n borderTopLeftRadius: '$xl',\n borderTopRightRadius: '$xl'\n }}\n alignItems=\"center\"\n >\n {showBackButton && <BackButton focusPreviousColumn={focusPreviousColumn} />}\n {showBackButton && (\n <Box\n css={{\n width: '1px',\n height: '$4',\n backgroundColor: '$secondary100',\n margin: '0 $4',\n minWidth: '1px'\n }}\n />\n )}\n {foldersSelectionPath.map(({ value, label }, index) => (\n <Fragment key={value}>\n <Tooltip\n content={`${label}`.length > letterCount[foldersSelectionPath.length] ? `${label}` : undefined}\n className=\"dm-sans\"\n css={{\n maxWidth: '140px',\n overflowWrap: 'anywhere',\n whiteSpace: 'break-spaces',\n zIndex: 199\n }}\n >\n <Button\n css={{\n color: '$secondary500',\n marginBottom: 0,\n padding: '0',\n height: 'auto',\n '&, &:hover, &:focus, &:active': {\n border: 'none !important', boxShadow: 'none !important', backgroundColor: 'transparent !important'\n },\n borderRadius: '0',\n fontWeight: '$4',\n overflow: 'hidden',\n '.twigs-button__content': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: textWidth[foldersSelectionPath.length]\n },\n '&:hover': {\n color: '$secondary700'\n }\n }}\n onClick={() => focusNthColumn(index)}\n >\n {label}\n </Button>\n </Tooltip>\n <Box css={{ flexShrink: '0', lineHeight: 0, color: '$secondary500' }}>\n <ChevronRightIcon size={16} />\n </Box>\n </Fragment>\n ))}\n <Text css={{ color: '$secondary800', marginBottom: 0, flexShrink: 0 }} weight=\"medium\" truncate>Choose</Text>\n </Flex>\n );\n};\n\nconst BackButton = ({ focusPreviousColumn }: { focusPreviousColumn: () => void }) => {\n return (\n <Tooltip content=\"Previous Level\" css={{ zIndex: 199 }}>\n <IconButton\n icon={<ChevronLeftIcon />}\n onClick={() => focusPreviousColumn()}\n css={{ height: '$5', width: '$5', minWidth: '$5' }}\n color=\"default\"\n />\n </Tooltip>\n );\n};\n"],"names":["Flex","Box","Fragment","Tooltip","Button","ChevronRightIcon","Text","IconButton","ChevronLeftIcon"],"mappings":"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"}
1
+ {"version":3,"file":"cascader-dropdown-breadcrumb.js","sources":["../../../src/cascader-dropdown/cascader-dropdown-breadcrumb.tsx"],"sourcesContent":["import { Flex } from '@sparrowengg/twigs-react';\nimport { ChevronLeftIcon, ChevronRightIcon } from '@sparrowengg/twigs-react-icons';\nimport { Button, IconButton } from '@sparrowengg/twigs-react';\nimport { Box } from '@sparrowengg/twigs-react';\nimport { Fragment } from 'react';\nimport { Tooltip } from '@sparrowengg/twigs-react';\nimport { Text } from '@sparrowengg/twigs-react';\nimport React from 'react';\n\nconst textWidth = {\n 1: 104,\n 2: 48,\n 3: 32\n};\n\nconst letterCount = {\n 1: 14,\n 2: 6,\n 3: 3\n};\n\nexport const CascaderDropdownBreadcrumb = ({\n focusNthColumn,\n focusPreviousColumn = () => {},\n foldersSelectionPath,\n showBackButton = true\n}: {\n focusNthColumn: (index: number) => void,\n focusPreviousColumn?: () => void,\n foldersSelectionPath: { value: string, label: string }[],\n showBackButton?: boolean\n}) => {\n if (foldersSelectionPath.length === 0) return null;\n\n return (\n <Flex\n css={{\n width: '100%',\n backgroundColor: '$secondary50',\n padding: '9px',\n overflow: 'hidden',\n borderBottom: '1px solid $neutral100',\n borderTopLeftRadius: '$xl',\n borderTopRightRadius: '$xl'\n }}\n alignItems=\"center\"\n >\n {showBackButton && <BackButton focusPreviousColumn={focusPreviousColumn} />}\n {showBackButton && (\n <Box\n css={{\n width: '1px',\n height: '$4',\n backgroundColor: '$secondary100',\n margin: '0 $4',\n minWidth: '1px'\n }}\n />\n )}\n {foldersSelectionPath.map(({ value, label }, index) => (\n <Fragment key={value}>\n <Tooltip\n content={`${label}`.length > letterCount[foldersSelectionPath.length] ? `${label}` : undefined}\n className=\"dm-sans\"\n css={{\n maxWidth: '140px',\n overflowWrap: 'anywhere',\n whiteSpace: 'break-spaces',\n zIndex: 199\n }}\n >\n <Button\n css={{\n color: '$secondary500',\n marginBottom: 0,\n padding: '0',\n height: 'auto',\n '&, &:hover, &:focus, &:active': {\n border: 'none !important', boxShadow: 'none !important', backgroundColor: 'transparent !important'\n },\n borderRadius: '0',\n fontWeight: '$4',\n overflow: 'hidden',\n '.twigs-button__content': {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: textWidth[foldersSelectionPath.length]\n },\n '&:hover': {\n color: '$secondary700'\n }\n }}\n onClick={() => focusNthColumn(index)}\n >\n {label}\n </Button>\n </Tooltip>\n <Box css={{ flexShrink: '0', lineHeight: 0, color: '$secondary500' }}>\n <ChevronRightIcon size={16} />\n </Box>\n </Fragment>\n ))}\n <Text css={{ color: '$secondary800', marginBottom: 0, flexShrink: 0 }} weight=\"medium\" truncate>Choose</Text>\n </Flex>\n );\n};\n\nconst BackButton = ({ focusPreviousColumn }: { focusPreviousColumn: () => void }) => {\n return (\n <Tooltip content=\"Previous Level\" css={{ zIndex: 199 }}>\n <IconButton\n icon={<ChevronLeftIcon />}\n onClick={() => focusPreviousColumn()}\n css={{ height: '$5', width: '$5', minWidth: '$5' }}\n color=\"default\"\n aria-label=\"Go to previous level\"\n />\n </Tooltip>\n );\n};\n"],"names":["Flex","Box","Fragment","Tooltip","Button","ChevronRightIcon","Text","IconButton","ChevronLeftIcon"],"mappings":"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"}
@@ -58,7 +58,8 @@ const CustomPill = React.memo(({
58
58
  variant: "ghost",
59
59
  color: "default",
60
60
  onClick: onCloseHandler,
61
- icon: /* @__PURE__ */ React.createElement(closeCircleFill.CloseCircleFillIcon, { size: 12 })
61
+ icon: /* @__PURE__ */ React.createElement(closeCircleFill.CloseCircleFillIcon, { size: 12 }),
62
+ "aria-label": `Remove ${label}`
62
63
  }
63
64
  )
64
65
  );
@@ -1 +1 @@
1
- {"version":3,"file":"custom-pill.js","sources":["../../../../src/commons/components/custom-pill.tsx"],"sourcesContent":["import { Flex, IconButton, Text } from \"@sparrowengg/twigs-react\";\nimport { CloseCircleFillIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React from \"react\";\n\ntype CustomPillProps = {\n label: string;\n onCloseHandler?: () => void;\n variant: \"default\" | \"success\";\n radius: \"sm\" | \"md\";\n fontFamily?: \"Roboto Mono\";\n isClosable?: boolean;\n};\n\nconst CustomPill: React.FC<CustomPillProps> = React.memo(({\n label,\n onCloseHandler,\n variant,\n radius,\n fontFamily = \"DM Sans\",\n isClosable = true\n}) => {\n const isDefaultVariant = variant === \"default\";\n return (\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"2px !important\",\n height: \"$6\",\n background: isDefaultVariant\n ? \"rgba(100, 116, 139, 0.08)\"\n : \"$positive100\",\n padding: \"$2\",\n paddingLeft: radius === \"sm\" ? \"$3\" : \"$2\",\n borderRadius: radius === \"sm\" ? \"$sm\" : \"99px\",\n \"& > *\": {\n fontFamily\n }\n }}\n >\n <Text\n size=\"xs\"\n weight=\"medium\"\n css={{\n color: isDefaultVariant ? \"$secondary800\" : \"$neutral900\",\n paddingInline: \"$1\"\n }}\n >\n {label}\n </Text>\n {isClosable && (\n <IconButton\n css={{\n padding: \"$1\",\n height: \"$4\",\n width: \"$4\",\n background: \"transparent !important\",\n \".twigs-button__icon-container\": { position: \"static\" }\n }}\n variant=\"ghost\"\n color=\"default\"\n onClick={onCloseHandler}\n icon={<CloseCircleFillIcon size={12} />}\n />\n )}\n </Flex>\n );\n});\n\nexport default CustomPill;\n"],"names":["Flex","Text","IconButton","CloseCircleFillIcon"],"mappings":";;;;;;;;;;AAaA,MAAM,UAAA,GAAwC,KAAA,CAAM,IAAA,CAAK,CAAC;AAAA,EACxD,KAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,GAAa,SAAA;AAAA,EACb,UAAA,GAAa;AACf,CAAA,KAAM;AACJ,EAAA,MAAM,mBAAmB,OAAA,KAAY,SAAA;AACrC,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAW,QAAA;AAAA,MACX,GAAA,EAAK;AAAA,QACH,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ,IAAA;AAAA,QACR,UAAA,EAAY,mBACR,2BAAA,GACA,cAAA;AAAA,QACJ,OAAA,EAAS,IAAA;AAAA,QACT,WAAA,EAAa,MAAA,KAAW,IAAA,GAAO,IAAA,GAAO,IAAA;AAAA,QACtC,YAAA,EAAc,MAAA,KAAW,IAAA,GAAO,KAAA,GAAQ,MAAA;AAAA,QACxC,OAAA,EAAS;AAAA,UACP;AAAA;AACF;AACF,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,MAAA,EAAO,QAAA;AAAA,QACP,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,mBAAmB,eAAA,GAAkB,aAAA;AAAA,UAC5C,aAAA,EAAe;AAAA;AACjB,OAAA;AAAA,MAEC;AAAA,KACH;AAAA,IACC,UAAA,oBACC,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,OAAA,EAAS,IAAA;AAAA,UACT,MAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,IAAA;AAAA,UACP,UAAA,EAAY,wBAAA;AAAA,UACZ,+BAAA,EAAiC,EAAE,QAAA,EAAU,QAAA;AAAS,SACxD;AAAA,QACA,OAAA,EAAQ,OAAA;AAAA,QACR,KAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS,cAAA;AAAA,QACT,IAAA,kBAAM,KAAA,CAAA,aAAA,CAACC,mCAAA,EAAA,EAAoB,IAAA,EAAM,EAAA,EAAI;AAAA;AAAA;AACvC,GAEJ;AAEJ,CAAC;;;;"}
1
+ {"version":3,"file":"custom-pill.js","sources":["../../../../src/commons/components/custom-pill.tsx"],"sourcesContent":["import { Flex, IconButton, Text } from \"@sparrowengg/twigs-react\";\nimport { CloseCircleFillIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React from \"react\";\n\ntype CustomPillProps = {\n label: string;\n onCloseHandler?: () => void;\n variant: \"default\" | \"success\";\n radius: \"sm\" | \"md\";\n fontFamily?: \"Roboto Mono\";\n isClosable?: boolean;\n};\n\nconst CustomPill: React.FC<CustomPillProps> = React.memo(({\n label,\n onCloseHandler,\n variant,\n radius,\n fontFamily = \"DM Sans\",\n isClosable = true\n}) => {\n const isDefaultVariant = variant === \"default\";\n return (\n <Flex\n alignItems=\"center\"\n css={{\n margin: \"2px !important\",\n height: \"$6\",\n background: isDefaultVariant\n ? \"rgba(100, 116, 139, 0.08)\"\n : \"$positive100\",\n padding: \"$2\",\n paddingLeft: radius === \"sm\" ? \"$3\" : \"$2\",\n borderRadius: radius === \"sm\" ? \"$sm\" : \"99px\",\n \"& > *\": {\n fontFamily\n }\n }}\n >\n <Text\n size=\"xs\"\n weight=\"medium\"\n css={{\n color: isDefaultVariant ? \"$secondary800\" : \"$neutral900\",\n paddingInline: \"$1\"\n }}\n >\n {label}\n </Text>\n {isClosable && (\n <IconButton\n css={{\n padding: \"$1\",\n height: \"$4\",\n width: \"$4\",\n background: \"transparent !important\",\n \".twigs-button__icon-container\": { position: \"static\" }\n }}\n variant=\"ghost\"\n color=\"default\"\n onClick={onCloseHandler}\n icon={<CloseCircleFillIcon size={12} />}\n aria-label={`Remove ${label}`}\n />\n )}\n </Flex>\n );\n});\n\nexport default CustomPill;\n"],"names":["Flex","Text","IconButton","CloseCircleFillIcon"],"mappings":";;;;;;;;;;AAaA,MAAM,UAAA,GAAwC,KAAA,CAAM,IAAA,CAAK,CAAC;AAAA,EACxD,KAAA;AAAA,EACA,cAAA;AAAA,EACA,OAAA;AAAA,EACA,MAAA;AAAA,EACA,UAAA,GAAa,SAAA;AAAA,EACb,UAAA,GAAa;AACf,CAAA,KAAM;AACJ,EAAA,MAAM,mBAAmB,OAAA,KAAY,SAAA;AACrC,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAW,QAAA;AAAA,MACX,GAAA,EAAK;AAAA,QACH,MAAA,EAAQ,gBAAA;AAAA,QACR,MAAA,EAAQ,IAAA;AAAA,QACR,UAAA,EAAY,mBACR,2BAAA,GACA,cAAA;AAAA,QACJ,OAAA,EAAS,IAAA;AAAA,QACT,WAAA,EAAa,MAAA,KAAW,IAAA,GAAO,IAAA,GAAO,IAAA;AAAA,QACtC,YAAA,EAAc,MAAA,KAAW,IAAA,GAAO,KAAA,GAAQ,MAAA;AAAA,QACxC,OAAA,EAAS;AAAA,UACP;AAAA;AACF;AACF,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAK,IAAA;AAAA,QACL,MAAA,EAAO,QAAA;AAAA,QACP,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,mBAAmB,eAAA,GAAkB,aAAA;AAAA,UAC5C,aAAA,EAAe;AAAA;AACjB,OAAA;AAAA,MAEC;AAAA,KACH;AAAA,IACC,UAAA,oBACC,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,OAAA,EAAS,IAAA;AAAA,UACT,MAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,IAAA;AAAA,UACP,UAAA,EAAY,wBAAA;AAAA,UACZ,+BAAA,EAAiC,EAAE,QAAA,EAAU,QAAA;AAAS,SACxD;AAAA,QACA,OAAA,EAAQ,OAAA;AAAA,QACR,KAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAS,cAAA;AAAA,QACT,IAAA,kBAAM,KAAA,CAAA,aAAA,CAACC,mCAAA,EAAA,EAAoB,IAAA,EAAM,EAAA,EAAI,CAAA;AAAA,QACrC,YAAA,EAAY,UAAU,KAAK,CAAA;AAAA;AAAA;AAC7B,GAEJ;AAEJ,CAAC;;;;"}
@@ -48,7 +48,8 @@ const ImportModal = ({
48
48
  color: "#64748B !important"
49
49
  }
50
50
  },
51
- onClick: onCloseHandler
51
+ onClick: onCloseHandler,
52
+ "aria-label": "Close modal"
52
53
  }
53
54
  )
54
55
  ),
@@ -1 +1 @@
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;AACF,CAAA,KAAM;AACJ,EAAA,uBACE,KAAA,CAAA,aAAA,CAACA,aAAA,EAAA,EAAO,IAAA,EAAI,IAAA,EAAA,kBACV,KAAA,CAAA,aAAA;AAAA,IAACC,oBAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK;AAAA,QACH,OAAA,EAAS,CAAA;AAAA,QACT,YAAA,EAAc;AAAA;AAChB,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,UAAA,EAAW,QAAA;AAAA,QACX,cAAA,EAAe,eAAA;AAAA,QACf,GAAA,EAAK;AAAA,UACH,OAAA,EAAS,QAAA;AAAA,UACT,YAAA,EAAc;AAAA;AAChB,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA,CAACC,mBAAQ,IAAA,EAAK,IAAA,EAAK,KAAK,EAAE,KAAA,EAAO,aAAA,EAAc,EAAA,EAAG,qBAElD,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA;AAAA,QAACC,qBAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,OAAA;AAAA,UACR,KAAA,EAAM,SAAA;AAAA,UACN,IAAA,sCAAOC,eAAA,EAAA,IAAU,CAAA;AAAA,UACjB,IAAA,EAAK,IAAA;AAAA,UACL,GAAA,EAAK;AAAA,YACH,OAAA,EAAS;AAAA,cACP,KAAA,EAAO;AAAA;AACT,WACF;AAAA,UACA,OAAA,EAAS;AAAA;AAAA;AACX,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,OAAA,EAAS;AAAA;AACX,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACC,mBAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,eAAA;AAAA,UACP,iBAAA,EAAiB,IAAA;AAAA,UACjB,UAAU,CAAC,KAAA,KAAU,cAAA,CAAe,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA,UAC7D,IAAA,EAAK;AAAA;AAAA;AACP,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACL,SAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAI,IAAA;AAAA,QACJ,GAAA,EAAK;AAAA,UACH,cAAA,EAAgB,UAAA;AAAA,UAChB,OAAA,EAAS;AAAA;AACX,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACM,aAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAQ,OAAA;AAAA,UACR,KAAA,EAAM,SAAA;AAAA,UACN,OAAA,EAAS;AAAA,SAAA;AAAA,QACV;AAAA,OAED;AAAA,0CACCA,aAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,iBAAe,MAE1C;AAAA;AACF,GAEJ,CAAA;AAEJ;;;;"}
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 aria-label=\"Close modal\"\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;AACF,CAAA,KAAM;AACJ,EAAA,uBACE,KAAA,CAAA,aAAA,CAACA,aAAA,EAAA,EAAO,IAAA,EAAI,IAAA,EAAA,kBACV,KAAA,CAAA,aAAA;AAAA,IAACC,oBAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK;AAAA,QACH,OAAA,EAAS,CAAA;AAAA,QACT,YAAA,EAAc;AAAA;AAChB,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,SAAA;AAAA,MAAA;AAAA,QACC,UAAA,EAAW,QAAA;AAAA,QACX,cAAA,EAAe,eAAA;AAAA,QACf,GAAA,EAAK;AAAA,UACH,OAAA,EAAS,QAAA;AAAA,UACT,YAAA,EAAc;AAAA;AAChB,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA,CAACC,mBAAQ,IAAA,EAAK,IAAA,EAAK,KAAK,EAAE,KAAA,EAAO,aAAA,EAAc,EAAA,EAAG,qBAElD,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA;AAAA,QAACC,qBAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAQ,OAAA;AAAA,UACR,KAAA,EAAM,SAAA;AAAA,UACN,IAAA,sCAAOC,eAAA,EAAA,IAAU,CAAA;AAAA,UACjB,IAAA,EAAK,IAAA;AAAA,UACL,GAAA,EAAK;AAAA,YACH,OAAA,EAAS;AAAA,cACP,KAAA,EAAO;AAAA;AACT,WACF;AAAA,UACA,OAAA,EAAS,cAAA;AAAA,UACT,YAAA,EAAW;AAAA;AAAA;AACb,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,OAAA,EAAS;AAAA;AACX,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACC,mBAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,eAAA;AAAA,UACP,iBAAA,EAAiB,IAAA;AAAA,UACjB,UAAU,CAAC,KAAA,KAAU,cAAA,CAAe,KAAA,CAAM,cAAc,KAAK,CAAA;AAAA,UAC7D,IAAA,EAAK;AAAA;AAAA;AACP,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACL,SAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAI,IAAA;AAAA,QACJ,GAAA,EAAK;AAAA,UACH,cAAA,EAAgB,UAAA;AAAA,UAChB,OAAA,EAAS;AAAA;AACX,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACM,aAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAQ,OAAA;AAAA,UACR,KAAA,EAAM,SAAA;AAAA,UACN,OAAA,EAAS;AAAA,SAAA;AAAA,QACV;AAAA,OAED;AAAA,0CACCA,aAAA,EAAA,EAAO,IAAA,EAAK,IAAA,EAAK,OAAA,EAAS,iBAAe,MAE1C;AAAA;AACF,GAEJ,CAAA;AAEJ;;;;"}
@@ -50,7 +50,8 @@ const AddConditionInGroupButton = ({
50
50
  },
51
51
  icon: /* @__PURE__ */ React.createElement(plus.PlusIcon, null),
52
52
  color: "default",
53
- variant: "ghost"
53
+ variant: "ghost",
54
+ "aria-label": "Add condition in group"
54
55
  }
55
56
  )
56
57
  );
@@ -1 +1 @@
1
- {"version":3,"file":"add-condition-in-group-button.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/add-condition-in-group-button.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback } from 'react';\nimport { IconButton } from '@sparrowengg/twigs-react';\nimport { PlusIcon } from '@sparrowengg/twigs-react-icons';\nimport { prefixClassName } from '../../../../cascader-dropdown/styled/StyledItem';\nimport { CascaderDropdownItemType } from '../../../../cascader-dropdown/helpers/cascader-dropdown-constants';\nimport { AddConditionButton } from './add-condition-button';\nimport { MAPPING_CONDITION_STRINGS } from '../constants';\n\n/* ----- Types / Interfaces ----- */\n\ntype AddConditionInGroupButtonProps = {\n conditionData?: any;\n insertCondition: (selectedProperty: CascaderDropdownItemType) => void;\n};\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Button component for adding conditions within a group\n *\n * @param {AddConditionInGroupButtonProps} props - Component props\n * @returns {JSX.Element} Rendered add condition in group button\n */\nexport const AddConditionInGroupButton: React.FC<AddConditionInGroupButtonProps> = ({\n conditionData,\n insertCondition,\n}) => {\n /* ----- Event Handlers ----- */\n\n /**\n * Handles adding a new condition\n * @param {CascaderDropdownItemType | null} selectedProperty - Selected property\n */\n const handleAddCondition = useCallback(\n (selectedProperty: CascaderDropdownItemType | null) => {\n if (!selectedProperty) return;\n insertCondition(selectedProperty);\n },\n [insertCondition]\n );\n\n /* ----- Render ----- */\n\n return (\n <AddConditionButton\n conditionData={conditionData}\n onAdd={handleAddCondition}\n tooltipProps={{\n content: MAPPING_CONDITION_STRINGS.ADD_CONDITION,\n side: 'right',\n css: { zIndex: '99999' },\n }}\n >\n <IconButton\n className={prefixClassName('add-condition-in-group-button')}\n size=\"md\"\n css={{\n height: '$6',\n width: '$6',\n borderRadius: '$sm',\n border: '1px dashed $black300',\n opacity: '0',\n transition: 'opacity 0.2s ease-in-out',\n marginLeft: '$3',\n '&:hover, &:focus, &:active, &:focus-visible': {\n opacity: 1,\n },\n }}\n icon={<PlusIcon />}\n color=\"default\"\n variant=\"ghost\"\n />\n </AddConditionButton>\n );\n};\n"],"names":["useCallback","AddConditionButton","MAPPING_CONDITION_STRINGS","IconButton","prefixClassName","PlusIcon"],"mappings":";;;;;;;;;;AAyBO,MAAM,4BAAsE,CAAC;AAAA,EAClF,aAAA;AAAA,EACA;AACF,CAAA,KAAM;AAOJ,EAAA,MAAM,kBAAA,GAAqBA,iBAAA;AAAA,IACzB,CAAC,gBAAA,KAAsD;AACrD,MAAA,IAAI,CAAC,gBAAA;AAAkB,QAAA;AACvB,MAAA,eAAA,CAAgB,gBAAgB,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,eAAe;AAAA,GAClB;AAIA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACC,qCAAA;AAAA,IAAA;AAAA,MACC,aAAA;AAAA,MACA,KAAA,EAAO,kBAAA;AAAA,MACP,YAAA,EAAc;AAAA,QACZ,SAASC,mCAAA,CAA0B,aAAA;AAAA,QACnC,IAAA,EAAM,OAAA;AAAA,QACN,GAAA,EAAK,EAAE,MAAA,EAAQ,OAAA;AAAQ;AACzB,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWC,2BAAgB,+BAA+B,CAAA;AAAA,QAC1D,IAAA,EAAK,IAAA;AAAA,QACL,GAAA,EAAK;AAAA,UACH,MAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,IAAA;AAAA,UACP,YAAA,EAAc,KAAA;AAAA,UACd,MAAA,EAAQ,sBAAA;AAAA,UACR,OAAA,EAAS,GAAA;AAAA,UACT,UAAA,EAAY,0BAAA;AAAA,UACZ,UAAA,EAAY,IAAA;AAAA,UACZ,6CAAA,EAA+C;AAAA,YAC7C,OAAA,EAAS;AAAA;AACX,SACF;AAAA,QACA,IAAA,sCAAOC,aAAA,EAAA,IAAS,CAAA;AAAA,QAChB,KAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAQ;AAAA;AAAA;AACV,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"add-condition-in-group-button.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/add-condition-in-group-button.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React, { useCallback } from 'react';\nimport { IconButton } from '@sparrowengg/twigs-react';\nimport { PlusIcon } from '@sparrowengg/twigs-react-icons';\nimport { prefixClassName } from '../../../../cascader-dropdown/styled/StyledItem';\nimport { CascaderDropdownItemType } from '../../../../cascader-dropdown/helpers/cascader-dropdown-constants';\nimport { AddConditionButton } from './add-condition-button';\nimport { MAPPING_CONDITION_STRINGS } from '../constants';\n\n/* ----- Types / Interfaces ----- */\n\ntype AddConditionInGroupButtonProps = {\n conditionData?: any;\n insertCondition: (selectedProperty: CascaderDropdownItemType) => void;\n};\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Button component for adding conditions within a group\n *\n * @param {AddConditionInGroupButtonProps} props - Component props\n * @returns {JSX.Element} Rendered add condition in group button\n */\nexport const AddConditionInGroupButton: React.FC<AddConditionInGroupButtonProps> = ({\n conditionData,\n insertCondition,\n}) => {\n /* ----- Event Handlers ----- */\n\n /**\n * Handles adding a new condition\n * @param {CascaderDropdownItemType | null} selectedProperty - Selected property\n */\n const handleAddCondition = useCallback(\n (selectedProperty: CascaderDropdownItemType | null) => {\n if (!selectedProperty) return;\n insertCondition(selectedProperty);\n },\n [insertCondition]\n );\n\n /* ----- Render ----- */\n\n return (\n <AddConditionButton\n conditionData={conditionData}\n onAdd={handleAddCondition}\n tooltipProps={{\n content: MAPPING_CONDITION_STRINGS.ADD_CONDITION,\n side: 'right',\n css: { zIndex: '99999' },\n }}\n >\n <IconButton\n className={prefixClassName('add-condition-in-group-button')}\n size=\"md\"\n css={{\n height: '$6',\n width: '$6',\n borderRadius: '$sm',\n border: '1px dashed $black300',\n opacity: '0',\n transition: 'opacity 0.2s ease-in-out',\n marginLeft: '$3',\n '&:hover, &:focus, &:active, &:focus-visible': {\n opacity: 1,\n },\n }}\n icon={<PlusIcon />}\n color=\"default\"\n variant=\"ghost\"\n aria-label=\"Add condition in group\"\n />\n </AddConditionButton>\n );\n};\n"],"names":["useCallback","AddConditionButton","MAPPING_CONDITION_STRINGS","IconButton","prefixClassName","PlusIcon"],"mappings":";;;;;;;;;;AAyBO,MAAM,4BAAsE,CAAC;AAAA,EAClF,aAAA;AAAA,EACA;AACF,CAAA,KAAM;AAOJ,EAAA,MAAM,kBAAA,GAAqBA,iBAAA;AAAA,IACzB,CAAC,gBAAA,KAAsD;AACrD,MAAA,IAAI,CAAC,gBAAA;AAAkB,QAAA;AACvB,MAAA,eAAA,CAAgB,gBAAgB,CAAA;AAAA,IAClC,CAAA;AAAA,IACA,CAAC,eAAe;AAAA,GAClB;AAIA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACC,qCAAA;AAAA,IAAA;AAAA,MACC,aAAA;AAAA,MACA,KAAA,EAAO,kBAAA;AAAA,MACP,YAAA,EAAc;AAAA,QACZ,SAASC,mCAAA,CAA0B,aAAA;AAAA,QACnC,IAAA,EAAM,OAAA;AAAA,QACN,GAAA,EAAK,EAAE,MAAA,EAAQ,OAAA;AAAQ;AACzB,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWC,2BAAgB,+BAA+B,CAAA;AAAA,QAC1D,IAAA,EAAK,IAAA;AAAA,QACL,GAAA,EAAK;AAAA,UACH,MAAA,EAAQ,IAAA;AAAA,UACR,KAAA,EAAO,IAAA;AAAA,UACP,YAAA,EAAc,KAAA;AAAA,UACd,MAAA,EAAQ,sBAAA;AAAA,UACR,OAAA,EAAS,GAAA;AAAA,UACT,UAAA,EAAY,0BAAA;AAAA,UACZ,UAAA,EAAY,IAAA;AAAA,UACZ,6CAAA,EAA+C;AAAA,YAC7C,OAAA,EAAS;AAAA;AACX,SACF;AAAA,QACA,IAAA,sCAAOC,aAAA,EAAA,IAAS,CAAA;AAAA,QAChB,KAAA,EAAM,SAAA;AAAA,QACN,OAAA,EAAQ,OAAA;AAAA,QACR,YAAA,EAAW;AAAA;AAAA;AACb,GACF;AAEJ;;;;"}
@@ -39,7 +39,8 @@ const GroupTitle = ({ children, onDelete }) => {
39
39
  variant: "ghost",
40
40
  color: "default",
41
41
  icon: /* @__PURE__ */ React.createElement(_delete.DeleteIcon, null),
42
- onClick: onDelete
42
+ onClick: onDelete,
43
+ "aria-label": "Remove group"
43
44
  }
44
45
  ))
45
46
  );
@@ -1 +1 @@
1
- {"version":3,"file":"group-title.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/group-title.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React from 'react';\nimport { Flex, Box, Text, IconButton, Tooltip } from '@sparrowengg/twigs-react';\nimport { DeleteIcon } from '@sparrowengg/twigs-react-icons';\nimport { MAPPING_CONDITION_STRINGS } from '../constants';\n\n/* ----- Types / Interfaces ----- */\n\ntype GroupTitleProps = {\n children: React.ReactNode;\n onDelete: () => void;\n};\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Group title component with delete action\n *\n * @param {GroupTitleProps} props - Component props\n * @returns {JSX.Element} Rendered group title\n */\nexport const GroupTitle: React.FC<GroupTitleProps> = ({ children, onDelete }) => {\n return (\n <Flex\n className=\"dm-sans\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{ padding: '$1 0' }}\n gap=\"$2\"\n >\n <Text weight=\"bold\" css={{ color: '$secondary900' }}>\n {children}\n </Text>\n <Box\n css={{\n height: '1px',\n width: '100%',\n backgroundColor: '$black100',\n flex: '1',\n }}\n />\n <Tooltip content={MAPPING_CONDITION_STRINGS.REMOVE_GROUP} css={{ zIndex: '99999' }}>\n <IconButton\n css={{ height: '$5', width: '$5' }}\n variant=\"ghost\"\n color=\"default\"\n icon={<DeleteIcon />}\n onClick={onDelete}\n />\n </Tooltip>\n </Flex>\n );\n};\n"],"names":["Flex","Text","Box","Tooltip","MAPPING_CONDITION_STRINGS","IconButton","DeleteIcon"],"mappings":";;;;;;;;;;;;AAsBO,MAAM,UAAA,GAAwC,CAAC,EAAE,QAAA,EAAU,UAAS,KAAM;AAC/E,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,UAAA,EAAW,QAAA;AAAA,MACX,cAAA,EAAe,eAAA;AAAA,MACf,GAAA,EAAK,EAAE,OAAA,EAAS,MAAA,EAAO;AAAA,MACvB,GAAA,EAAI;AAAA,KAAA;AAAA,oBAEJ,KAAA,CAAA,aAAA,CAACC,aAAK,MAAA,EAAO,MAAA,EAAO,KAAK,EAAE,KAAA,EAAO,eAAA,EAAgB,EAAA,EAC/C,QACH,CAAA;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,MAAA,EAAQ,KAAA;AAAA,UACR,KAAA,EAAO,MAAA;AAAA,UACP,eAAA,EAAiB,WAAA;AAAA,UACjB,IAAA,EAAM;AAAA;AACR;AAAA,KACF;AAAA,oBACA,KAAA,CAAA,aAAA,CAACC,mBAAQ,OAAA,EAASC,mCAAA,CAA0B,cAAc,GAAA,EAAK,EAAE,MAAA,EAAQ,OAAA,EAAQ,EAAA,kBAC/E,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,QACjC,OAAA,EAAQ,OAAA;AAAA,QACR,KAAA,EAAM,SAAA;AAAA,QACN,IAAA,sCAAOC,kBAAA,EAAA,IAAW,CAAA;AAAA,QAClB,OAAA,EAAS;AAAA;AAAA,KAEb;AAAA,GACF;AAEJ;;;;"}
1
+ {"version":3,"file":"group-title.js","sources":["../../../../../../src/commons/components/mapping-conditions/components/group-title.tsx"],"sourcesContent":["/* ----- Imports ----- */\n\nimport React from 'react';\nimport { Flex, Box, Text, IconButton, Tooltip } from '@sparrowengg/twigs-react';\nimport { DeleteIcon } from '@sparrowengg/twigs-react-icons';\nimport { MAPPING_CONDITION_STRINGS } from '../constants';\n\n/* ----- Types / Interfaces ----- */\n\ntype GroupTitleProps = {\n children: React.ReactNode;\n onDelete: () => void;\n};\n\n/* ----- Main Component / Export ----- */\n\n/**\n * Group title component with delete action\n *\n * @param {GroupTitleProps} props - Component props\n * @returns {JSX.Element} Rendered group title\n */\nexport const GroupTitle: React.FC<GroupTitleProps> = ({ children, onDelete }) => {\n return (\n <Flex\n className=\"dm-sans\"\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{ padding: '$1 0' }}\n gap=\"$2\"\n >\n <Text weight=\"bold\" css={{ color: '$secondary900' }}>\n {children}\n </Text>\n <Box\n css={{\n height: '1px',\n width: '100%',\n backgroundColor: '$black100',\n flex: '1',\n }}\n />\n <Tooltip content={MAPPING_CONDITION_STRINGS.REMOVE_GROUP} css={{ zIndex: '99999' }}>\n <IconButton\n css={{ height: '$5', width: '$5' }}\n variant=\"ghost\"\n color=\"default\"\n icon={<DeleteIcon />}\n onClick={onDelete}\n aria-label=\"Remove group\"\n />\n </Tooltip>\n </Flex>\n );\n};\n"],"names":["Flex","Text","Box","Tooltip","MAPPING_CONDITION_STRINGS","IconButton","DeleteIcon"],"mappings":";;;;;;;;;;;;AAsBO,MAAM,UAAA,GAAwC,CAAC,EAAE,QAAA,EAAU,UAAS,KAAM;AAC/E,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACA,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAU,SAAA;AAAA,MACV,UAAA,EAAW,QAAA;AAAA,MACX,cAAA,EAAe,eAAA;AAAA,MACf,GAAA,EAAK,EAAE,OAAA,EAAS,MAAA,EAAO;AAAA,MACvB,GAAA,EAAI;AAAA,KAAA;AAAA,oBAEJ,KAAA,CAAA,aAAA,CAACC,aAAK,MAAA,EAAO,MAAA,EAAO,KAAK,EAAE,KAAA,EAAO,eAAA,EAAgB,EAAA,EAC/C,QACH,CAAA;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK;AAAA,UACH,MAAA,EAAQ,KAAA;AAAA,UACR,KAAA,EAAO,MAAA;AAAA,UACP,eAAA,EAAiB,WAAA;AAAA,UACjB,IAAA,EAAM;AAAA;AACR;AAAA,KACF;AAAA,oBACA,KAAA,CAAA,aAAA,CAACC,mBAAQ,OAAA,EAASC,mCAAA,CAA0B,cAAc,GAAA,EAAK,EAAE,MAAA,EAAQ,OAAA,EAAQ,EAAA,kBAC/E,KAAA,CAAA,aAAA;AAAA,MAACC,qBAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,EAAE,MAAA,EAAQ,IAAA,EAAM,OAAO,IAAA,EAAK;AAAA,QACjC,OAAA,EAAQ,OAAA;AAAA,QACR,KAAA,EAAM,SAAA;AAAA,QACN,IAAA,sCAAOC,kBAAA,EAAA,IAAW,CAAA;AAAA,QAClB,OAAA,EAAS,QAAA;AAAA,QACT,YAAA,EAAW;AAAA;AAAA,KAEf;AAAA,GACF;AAEJ;;;;"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var purify_es = require('../../node_modules/dompurify/dist/purify.es.js');
4
+
5
+ const sanitizeHTML = (html) => {
6
+ if (typeof window === "undefined") {
7
+ return html;
8
+ }
9
+ return purify_es.default.sanitize(html, {
10
+ ALLOWED_TAGS: ["b", "i", "em", "strong", "a", "p", "br", "span", "div"],
11
+ ALLOWED_ATTR: ["href", "target", "rel", "class", "style"]
12
+ });
13
+ };
14
+
15
+ exports.sanitizeHTML = sanitizeHTML;
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../src/commons/utils/index.ts"],"sourcesContent":["import { v4 as uuid } from 'uuid';\nimport DOMPurify from 'dompurify';\nimport { SelectOption, FormFieldValue, ApiResponse } from '../types/enhanced';\nimport { DEFAULT_VALUES, VALIDATION_RULES } from '../constants/enhanced';\n\n// Type guards\nexport const isSelectOption = (value: unknown): value is SelectOption => {\n return (\n typeof value === 'object' &&\n value !== null &&\n 'label' in value &&\n 'value' in value &&\n typeof (value as SelectOption).label === 'string'\n );\n};\n\nexport const isNonEmptyString = (value: unknown): value is string => {\n return typeof value === 'string' && value.trim().length > 0;\n};\n\nexport const isValidEmail = (email: string): boolean => {\n return VALIDATION_RULES.EMAIL_REGEX.test(email);\n};\n\nexport const isValidPhone = (phone: string): boolean => {\n return VALIDATION_RULES.PHONE_REGEX.test(phone);\n};\n\nexport const isValidUrl = (url: string): boolean => {\n return VALIDATION_RULES.URL_REGEX.test(url);\n};\n\n// Utility functions\nexport const generateUniqueId = (): string => {\n return uuid();\n};\n\nexport const debounce = <T extends (...args: Record<string, unknown>[]) => void>(\n func: T,\n delay: number = DEFAULT_VALUES.DEBOUNCE_DELAY\n): ((...args: Parameters<T>) => void) => {\n let timeoutId: NodeJS.Timeout;\n return (...args: Parameters<T>) => {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => func(...args), delay);\n };\n};\n\nexport const throttle = <T extends (...args: Record<string, unknown>[]) => void>(\n func: T,\n limit: number = DEFAULT_VALUES.DEBOUNCE_DELAY\n): ((...args: Parameters<T>) => void) => {\n let inThrottle = false;\n return (...args: Parameters<T>) => {\n if (!inThrottle) {\n func(...args);\n inThrottle = true;\n setTimeout(() => (inThrottle = false), limit);\n }\n };\n};\n\n// Array utilities\nexport const removeDuplicates = <T>(\n array: T[],\n keyFn: (item: T) => string | number = (item) => JSON.stringify(item)\n): T[] => {\n const seen = new Set();\n return array.filter((item) => {\n const key = keyFn(item);\n if (seen.has(key)) {\n return false;\n }\n seen.add(key);\n return true;\n });\n};\n\nexport const groupBy = <T, K extends string | number>(\n array: T[],\n keyFn: (item: T) => K\n): Record<K, T[]> => {\n return array.reduce((result, item) => {\n const key = keyFn(item);\n (result[key] = result[key] || []).push(item);\n return result;\n }, {} as Record<K, T[]>);\n};\n\nexport const sortBy = <T>(\n array: T[],\n keyFn: (item: T) => string | number,\n direction: 'asc' | 'desc' = 'asc'\n): T[] => {\n return [...array].sort((a, b) => {\n const aVal = keyFn(a);\n const bVal = keyFn(b);\n \n if (direction === 'asc') {\n return aVal < bVal ? -1 : aVal > bVal ? 1 : 0;\n } else {\n return aVal > bVal ? -1 : aVal < bVal ? 1 : 0;\n }\n });\n};\n\n// Object utilities\nexport const isEmpty = (obj: unknown): boolean => {\n if (obj === null || obj === undefined) return true;\n if (typeof obj === 'string') return obj.trim().length === 0;\n if (Array.isArray(obj)) return obj.length === 0;\n if (typeof obj === 'object') return Object.keys(obj).length === 0;\n return false;\n};\n\nexport const deepClone = <T>(obj: T): T => {\n if (obj === null || typeof obj !== 'object') return obj;\n if (obj instanceof Date) return new Date(obj.getTime()) as T;\n if (Array.isArray(obj)) return obj.map((item) => deepClone(item)) as T;\n \n const cloned = {} as T;\n for (const key in obj) {\n if (obj.hasOwnProperty(key)) {\n cloned[key] = deepClone(obj[key]);\n }\n }\n return cloned;\n};\n\nexport const pick = <T extends object, K extends keyof T>(obj: T, keys: K[]): Pick<T, K> => {\n const result = {} as Pick<T, K>;\n keys.forEach((key) => {\n if (key in obj) {\n result[key] = obj[key];\n }\n });\n return result;\n};\n\nexport const omit = <T, K extends keyof T>(obj: T, keys: K[]): Omit<T, K> => {\n const result = { ...obj };\n keys.forEach((key) => {\n delete result[key];\n });\n return result;\n};\n\n// Form utilities\nexport const formatFormValue = (value: FormFieldValue): string => {\n if (value === null || value === undefined) return '';\n if (typeof value === 'boolean') return value ? 'true' : 'false';\n if (isSelectOption(value)) return value.label;\n if (Array.isArray(value)) {\n return value.map((item) => (isSelectOption(item) ? item.label : String(item))).join(', ');\n }\n return String(value);\n};\n\nexport const parseSelectOption = (value: unknown): SelectOption | null => {\n if (isSelectOption(value)) return value;\n if (typeof value === 'string' || typeof value === 'number') {\n return { label: String(value), value };\n }\n return null;\n};\n\n// API utilities\nexport const createApiResponse = <T>(\n data: T,\n success: boolean = true,\n message?: string,\n error?: string\n): ApiResponse<T> => {\n return {\n data,\n success,\n message,\n error,\n };\n};\n\nexport const handleApiError = (error: unknown): string => {\n if (error instanceof Error) {\n return error.message;\n }\n if (typeof error === 'string') {\n return error;\n }\n return 'An unknown error occurred';\n};\n\n// Date utilities\nexport const formatDate = (date: Date | string | number, format: string = 'YYYY-MM-DD'): string => {\n const d = new Date(date);\n \n if (isNaN(d.getTime())) {\n return '';\n }\n \n const year = d.getFullYear();\n const month = String(d.getMonth() + 1).padStart(2, '0');\n const day = String(d.getDate()).padStart(2, '0');\n const hours = String(d.getHours()).padStart(2, '0');\n const minutes = String(d.getMinutes()).padStart(2, '0');\n const seconds = String(d.getSeconds()).padStart(2, '0');\n \n return format\n .replace('YYYY', String(year))\n .replace('MM', month)\n .replace('DD', day)\n .replace('HH', hours)\n .replace('mm', minutes)\n .replace('ss', seconds);\n};\n\nexport const isDateInRange = (\n date: Date,\n startDate?: Date | null,\n endDate?: Date | null\n): boolean => {\n if (startDate && date < startDate) return false;\n if (endDate && date > endDate) return false;\n return true;\n};\n\n// Performance utilities\nexport const memoize = <T extends (...args: Record<string, unknown>[]) => any>(fn: T): T => {\n const cache = new Map();\n \n return ((...args: Parameters<T>): ReturnType<T> => {\n const key = JSON.stringify(args);\n \n if (cache.has(key)) {\n return cache.get(key);\n }\n \n const result = fn(...args);\n cache.set(key, result);\n return result;\n }) as T;\n};\n\n// Event utilities\nexport const preventDefault = (event: Event): void => {\n event.preventDefault();\n};\n\nexport const stopPropagation = (event: Event): void => {\n event.stopPropagation();\n};\n\nexport const preventDefaultAndStopPropagation = (event: Event): void => {\n event.preventDefault();\n event.stopPropagation();\n};\n\n// localStorage utilities with type safety\nexport const getFromStorage = <T>(key: string, defaultValue: T): T => {\n try {\n const item = localStorage.getItem(key);\n return item ? JSON.parse(item) : defaultValue;\n } catch {\n return defaultValue;\n }\n};\n\nexport const setToStorage = <T>(key: string, value: T): void => {\n try {\n localStorage.setItem(key, JSON.stringify(value));\n } catch (error) {\n console.warn('Failed to save to localStorage:', error);\n }\n};\n\nexport const removeFromStorage = (key: string): void => {\n try {\n localStorage.removeItem(key);\n } catch (error) {\n console.warn('Failed to remove from localStorage:', error);\n }\n};\n\n// File utilities\nexport const formatFileSize = (bytes: number): string => {\n if (bytes === 0) return '0 Bytes';\n \n const k = 1024;\n const sizes = ['Bytes', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n \n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n};\n\nexport const getFileExtension = (filename: string): string => {\n return filename.slice((filename.lastIndexOf('.') - 1 >>> 0) + 2);\n};\n\nexport const isFileTypeSupported = (filename: string, supportedTypes: string[]): boolean => {\n const extension = '.' + getFileExtension(filename).toLowerCase();\n return supportedTypes.includes(extension);\n};\n\n// HTML sanitization utility\n/**\n * Sanitizes HTML content using DOMPurify to prevent XSS attacks\n *\n * @param {string} html - The HTML string to sanitize\n * @returns {string} Sanitized HTML string safe for dangerouslySetInnerHTML\n *\n * @example\n * const sanitized = sanitizeHTML('<p>Hello <script>alert(\"xss\")</script></p>');\n * // Returns: '<p>Hello </p>'\n */\nexport const sanitizeHTML = (html: string): string => {\n if (typeof window === 'undefined') {\n // Server-side rendering fallback\n return html;\n }\n return DOMPurify.sanitize(html, {\n ALLOWED_TAGS: ['b', 'i', 'em', 'strong', 'a', 'p', 'br', 'span', 'div'],\n ALLOWED_ATTR: ['href', 'target', 'rel', 'class', 'style'],\n });\n};\n"],"names":["DOMPurify"],"mappings":";;;;AAyTO,MAAM,YAAA,GAAe,CAAC,IAAA,KAAyB;AACpD,EAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAEjC,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,OAAOA,iBAAA,CAAU,SAAS,IAAA,EAAM;AAAA,IAC9B,YAAA,EAAc,CAAC,GAAA,EAAK,GAAA,EAAK,IAAA,EAAM,UAAU,GAAA,EAAK,GAAA,EAAK,IAAA,EAAM,MAAA,EAAQ,KAAK,CAAA;AAAA,IACtE,cAAc,CAAC,MAAA,EAAQ,QAAA,EAAU,KAAA,EAAO,SAAS,OAAO;AAAA,GACzD,CAAA;AACH;;;;"}
@@ -63,7 +63,8 @@ const ContactImportHeader = ({
63
63
  onClick: handleBackClick,
64
64
  color: "default",
65
65
  icon: /* @__PURE__ */ React.createElement(arrowLeft.ArrowLeftIcon, null),
66
- size: "lg"
66
+ size: "lg",
67
+ "aria-label": "Go back"
67
68
  }
68
69
  ),
69
70
  /* @__PURE__ */ React.createElement(heading.Heading, { size: "h6" }, uiStrings.CONTACT_IMPORT_UI_STRINGS.NEW_CONTACT_IMPORT)
@@ -1 +1 @@
1
- {"version":3,"file":"ContactImportHeader.js","sources":["../../../../src/contact-import/components/ContactImportHeader.tsx"],"sourcesContent":["import {\n Button,\n Flex,\n Heading,\n IconButton,\n} from \"@sparrowengg/twigs-react\";\nimport { ArrowLeftIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useState } from \"react\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { ContactImportHeaderProps } from \"../types\";\nimport { CONTACT_IMPORT_UI_STRINGS } from \"../constants/ui-strings\";\nimport { ContactImportModal } from \"./ContactImportModal\";\n\nexport const ContactImportHeader: React.FC<ContactImportHeaderProps> = ({\n importName,\n setImportName,\n setNewImport,\n setContactImportField,\n contactImportField,\n hasPreviousMapping,\n previousMappingHandler,\n onSaveHandler,\n isContactMappingPage,\n navigateMappingPage,\n invitePortal,\n}) => {\n const [showImportModal, setShowImportModal] = useState(false);\n\n const handleBackClick = () => {\n setNewImport(false);\n previousMappingHandler();\n };\n\n const handleEventSetupClick = () => {\n if (isContactMappingPage) {\n navigateMappingPage(false);\n }\n };\n\n const handleContinueMapping = () => {\n setShowImportModal(true);\n };\n\n const handleSaveAndClose = async (importName: string) => {\n await onSaveHandler(importName);\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={handleBackClick}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n />\n <Heading size=\"h6\">{CONTACT_IMPORT_UI_STRINGS.NEW_CONTACT_IMPORT}</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ \n width: \"420px !important\",\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isContactMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={handleEventSetupClick}\n >\n {CONTACT_IMPORT_UI_STRINGS.EVENT_SETUP}\n </Button>\n <Arrow />\n <Button\n css={{ color: isContactMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={!isContactMappingPage}\n >\n {CONTACT_IMPORT_UI_STRINGS.MAPPING}\n </Button>\n </Flex>\n <Button\n disabled={!contactImportField?.fields?.some((field) => field?.integrationField && field?.surveySparrowField)}\n size=\"lg\"\n onClick={handleContinueMapping}\n css={{ visibility: isContactMappingPage ? \"visible\" : \"hidden\"}}\n >\n {CONTACT_IMPORT_UI_STRINGS.CONTINUE_MAPPING}\n </Button>\n {showImportModal && (\n <ContactImportModal\n importName={importName}\n setImportName={setImportName}\n setContactImportField={setContactImportField}\n contactImportField={contactImportField}\n invitePortal={invitePortal}\n onSaveHandler={handleSaveAndClose}\n onCloseHandler={() => setShowImportModal(false)}\n />\n )}\n </Flex>\n );\n};\n\n"],"names":["useState","importName","Flex","IconButton","ArrowLeftIcon","Heading","CONTACT_IMPORT_UI_STRINGS","Button","Arrow","ContactImportModal"],"mappings":";;;;;;;;;;;;AAaO,MAAM,sBAA0D,CAAC;AAAA,EACtE,UAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,qBAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,sBAAA;AAAA,EACA,aAAA;AAAA,EACA,oBAAA;AAAA,EACA,mBAAA;AAAA,EACA;AACF,CAAA,KAAM;AAzBN,EAAA,IAAA,EAAA;AA0BE,EAAA,MAAM,CAAC,eAAA,EAAiB,kBAAkB,CAAA,GAAIA,eAAS,KAAK,CAAA;AAE5D,EAAA,MAAM,kBAAkB,MAAM;AAC5B,IAAA,YAAA,CAAa,KAAK,CAAA;AAClB,IAAA,sBAAA,EAAuB;AAAA,EACzB,CAAA;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAClC,IAAA,IAAI,oBAAA,EAAsB;AACxB,MAAA,mBAAA,CAAoB,KAAK,CAAA;AAAA,IAC3B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,wBAAwB,MAAM;AAClC,IAAA,kBAAA,CAAmB,IAAI,CAAA;AAAA,EACzB,CAAA;AAEA,EAAA,MAAM,kBAAA,GAAqB,OAAOC,WAAAA,KAAuB;AACvD,IAAA,MAAM,cAAcA,WAAU,CAAA;AAAA,EAChC,CAAA;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,UAAA,EAAW,QAAA;AAAA,MACX,cAAA,EAAe,eAAA;AAAA,MACf,GAAA,EAAK;AAAA,QACH,YAAA,EAAc,oCAAA;AAAA,QACd,OAAA,EAAS;AAAA;AACX,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA;AAAA,MAACA,SAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAI,IAAA;AAAA,QACJ,UAAA,EAAW,QAAA;AAAA,QACX,GAAA,EAAK,EAAE,UAAA,EAAY,kBAAA,GAAqB,YAAY,QAAA;AAAS,OAAA;AAAA,sBAE7D,KAAA,CAAA,aAAA;AAAA,QAACC,qBAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAS,eAAA;AAAA,UACT,KAAA,EAAM,SAAA;AAAA,UACN,IAAA,sCAAOC,uBAAA,EAAA,IAAc,CAAA;AAAA,UACrB,IAAA,EAAK;AAAA;AAAA,OACP;AAAA,sBACA,KAAA,CAAA,aAAA,CAACC,eAAA,EAAA,EAAQ,IAAA,EAAK,IAAA,EAAA,EAAMC,oCAA0B,kBAAmB;AAAA,KACnE;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACJ,SAAA;AAAA,MAAA;AAAA,QACC,UAAA,EAAW,QAAA;AAAA,QACX,GAAA,EAAI,IAAA;AAAA,QACJ,GAAA,EAAK;AAAA,UACH,KAAA,EAAO,kBAAA;AAAA,UACP,UAAA,EAAY,EAAE,UAAA,EAAY,wBAAA,EAA0B,UAAU,KAAA;AAAM;AACtE,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA;AAAA,QAACK,aAAA;AAAA,QAAA;AAAA,UACC,KAAK,EAAE,KAAA,EAAO,CAAC,oBAAA,GAAuB,gBAAgB,aAAA,EAAc;AAAA,UACpE,KAAA,EAAM,SAAA;AAAA,UACN,OAAA,EAAQ,OAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,OAAA,EAAS;AAAA,SAAA;AAAA,QAERD,mCAAA,CAA0B;AAAA,OAC7B;AAAA,0CACCE,aAAA,EAAA,IAAM,CAAA;AAAA,sBACP,KAAA,CAAA,aAAA;AAAA,QAACD,aAAA;AAAA,QAAA;AAAA,UACC,GAAA,EAAK,EAAE,KAAA,EAAO,oBAAA,GAAuB,gBAAgB,aAAA,EAAc;AAAA,UACnE,KAAA,EAAM,SAAA;AAAA,UACN,OAAA,EAAQ,OAAA;AAAA,UACR,IAAA,EAAK,IAAA;AAAA,UACL,UAAU,CAAC;AAAA,SAAA;AAAA,QAEVD,mCAAA,CAA0B;AAAA;AAC7B,KACF;AAAA,oBACA,KAAA,CAAA,aAAA;AAAA,MAACC,aAAA;AAAA,MAAA;AAAA,QACC,QAAA,EAAU,EAAA,CAAC,EAAA,GAAA,kBAAA,IAAA,IAAA,GAAA,MAAA,GAAA,kBAAA,CAAoB,MAAA,KAApB,IAAA,GAAA,MAAA,GAAA,EAAA,CAA4B,KAAK,CAAC,KAAA,KAAA,CAAU,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,gBAAA,MAAoB,KAAA,IAAA,IAAA,GAAA,MAAA,GAAA,KAAA,CAAO,kBAAA,CAAA,CAAA,CAAA;AAAA,QACzF,IAAA,EAAK,IAAA;AAAA,QACL,OAAA,EAAS,qBAAA;AAAA,QACT,GAAA,EAAK,EAAE,UAAA,EAAY,oBAAA,GAAuB,YAAY,QAAA;AAAQ,OAAA;AAAA,MAE7DD,mCAAA,CAA0B;AAAA,KAC7B;AAAA,IACC,eAAA,oBACC,KAAA,CAAA,aAAA;AAAA,MAACG,qCAAA;AAAA,MAAA;AAAA,QACC,UAAA;AAAA,QACA,aAAA;AAAA,QACA,qBAAA;AAAA,QACA,kBAAA;AAAA,QACA,YAAA;AAAA,QACA,aAAA,EAAe,kBAAA;AAAA,QACf,cAAA,EAAgB,MAAM,kBAAA,CAAmB,KAAK;AAAA;AAAA;AAChD,GAEJ;AAEJ;;;;"}
1
+ {"version":3,"file":"ContactImportHeader.js","sources":["../../../../src/contact-import/components/ContactImportHeader.tsx"],"sourcesContent":["import {\n Button,\n Flex,\n Heading,\n IconButton,\n} from \"@sparrowengg/twigs-react\";\nimport { ArrowLeftIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useState } from \"react\";\nimport Arrow from \"../../commons/icons/arrow\";\nimport { ContactImportHeaderProps } from \"../types\";\nimport { CONTACT_IMPORT_UI_STRINGS } from \"../constants/ui-strings\";\nimport { ContactImportModal } from \"./ContactImportModal\";\n\nexport const ContactImportHeader: React.FC<ContactImportHeaderProps> = ({\n importName,\n setImportName,\n setNewImport,\n setContactImportField,\n contactImportField,\n hasPreviousMapping,\n previousMappingHandler,\n onSaveHandler,\n isContactMappingPage,\n navigateMappingPage,\n invitePortal,\n}) => {\n const [showImportModal, setShowImportModal] = useState(false);\n\n const handleBackClick = () => {\n setNewImport(false);\n previousMappingHandler();\n };\n\n const handleEventSetupClick = () => {\n if (isContactMappingPage) {\n navigateMappingPage(false);\n }\n };\n\n const handleContinueMapping = () => {\n setShowImportModal(true);\n };\n\n const handleSaveAndClose = async (importName: string) => {\n await onSaveHandler(importName);\n };\n\n return (\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$8 $12\",\n }}\n >\n <Flex\n gap=\"$6\"\n alignItems=\"center\"\n css={{ visibility: hasPreviousMapping ? \"visible\" : \"hidden\" }}\n >\n <IconButton\n onClick={handleBackClick}\n color=\"default\"\n icon={<ArrowLeftIcon />}\n size=\"lg\"\n aria-label=\"Go back\"\n />\n <Heading size=\"h6\">{CONTACT_IMPORT_UI_STRINGS.NEW_CONTACT_IMPORT}</Heading>\n </Flex>\n <Flex\n alignItems=\"center\"\n gap=\"$4\"\n css={{ \n width: \"420px !important\",\n \"& button\": { background: \"transparent !important\", fontSize: \"$md\" },\n }}\n >\n <Button\n css={{ color: !isContactMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n onClick={handleEventSetupClick}\n >\n {CONTACT_IMPORT_UI_STRINGS.EVENT_SETUP}\n </Button>\n <Arrow />\n <Button\n css={{ color: isContactMappingPage ? \"$neutral900\" : \"$neutral800\" }}\n color=\"default\"\n variant=\"ghost\"\n size=\"md\"\n disabled={!isContactMappingPage}\n >\n {CONTACT_IMPORT_UI_STRINGS.MAPPING}\n </Button>\n </Flex>\n <Button\n disabled={!contactImportField?.fields?.some((field) => field?.integrationField && field?.surveySparrowField)}\n size=\"lg\"\n onClick={handleContinueMapping}\n css={{ visibility: isContactMappingPage ? \"visible\" : \"hidden\"}}\n >\n {CONTACT_IMPORT_UI_STRINGS.CONTINUE_MAPPING}\n </Button>\n {showImportModal && (\n <ContactImportModal\n importName={importName}\n setImportName={setImportName}\n setContactImportField={setContactImportField}\n contactImportField={contactImportField}\n invitePortal={invitePortal}\n onSaveHandler={handleSaveAndClose}\n onCloseHandler={() => setShowImportModal(false)}\n />\n )}\n </Flex>\n );\n};\n\n"],"names":["useState","importName","Flex","IconButton","ArrowLeftIcon","Heading","CONTACT_IMPORT_UI_STRINGS","Button","Arrow","ContactImportModal"],"mappings":"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"}
@@ -96,7 +96,8 @@ const ContactImportModal = ({
96
96
  color: "#64748B !important"
97
97
  }
98
98
  },
99
- onClick: onCloseHandler
99
+ onClick: onCloseHandler,
100
+ "aria-label": "Close modal"
100
101
  }
101
102
  )
102
103
  ),
@@ -1 +1 @@
1
- {"version":3,"file":"ContactImportModal.js","sources":["../../../../src/contact-import/components/ContactImportModal.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\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, { useState } from \"react\";\nimport { ContactImportFieldType } from \"../types\";\nimport { CONTACT_IMPORT_UI_STRINGS } from \"../constants/ui-strings\";\nimport { MODAL_MAX_WIDTH, INPUT_MAX_LENGTH } from \"../../commons/constants\";\nimport { generateUniqueId } from \"../../commons/helpers\";\nimport { isValidInputLength } from \"../utils\";\n\ninterface ContactImportModalProps {\n importName: string;\n setImportName: React.Dispatch<React.SetStateAction<string>>;\n setContactImportField: React.Dispatch<React.SetStateAction<ContactImportFieldType>>;\n contactImportField: ContactImportFieldType;\n onCloseHandler: () => void;\n onSaveHandler: (importName: string) => void | Promise<void>;\n invitePortal: {\n hasInvitePortal: boolean;\n value: boolean | null;\n onChangeHandler: (value: boolean) => void;\n };\n}\n\nexport const ContactImportModal: React.FC<ContactImportModalProps> = ({\n importName,\n setImportName,\n setContactImportField,\n contactImportField,\n onCloseHandler,\n onSaveHandler,\n invitePortal,\n}) => {\n const [internalLoading, setInternalLoading] = useState(false);\n\n const handleInputChange = (event: any) => {\n setImportName(event.currentTarget.value);\n };\n\n const handleInvitePortalChange = (value: any) => {\n setContactImportField({\n ...contactImportField,\n invitePortal: value,\n });\n invitePortal.onChangeHandler(value);\n };\n\n const handleFinishImport = async () => {\n setInternalLoading(true);\n setContactImportField({\n ...contactImportField,\n description: importName,\n id: generateUniqueId(),\n });\n await onSaveHandler(importName);\n setInternalLoading(false);\n };\n const isFinishDisabled = !isValidInputLength(importName);\n\n\n return (\n <Dialog open>\n <DialogContent\n className=\"dm-sans\"\n css={{\n fontFamily: \"DM Sans !important\",\n 'p': {\n margin: \"0 !important\",\n },\n padding: 0,\n borderRadius: \"$3xl\",\n maxWidth: MODAL_MAX_WIDTH,\n }}\n >\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n className=\"dm-sans\"\n css={{\n padding: \"$8 $12\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n }}\n >\n <Heading className=\"dm-sans\" size=\"h6\" css={{ color: \"$neutral900\" }}>\n {CONTACT_IMPORT_UI_STRINGS.IMPORT_CONFIGURATION}\n </Heading>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n disabled={internalLoading}\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 className=\"dm-sans\"\n css={{\n padding: \"$12\",\n }}\n >\n <FormInput\n className=\"dm-sans\"\n label={CONTACT_IMPORT_UI_STRINGS.TITLE_LABEL}\n requiredIndicator\n value={contactImportField?.configure?.reference || importName}\n maxLength={INPUT_MAX_LENGTH}\n max={INPUT_MAX_LENGTH}\n showCount\n onChange={handleInputChange}\n size=\"lg\"\n />\n {/* {invitePortal.hasInvitePortal && (\n <Box css={{ marginTop: \"$12\" }}>\n <Checkbox\n checked={!!invitePortal.value}\n onChange={handleInvitePortalChange}\n >\n {CONTACT_IMPORT_UI_STRINGS.INVITE_TO_PORTAL}\n </Checkbox>\n </Box>\n )} */}\n </Box>\n <Flex\n className=\"dm-sans\"\n gap=\"$4\"\n css={{\n justifyContent: \"flex-end\",\n padding: \"$8 $12\",\n }}\n >\n <Button size=\"lg\" color=\"default\" disabled={internalLoading} onClick={onCloseHandler}>\n {CONTACT_IMPORT_UI_STRINGS.CANCEL}\n </Button>\n <Button\n size=\"lg\"\n disabled={isFinishDisabled || internalLoading}\n onClick={async () => await handleFinishImport()}\n loading={internalLoading}\n >\n {CONTACT_IMPORT_UI_STRINGS.FINISH_IMPORT}\n </Button>\n </Flex>\n </DialogContent>\n </Dialog>\n );\n};\n\n"],"names":["useState","generateUniqueId","isValidInputLength","Dialog","DialogContent","MODAL_MAX_WIDTH","Flex","Heading","CONTACT_IMPORT_UI_STRINGS","IconButton","CloseIcon","Box","FormInput","INPUT_MAX_LENGTH","Button"],"mappings":"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"}
1
+ {"version":3,"file":"ContactImportModal.js","sources":["../../../../src/contact-import/components/ContactImportModal.tsx"],"sourcesContent":["import {\n Box,\n Button,\n Checkbox,\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, { useState } from \"react\";\nimport { ContactImportFieldType } from \"../types\";\nimport { CONTACT_IMPORT_UI_STRINGS } from \"../constants/ui-strings\";\nimport { MODAL_MAX_WIDTH, INPUT_MAX_LENGTH } from \"../../commons/constants\";\nimport { generateUniqueId } from \"../../commons/helpers\";\nimport { isValidInputLength } from \"../utils\";\n\ninterface ContactImportModalProps {\n importName: string;\n setImportName: React.Dispatch<React.SetStateAction<string>>;\n setContactImportField: React.Dispatch<React.SetStateAction<ContactImportFieldType>>;\n contactImportField: ContactImportFieldType;\n onCloseHandler: () => void;\n onSaveHandler: (importName: string) => void | Promise<void>;\n invitePortal: {\n hasInvitePortal: boolean;\n value: boolean | null;\n onChangeHandler: (value: boolean) => void;\n };\n}\n\nexport const ContactImportModal: React.FC<ContactImportModalProps> = ({\n importName,\n setImportName,\n setContactImportField,\n contactImportField,\n onCloseHandler,\n onSaveHandler,\n invitePortal,\n}) => {\n const [internalLoading, setInternalLoading] = useState(false);\n\n const handleInputChange = (event: any) => {\n setImportName(event.currentTarget.value);\n };\n\n const handleInvitePortalChange = (value: any) => {\n setContactImportField({\n ...contactImportField,\n invitePortal: value,\n });\n invitePortal.onChangeHandler(value);\n };\n\n const handleFinishImport = async () => {\n setInternalLoading(true);\n setContactImportField({\n ...contactImportField,\n description: importName,\n id: generateUniqueId(),\n });\n await onSaveHandler(importName);\n setInternalLoading(false);\n };\n const isFinishDisabled = !isValidInputLength(importName);\n\n\n return (\n <Dialog open>\n <DialogContent\n className=\"dm-sans\"\n css={{\n fontFamily: \"DM Sans !important\",\n 'p': {\n margin: \"0 !important\",\n },\n padding: 0,\n borderRadius: \"$3xl\",\n maxWidth: MODAL_MAX_WIDTH,\n }}\n >\n <Flex\n alignItems=\"center\"\n justifyContent=\"space-between\"\n className=\"dm-sans\"\n css={{\n padding: \"$8 $12\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n }}\n >\n <Heading className=\"dm-sans\" size=\"h6\" css={{ color: \"$neutral900\" }}>\n {CONTACT_IMPORT_UI_STRINGS.IMPORT_CONFIGURATION}\n </Heading>\n <IconButton\n variant=\"ghost\"\n color=\"default\"\n disabled={internalLoading}\n icon={<CloseIcon />}\n size=\"lg\"\n css={{\n \"& svg\": {\n color: \"#64748B !important\",\n },\n }}\n onClick={onCloseHandler}\n aria-label=\"Close modal\"\n />\n </Flex>\n <Box\n className=\"dm-sans\"\n css={{\n padding: \"$12\",\n }}\n >\n <FormInput\n className=\"dm-sans\"\n label={CONTACT_IMPORT_UI_STRINGS.TITLE_LABEL}\n requiredIndicator\n value={contactImportField?.configure?.reference || importName}\n maxLength={INPUT_MAX_LENGTH}\n max={INPUT_MAX_LENGTH}\n showCount\n onChange={handleInputChange}\n size=\"lg\"\n />\n {/* {invitePortal.hasInvitePortal && (\n <Box css={{ marginTop: \"$12\" }}>\n <Checkbox\n checked={!!invitePortal.value}\n onChange={handleInvitePortalChange}\n >\n {CONTACT_IMPORT_UI_STRINGS.INVITE_TO_PORTAL}\n </Checkbox>\n </Box>\n )} */}\n </Box>\n <Flex\n className=\"dm-sans\"\n gap=\"$4\"\n css={{\n justifyContent: \"flex-end\",\n padding: \"$8 $12\",\n }}\n >\n <Button size=\"lg\" color=\"default\" disabled={internalLoading} onClick={onCloseHandler}>\n {CONTACT_IMPORT_UI_STRINGS.CANCEL}\n </Button>\n <Button\n size=\"lg\"\n disabled={isFinishDisabled || internalLoading}\n onClick={async () => await handleFinishImport()}\n loading={internalLoading}\n >\n {CONTACT_IMPORT_UI_STRINGS.FINISH_IMPORT}\n </Button>\n </Flex>\n </DialogContent>\n </Dialog>\n );\n};\n\n"],"names":["useState","generateUniqueId","isValidInputLength","Dialog","DialogContent","MODAL_MAX_WIDTH","Flex","Heading","CONTACT_IMPORT_UI_STRINGS","IconButton","CloseIcon","Box","FormInput","INPUT_MAX_LENGTH","Button"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var moment = require('../../../node_modules/moment/moment.js');
6
+ var moment = require('moment');
7
7
  var tooltip = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js');
8
8
  var box = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
9
9
  var grid = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js');
@@ -55,9 +55,9 @@ const Completed = ({ completed }) => {
55
55
  },
56
56
  /* @__PURE__ */ React.createElement(text.Text, { weight: "bold", css: { color: "$neutral900" } }, item.name),
57
57
  /* @__PURE__ */ React.createElement(text.Text, { css: { color: "$neutral900" } }, item.type),
58
- /* @__PURE__ */ React.createElement(text.Text, null, moment.default(item.importedOn).format("MMM D, YYYY | h:mm A")),
58
+ /* @__PURE__ */ React.createElement(text.Text, null, moment(item.importedOn).format("MMM D, YYYY | h:mm A")),
59
59
  /* @__PURE__ */ React.createElement(text.Text, null, item.status === "success" ? /* @__PURE__ */ React.createElement(tickCircleFill.TickCircleFillIcon, { color: "#5EA130", size: "24" }) : /* @__PURE__ */ React.createElement(alertFill.AlertFillIcon, { color: "#F65633", size: "24" })),
60
- /* @__PURE__ */ React.createElement(flex.Flex, { justifyContent: "center" }, currentRow === item.id ? /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, { size: "sm" }, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(iconButton.IconButton, { size: "md", variant: "ghost", color: "secondary" }, /* @__PURE__ */ React.createElement(ellipsisVertical.EllipsisVerticalIcon, null))), /* @__PURE__ */ React.createElement(
60
+ /* @__PURE__ */ React.createElement(flex.Flex, { justifyContent: "center" }, currentRow === item.id ? /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, { size: "sm" }, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(iconButton.IconButton, { size: "md", variant: "ghost", color: "secondary", "aria-label": "More options" }, /* @__PURE__ */ React.createElement(ellipsisVertical.EllipsisVerticalIcon, null))), /* @__PURE__ */ React.createElement(
61
61
  dropdown.DropdownMenuContent,
62
62
  {
63
63
  onCloseAutoFocus: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Completed.js","sources":["../../../../../src/contact-import/components/ManageImport/Completed.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Box,\n Grid,\n Text,\n TooltipProvider,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n IconButton,\n Flex,\n} from \"@sparrowengg/twigs-react\";\nimport moment from \"moment\";\nimport {\n AlertFillIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { CompletedImportTypes } from \"../../types\";\n\nconst Completed = ({ completed }: { completed: Array<CompletedImportTypes> }) => {\n const [currentRow, setCurrentRow] = useState(0);\n return (\n <>\n <TooltipProvider>\n <Box css={{ width: \"100%\", height: \"100%\", overflow: \"scroll\" }}>\n <Grid\n templateColumns=\"25% 25% 25% 13% 12%\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$7 $12\",\n color: \"$neutral900\",\n alignItems: \"center\",\n position: \"sticky\",\n top: \"0\",\n background: \"white\",\n zIndex: \"2\",\n }}\n >\n <Text weight=\"medium\">Import Name</Text>\n <Text weight=\"medium\">Contact Type</Text>\n <Text weight=\"medium\">Imported on</Text>\n <Text weight=\"medium\">Status</Text>\n <Text weight=\"medium\"></Text>\n </Grid>\n {completed?.map((item: CompletedImportTypes) => {\n return (\n <Grid\n onMouseOver={() => setCurrentRow(item.id)}\n templateColumns=\"25% 25% 25% 13% 12%\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n padding: \"$9 $12\",\n fontWeight: \"$4\",\n color: \"$neutral700\",\n alignItems: \"center\",\n }}\n >\n <Text weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {item.name}\n </Text>\n <Text css={{ color: \"$neutral900\" }}>{item.type}</Text>\n <Text>\n {moment(item.importedOn).format(\"MMM D, YYYY | h:mm A\")}\n </Text>\n <Text>\n {item.status === \"success\" ? (\n <TickCircleFillIcon color=\"#5EA130\" size=\"24\" />\n ) : (\n <AlertFillIcon color=\"#F65633\" size=\"24\" />\n )}\n </Text>\n\n <Flex justifyContent=\"center\">\n {currentRow === item.id ? (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <IconButton size=\"md\" variant=\"ghost\" color=\"secondary\">\n <EllipsisVerticalIcon />\n </IconButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n onCloseAutoFocus={(e) => {\n e.preventDefault();\n }}\n side=\"bottom\"\n align=\"end\"\n css={{ minWidth: \"128px\", padding: \"$4 0\" }}\n >\n <DropdownMenuItem css={{ cursor: \"pointer\" }}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n ) : null}\n </Flex>\n </Grid>\n );\n })}\n </Box>\n </TooltipProvider>\n </>\n );\n};\n\nexport default Completed;\n"],"names":["useState","TooltipProvider","Box","Grid","Text","moment","TickCircleFillIcon","AlertFillIcon","Flex","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem","DeleteIcon"],"mappings":"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"}
1
+ {"version":3,"file":"Completed.js","sources":["../../../../../src/contact-import/components/ManageImport/Completed.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Box,\n Grid,\n Text,\n TooltipProvider,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n IconButton,\n Flex,\n} from \"@sparrowengg/twigs-react\";\nimport moment from \"moment\";\nimport {\n AlertFillIcon,\n DeleteIcon,\n EllipsisVerticalIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { CompletedImportTypes } from \"../../types\";\n\nconst Completed = ({ completed }: { completed: Array<CompletedImportTypes> }) => {\n const [currentRow, setCurrentRow] = useState(0);\n return (\n <>\n <TooltipProvider>\n <Box css={{ width: \"100%\", height: \"100%\", overflow: \"scroll\" }}>\n <Grid\n templateColumns=\"25% 25% 25% 13% 12%\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$7 $12\",\n color: \"$neutral900\",\n alignItems: \"center\",\n position: \"sticky\",\n top: \"0\",\n background: \"white\",\n zIndex: \"2\",\n }}\n >\n <Text weight=\"medium\">Import Name</Text>\n <Text weight=\"medium\">Contact Type</Text>\n <Text weight=\"medium\">Imported on</Text>\n <Text weight=\"medium\">Status</Text>\n <Text weight=\"medium\"></Text>\n </Grid>\n {completed?.map((item: CompletedImportTypes) => {\n return (\n <Grid\n onMouseOver={() => setCurrentRow(item.id)}\n templateColumns=\"25% 25% 25% 13% 12%\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n padding: \"$9 $12\",\n fontWeight: \"$4\",\n color: \"$neutral700\",\n alignItems: \"center\",\n }}\n >\n <Text weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {item.name}\n </Text>\n <Text css={{ color: \"$neutral900\" }}>{item.type}</Text>\n <Text>\n {moment(item.importedOn).format(\"MMM D, YYYY | h:mm A\")}\n </Text>\n <Text>\n {item.status === \"success\" ? (\n <TickCircleFillIcon color=\"#5EA130\" size=\"24\" />\n ) : (\n <AlertFillIcon color=\"#F65633\" size=\"24\" />\n )}\n </Text>\n\n <Flex justifyContent=\"center\">\n {currentRow === item.id ? (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <IconButton size=\"md\" variant=\"ghost\" color=\"secondary\" aria-label=\"More options\">\n <EllipsisVerticalIcon />\n </IconButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n onCloseAutoFocus={(e) => {\n e.preventDefault();\n }}\n side=\"bottom\"\n align=\"end\"\n css={{ minWidth: \"128px\", padding: \"$4 0\" }}\n >\n <DropdownMenuItem css={{ cursor: \"pointer\" }}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n ) : null}\n </Flex>\n </Grid>\n );\n })}\n </Box>\n </TooltipProvider>\n </>\n );\n};\n\nexport default Completed;\n"],"names":["useState","TooltipProvider","Box","Grid","Text","TickCircleFillIcon","AlertFillIcon","Flex","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem","DeleteIcon"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
- var moment = require('../../../node_modules/moment/moment.js');
6
+ var moment = require('moment');
7
7
  var tooltip = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/tooltip/tooltip.js');
8
8
  var box = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/box/box.js');
9
9
  var grid = require('../../../node_modules/@sparrowengg/twigs-react/dist/es/grid/grid.js');
@@ -59,10 +59,10 @@ const Scheduled = ({ scheduled }) => {
59
59
  /* @__PURE__ */ React.createElement(text.Text, null, /* @__PURE__ */ React.createElement(_switch.Switch, { checked: item.scheduled, size: "sm" })),
60
60
  /* @__PURE__ */ React.createElement(text.Text, { weight: "bold", css: { color: "$neutral900" } }, item.name),
61
61
  /* @__PURE__ */ React.createElement(text.Text, { css: { color: "$neutral900" } }, item.type),
62
- /* @__PURE__ */ React.createElement(text.Text, null, moment.default(item.createdOn).format("MMM D, YYYY | h:mm A")),
63
- /* @__PURE__ */ React.createElement(text.Text, null, moment.default(item.upcommingImport).format("MMM D, YYYY | h:mm A")),
62
+ /* @__PURE__ */ React.createElement(text.Text, null, moment(item.createdOn).format("MMM D, YYYY | h:mm A")),
63
+ /* @__PURE__ */ React.createElement(text.Text, null, moment(item.upcommingImport).format("MMM D, YYYY | h:mm A")),
64
64
  /* @__PURE__ */ React.createElement(text.Text, null, item.status === "success" ? /* @__PURE__ */ React.createElement(tickCircleFill.TickCircleFillIcon, { color: "#5EA130", size: "24" }) : /* @__PURE__ */ React.createElement(alertFill.AlertFillIcon, { color: "#F65633", size: "24" })),
65
- /* @__PURE__ */ React.createElement(flex.Flex, { justifyContent: "center" }, currentRow === item.id ? /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, { size: "sm" }, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(iconButton.IconButton, { size: "md", variant: "ghost", color: "secondary" }, /* @__PURE__ */ React.createElement(ellipsisVertical.EllipsisVerticalIcon, null))), /* @__PURE__ */ React.createElement(
65
+ /* @__PURE__ */ React.createElement(flex.Flex, { justifyContent: "center" }, currentRow === item.id ? /* @__PURE__ */ React.createElement(dropdown.DropdownMenu, { size: "sm" }, /* @__PURE__ */ React.createElement(dropdown.DropdownMenuTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(iconButton.IconButton, { size: "md", variant: "ghost", color: "secondary", "aria-label": "More options" }, /* @__PURE__ */ React.createElement(ellipsisVertical.EllipsisVerticalIcon, null))), /* @__PURE__ */ React.createElement(
66
66
  dropdown.DropdownMenuContent,
67
67
  {
68
68
  onCloseAutoFocus: (e) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduled.js","sources":["../../../../../src/contact-import/components/ManageImport/Scheduled.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Box,\n Grid,\n Switch,\n Text,\n TooltipProvider,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n IconButton,\n Flex,\n} from \"@sparrowengg/twigs-react\";\nimport moment from \"moment\";\nimport {\n AlertFillIcon,\n DeleteIcon,\n PencilIcon,\n EllipsisVerticalIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { ScheduledImportTypes } from \"../../types\";\n\nconst Scheduled = ({ scheduled }: { scheduled: Array<ScheduledImportTypes> }) => {\n const [currentRow, setCurrentRow] = useState(0);\n return (\n <>\n <TooltipProvider>\n <Box css={{ width: \"100%\", height: \"100%\", overflow: \"scroll\" }}>\n <Grid\n templateColumns=\"10% 20% 20% 20% 20% 5% 5%\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$7 $12\",\n color: \"$neutral900\",\n alignItems: \"center\",\n position: \"sticky\",\n top: \"0\",\n background: \"white\",\n zIndex: \"2\",\n }}\n >\n <Text> </Text>\n <Text weight=\"medium\">Import Name</Text>\n <Text weight=\"medium\">Contact Type</Text>\n <Text weight=\"medium\">Created on</Text>\n <Text weight=\"medium\">Upcomming Import</Text>\n <Text weight=\"medium\">Status</Text>\n </Grid>\n {scheduled?.map((item: ScheduledImportTypes) => {\n return (\n <Grid\n onMouseOver={() => setCurrentRow(item.id)}\n templateColumns=\"10% 20% 20% 20% 20% 5% 5%\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n padding: \"$9 $12\",\n fontWeight: \"$4\",\n color: \"$neutral700\",\n alignItems: \"center\",\n }}\n >\n <Text>\n <Switch checked={item.scheduled} size=\"sm\" />\n </Text>\n <Text weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {item.name}\n </Text>\n <Text css={{ color: \"$neutral900\" }}>{item.type}</Text>\n <Text>\n {moment(item.createdOn).format(\"MMM D, YYYY | h:mm A\")}\n </Text>\n <Text>\n {moment(item.upcommingImport).format(\"MMM D, YYYY | h:mm A\")}\n </Text>\n <Text>\n {item.status === \"success\" ? (\n <TickCircleFillIcon color=\"#5EA130\" size=\"24\" />\n ) : (\n <AlertFillIcon color=\"#F65633\" size=\"24\" />\n )}\n </Text>\n\n <Flex justifyContent=\"center\">\n {currentRow === item.id ? (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <IconButton size=\"md\" variant=\"ghost\" color=\"secondary\">\n <EllipsisVerticalIcon />\n </IconButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n onCloseAutoFocus={(e) => {\n e.preventDefault();\n }}\n side=\"bottom\"\n align=\"end\"\n css={{ minWidth: \"128px\", padding: \"$4 0\" }}\n >\n <DropdownMenuItem css={{ cursor: \"pointer\" }}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem css={{ cursor: \"pointer\" }}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n ) : null}\n </Flex>\n </Grid>\n );\n })}\n </Box>\n </TooltipProvider>\n </>\n );\n};\n\nexport default Scheduled;\n"],"names":["useState","TooltipProvider","Box","Grid","Text","Switch","moment","TickCircleFillIcon","AlertFillIcon","Flex","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem","DeleteIcon","PencilIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;AAwBA,MAAM,SAAA,GAAY,CAAC,EAAE,SAAA,EAAU,KAAkD;AAC/E,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIA,eAAS,CAAC,CAAA;AAC9C,EAAA,uBACE,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,kBACE,KAAA,CAAA,aAAA,CAACC,uBAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAACC,OAAA,EAAA,EAAI,GAAA,EAAK,EAAE,KAAA,EAAO,MAAA,EAAQ,MAAA,EAAQ,MAAA,EAAQ,QAAA,EAAU,UAAS,EAAA,kBAC5D,KAAA,CAAA,aAAA;AAAA,IAACC,SAAA;AAAA,IAAA;AAAA,MACC,eAAA,EAAgB,2BAAA;AAAA,MAChB,GAAA,EAAK;AAAA,QACH,SAAA,EAAW,oCAAA;AAAA,QACX,YAAA,EAAc,oCAAA;AAAA,QACd,OAAA,EAAS,QAAA;AAAA,QACT,KAAA,EAAO,aAAA;AAAA,QACP,UAAA,EAAY,QAAA;AAAA,QACZ,QAAA,EAAU,QAAA;AAAA,QACV,GAAA,EAAK,GAAA;AAAA,QACL,UAAA,EAAY,OAAA;AAAA,QACZ,MAAA,EAAQ;AAAA;AACV,KAAA;AAAA,oBAEA,KAAA,CAAA,aAAA,CAACC,iBAAK,GAAC,CAAA;AAAA,oBACP,KAAA,CAAA,aAAA,CAACA,SAAA,EAAA,EAAK,MAAA,EAAO,QAAA,EAAA,EAAS,aAAW,CAAA;AAAA,oBACjC,KAAA,CAAA,aAAA,CAACA,SAAA,EAAA,EAAK,MAAA,EAAO,QAAA,EAAA,EAAS,cAAY,CAAA;AAAA,oBAClC,KAAA,CAAA,aAAA,CAACA,SAAA,EAAA,EAAK,MAAA,EAAO,QAAA,EAAA,EAAS,YAAU,CAAA;AAAA,oBAChC,KAAA,CAAA,aAAA,CAACA,SAAA,EAAA,EAAK,MAAA,EAAO,QAAA,EAAA,EAAS,kBAAgB,CAAA;AAAA,oBACtC,KAAA,CAAA,aAAA,CAACA,SAAA,EAAA,EAAK,MAAA,EAAO,QAAA,EAAA,EAAS,QAAM;AAAA,GAC9B,EACC,SAAA,IAAA,IAAA,GAAA,MAAA,GAAA,SAAA,CAAW,GAAA,CAAI,CAAC,IAAA,KAA+B;AAC9C,IAAA,uBACE,KAAA,CAAA,aAAA;AAAA,MAACD,SAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAa,MAAM,aAAA,CAAc,IAAA,CAAK,EAAE,CAAA;AAAA,QACxC,eAAA,EAAgB,2BAAA;AAAA,QAChB,GAAA,EAAK;AAAA,UACH,YAAA,EAAc,oCAAA;AAAA,UACd,OAAA,EAAS,QAAA;AAAA,UACT,UAAA,EAAY,IAAA;AAAA,UACZ,KAAA,EAAO,aAAA;AAAA,UACP,UAAA,EAAY;AAAA;AACd,OAAA;AAAA,sBAEA,KAAA,CAAA,aAAA,CAACC,iCACC,KAAA,CAAA,aAAA,CAACC,cAAA,EAAA,EAAO,SAAS,IAAA,CAAK,SAAA,EAAW,IAAA,EAAK,IAAA,EAAK,CAC7C,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA,CAACD,SAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,GAAA,EAAK,EAAE,KAAA,EAAO,aAAA,EAAc,EAAA,EAC7C,IAAA,CAAK,IACR,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA,CAACA,aAAK,GAAA,EAAK,EAAE,OAAO,aAAA,EAAc,EAAA,EAAI,KAAK,IAAK,CAAA;AAAA,sBAChD,KAAA,CAAA,aAAA,CAACA,iBACEE,cAAA,CAAO,IAAA,CAAK,SAAS,CAAA,CAAE,MAAA,CAAO,sBAAsB,CACvD,CAAA;AAAA,sBACA,KAAA,CAAA,aAAA,CAACF,iBACEE,cAAA,CAAO,IAAA,CAAK,eAAe,CAAA,CAAE,MAAA,CAAO,sBAAsB,CAC7D,CAAA;AAAA,0CACCF,SAAA,EAAA,IAAA,EACE,IAAA,CAAK,WAAW,SAAA,mBACf,KAAA,CAAA,aAAA,CAACG,qCAAmB,KAAA,EAAM,SAAA,EAAU,IAAA,EAAK,IAAA,EAAK,oBAE9C,KAAA,CAAA,aAAA,CAACC,uBAAA,EAAA,EAAc,OAAM,SAAA,EAAU,IAAA,EAAK,MAAK,CAE7C,CAAA;AAAA,sBAEA,KAAA,CAAA,aAAA,CAACC,SAAA,EAAA,EAAK,cAAA,EAAe,QAAA,EAAA,EAClB,UAAA,KAAe,IAAA,CAAK,EAAA,mBACnB,KAAA,CAAA,aAAA,CAACC,qBAAA,EAAA,EAAa,IAAA,EAAK,IAAA,EAAA,kBACjB,KAAA,CAAA,aAAA,CAACC,4BAAA,EAAA,EAAoB,OAAA,EAAO,IAAA,EAAA,kBAC1B,KAAA,CAAA,aAAA,CAACC,qBAAA,EAAA,EAAW,IAAA,EAAK,IAAA,EAAK,OAAA,EAAQ,OAAA,EAAQ,KAAA,EAAM,WAAA,EAAA,kBAC1C,KAAA,CAAA,aAAA,CAACC,qCAAA,EAAA,IAAqB,CACxB,CACF,CAAA,kBACA,KAAA,CAAA,aAAA;AAAA,QAACC,4BAAA;AAAA,QAAA;AAAA,UACC,gBAAA,EAAkB,CAAC,CAAA,KAAM;AACvB,YAAA,CAAA,CAAE,cAAA,EAAe;AAAA,UACnB,CAAA;AAAA,UACA,IAAA,EAAK,QAAA;AAAA,UACL,KAAA,EAAM,KAAA;AAAA,UACN,GAAA,EAAK,EAAE,QAAA,EAAU,OAAA,EAAS,SAAS,MAAA;AAAO,SAAA;AAAA,wBAE1C,KAAA,CAAA,aAAA,CAACC,yBAAA,EAAA,EAAiB,GAAA,EAAK,EAAE,MAAA,EAAQ,SAAA,EAAU,EAAA,kBACzC,KAAA,CAAA,aAAA,CAACN,SAAA,EAAA,EAAK,UAAA,EAAW,QAAA,EAAS,GAAA,EAAI,IAAA,EAAA,sCAC3BO,kBAAA,EAAA,EAAW,KAAA,EAAM,SAAA,EAAU,IAAA,EAAM,EAAA,EAAI,CAAA,kBACtC,KAAA,CAAA,aAAA,CAACZ,SAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAA,EAAK,QAAM,CACxB,CACF,CAAA;AAAA,wBACA,KAAA,CAAA,aAAA,CAACW,yBAAA,EAAA,EAAiB,GAAA,EAAK,EAAE,MAAA,EAAQ,SAAA,EAAU,EAAA,kBACzC,KAAA,CAAA,aAAA,CAACN,SAAA,EAAA,EAAK,UAAA,EAAW,QAAA,EAAS,GAAA,EAAI,IAAA,EAAA,sCAC3BQ,iBAAA,EAAA,EAAW,KAAA,EAAM,SAAA,EAAU,IAAA,EAAM,EAAA,EAAI,CAAA,kBACtC,KAAA,CAAA,aAAA,CAACb,SAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAA,EAAK,MAAI,CACtB,CACF;AAAA,OAEJ,IACE,IACN;AAAA,KACF;AAAA,EAEJ,CAAA,CACF,CACF,CACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"Scheduled.js","sources":["../../../../../src/contact-import/components/ManageImport/Scheduled.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport {\n Box,\n Grid,\n Switch,\n Text,\n TooltipProvider,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n IconButton,\n Flex,\n} from \"@sparrowengg/twigs-react\";\nimport moment from \"moment\";\nimport {\n AlertFillIcon,\n DeleteIcon,\n PencilIcon,\n EllipsisVerticalIcon,\n TickCircleFillIcon,\n} from \"@sparrowengg/twigs-react-icons\";\nimport { ScheduledImportTypes } from \"../../types\";\n\nconst Scheduled = ({ scheduled }: { scheduled: Array<ScheduledImportTypes> }) => {\n const [currentRow, setCurrentRow] = useState(0);\n return (\n <>\n <TooltipProvider>\n <Box css={{ width: \"100%\", height: \"100%\", overflow: \"scroll\" }}>\n <Grid\n templateColumns=\"10% 20% 20% 20% 20% 5% 5%\"\n css={{\n borderTop: \"$borderWidths$xs solid $neutral200\",\n borderBottom: \"$borderWidths$xs solid $neutral200\",\n padding: \"$7 $12\",\n color: \"$neutral900\",\n alignItems: \"center\",\n position: \"sticky\",\n top: \"0\",\n background: \"white\",\n zIndex: \"2\",\n }}\n >\n <Text> </Text>\n <Text weight=\"medium\">Import Name</Text>\n <Text weight=\"medium\">Contact Type</Text>\n <Text weight=\"medium\">Created on</Text>\n <Text weight=\"medium\">Upcomming Import</Text>\n <Text weight=\"medium\">Status</Text>\n </Grid>\n {scheduled?.map((item: ScheduledImportTypes) => {\n return (\n <Grid\n onMouseOver={() => setCurrentRow(item.id)}\n templateColumns=\"10% 20% 20% 20% 20% 5% 5%\"\n css={{\n borderBottom: \"$borderWidths$xs solid $neutral100\",\n padding: \"$9 $12\",\n fontWeight: \"$4\",\n color: \"$neutral700\",\n alignItems: \"center\",\n }}\n >\n <Text>\n <Switch checked={item.scheduled} size=\"sm\" />\n </Text>\n <Text weight=\"bold\" css={{ color: \"$neutral900\" }}>\n {item.name}\n </Text>\n <Text css={{ color: \"$neutral900\" }}>{item.type}</Text>\n <Text>\n {moment(item.createdOn).format(\"MMM D, YYYY | h:mm A\")}\n </Text>\n <Text>\n {moment(item.upcommingImport).format(\"MMM D, YYYY | h:mm A\")}\n </Text>\n <Text>\n {item.status === \"success\" ? (\n <TickCircleFillIcon color=\"#5EA130\" size=\"24\" />\n ) : (\n <AlertFillIcon color=\"#F65633\" size=\"24\" />\n )}\n </Text>\n\n <Flex justifyContent=\"center\">\n {currentRow === item.id ? (\n <DropdownMenu size=\"sm\">\n <DropdownMenuTrigger asChild>\n <IconButton size=\"md\" variant=\"ghost\" color=\"secondary\" aria-label=\"More options\">\n <EllipsisVerticalIcon />\n </IconButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n onCloseAutoFocus={(e) => {\n e.preventDefault();\n }}\n side=\"bottom\"\n align=\"end\"\n css={{ minWidth: \"128px\", padding: \"$4 0\" }}\n >\n <DropdownMenuItem css={{ cursor: \"pointer\" }}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <DeleteIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Delete</Text>\n </Flex>\n </DropdownMenuItem>\n <DropdownMenuItem css={{ cursor: \"pointer\" }}>\n <Flex alignItems=\"center\" gap=\"$2\">\n <PencilIcon color=\"#6A6A6A\" size={20} />\n <Text size=\"sm\">Edit</Text>\n </Flex>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n ) : null}\n </Flex>\n </Grid>\n );\n })}\n </Box>\n </TooltipProvider>\n </>\n );\n};\n\nexport default Scheduled;\n"],"names":["useState","TooltipProvider","Box","Grid","Text","Switch","TickCircleFillIcon","AlertFillIcon","Flex","DropdownMenu","DropdownMenuTrigger","IconButton","EllipsisVerticalIcon","DropdownMenuContent","DropdownMenuItem","DeleteIcon","PencilIcon"],"mappings":"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"}
@@ -7,7 +7,6 @@ var TimePicker = require('./TimePicker.js');
7
7
  var dayjs_min = require('../../node_modules/dayjs/dayjs.min.js');
8
8
  var utc = require('../../node_modules/dayjs/plugin/utc.js');
9
9
  var timezone = require('../../node_modules/dayjs/plugin/timezone.js');
10
- var index = require('../../node_modules/timezone-support/dist/index.js');
11
10
  var constants = require('../constants.js');
12
11
  var flex = require('../../node_modules/@sparrowengg/twigs-react/dist/es/flex/flex.js');
13
12
  var dropdown = require('../../node_modules/@sparrowengg/twigs-react/dist/es/dropdown/dropdown.js');
@@ -41,7 +40,7 @@ const Scheduling = ({
41
40
  }) => {
42
41
  dayjs_min.default.extend(utc.default);
43
42
  dayjs_min.default.extend(timezone.default);
44
- const getAllTimezones = () => index.listTimeZones().map((tz) => {
43
+ const getAllTimezones = () => constants.MOCK_TIMEZONES.map((tz) => {
45
44
  const offset = dayjs_min.default().tz(tz).format("Z");
46
45
  return `${tz} (GMT${offset})`;
47
46
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Scheduling.js","sources":["../../../../src/contact-import/components/Scheduling.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport TimePicker from \"./TimePicker\";\nimport dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport { listTimeZones } from \"timezone-support\";\nimport { ScheduleTime, SchedulingProps } from \"../types\";\nimport { scheduleOptions } from \"../constants\";\n\nconst Scheduling: React.FC<SchedulingProps> = ({\n globalStorage,\n setGlobalStorage,\n}) => {\n dayjs.extend(utc);\n dayjs.extend(timezone);\n\n const getAllTimezones = (): string[] =>\n listTimeZones().map((tz) => {\n const offset = dayjs().tz(tz).format(\"Z\");\n return `${tz} (GMT${offset})`;\n });\n\n const timeZones = getAllTimezones();\n const [openTimePicker, setOpenTimePicker] = useState<boolean>(false);\n const [scheduleTime, setScheduleTime] = useState<ScheduleTime>({\n period: \"Daily\",\n time: { hours: 12, mins: \"00\", noon: \"am\" },\n timeZone: \"Asia/Kolkata (GMT+05:30)\",\n });\n\n useEffect(() => {\n setGlobalStorage((prevGlobalStorage) => ({\n ...prevGlobalStorage,\n scheduleData: scheduleTime,\n }));\n }, [scheduleTime]);\n\n useEffect(() => {\n if (globalStorage.scheduleData) {\n setScheduleTime(globalStorage.scheduleData);\n }\n }, [globalStorage]);\n\n return (\n <Flex alignItems=\"center\" gap=\"$2\">\n <DropdownMenu modal={false}>\n <DropdownMenuTrigger asChild>\n <Button\n rightIcon={<ChevronDownIcon />}\n variant=\"ghost\"\n size=\"lg\"\n aria-label=\"Select Schedule Period\"\n css={{\n padding: \"$1 $2\",\n borderRadius: \"$md\",\n svg: { path: { strokeWidth: \"2\" } },\n }}\n onClick={() => setOpenTimePicker(false)}\n >\n {scheduleTime.period}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" css={{ minWidth: \"168px\" }}>\n {scheduleOptions.map((option) => (\n <DropdownMenuItem\n key={option.id}\n css={{\n cursor: \"pointer\",\n background:\n scheduleTime.period === option.label ? \"#4A9CA60F\" : \"none\",\n }}\n onClick={() =>\n setScheduleTime((prev) => ({ ...prev, period: option.label }))\n }\n >\n {option.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text css={{ color: \"$neutral600\" }} size=\"md\">\n at\n </Text>\n <Box css={{ position: \"relative\" }}>\n <Button\n rightIcon={<ChevronDownIcon />}\n variant=\"ghost\"\n size=\"lg\"\n onClick={() => setOpenTimePicker((prev) => !prev)}\n css={{\n padding: \"$1 $2\",\n borderRadius: \"$md\",\n svg: { path: { strokeWidth: \"2\" } },\n }}\n >\n {`${scheduleTime.time.hours}:${scheduleTime.time.mins} ${scheduleTime.time.noon}`}\n </Button>\n {openTimePicker && (\n <TimePicker\n openTimePicker={openTimePicker}\n setOpenTimePicker={setOpenTimePicker}\n scheduleTime={scheduleTime}\n setScheduleTime={setScheduleTime}\n />\n )}\n </Box>\n\n <DropdownMenu modal={false}>\n <DropdownMenuTrigger asChild>\n <Button\n rightIcon={<ChevronDownIcon />}\n variant=\"ghost\"\n size=\"lg\"\n aria-label=\"Select Time Zone\"\n css={{\n padding: \"$1 $2\",\n borderRadius: \"$md\",\n svg: { path: { strokeWidth: \"2\" } },\n }}\n onClick={() => setOpenTimePicker(false)}\n >\n {scheduleTime.timeZone}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n css={{ maxHeight: \"180px\", overflow: \"scroll\" }}\n >\n {timeZones.map((tz) => (\n <DropdownMenuItem\n key={tz}\n css={{\n cursor: \"pointer\",\n background: scheduleTime.timeZone === tz ? \"#4A9CA60F\" : \"none\",\n }}\n onClick={() =>\n setScheduleTime((prev) => ({ ...prev, timeZone: tz }))\n }\n >\n {tz}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n );\n};\n\nexport default Scheduling;\n"],"names":["dayjs","utc","timezone","listTimeZones","useState","useEffect","Flex","DropdownMenu","DropdownMenuTrigger","Button","ChevronDownIcon","DropdownMenuContent","scheduleOptions","DropdownMenuItem","Text","Box","TimePicker"],"mappings":"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"}
1
+ {"version":3,"file":"Scheduling.js","sources":["../../../../src/contact-import/components/Scheduling.tsx"],"sourcesContent":["import {\n Box,\n Flex,\n Button,\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n Text,\n} from \"@sparrowengg/twigs-react\";\nimport { ChevronDownIcon } from \"@sparrowengg/twigs-react-icons\";\nimport React, { useEffect, useState } from \"react\";\nimport TimePicker from \"./TimePicker\";\nimport dayjs from \"dayjs\";\nimport utc from \"dayjs/plugin/utc\";\nimport timezone from \"dayjs/plugin/timezone\";\nimport { ScheduleTime, SchedulingProps } from \"../types\";\nimport { MOCK_TIMEZONES, scheduleOptions } from \"../constants\";\n\n/* ----- Constants ----- */\n\n/**\n * Mock timezone data with common timezones and their GMT offsets\n * Replaces timezone-support library to reduce bundle size\n */\n\n/* ----- Main Component ----- */\n\nconst Scheduling: React.FC<SchedulingProps> = ({\n globalStorage,\n setGlobalStorage,\n}) => {\n dayjs.extend(utc);\n dayjs.extend(timezone);\n\n /**\n * Get all timezones with their GMT offsets\n * Uses mock timezone list instead of timezone-support library\n * \n * @returns {string[]} Array of timezone strings with GMT offsets\n */\n const getAllTimezones = (): string[] =>\n MOCK_TIMEZONES.map((tz) => {\n const offset = dayjs().tz(tz).format(\"Z\");\n return `${tz} (GMT${offset})`;\n });\n\n const timeZones = getAllTimezones();\n const [openTimePicker, setOpenTimePicker] = useState<boolean>(false);\n const [scheduleTime, setScheduleTime] = useState<ScheduleTime>({\n period: \"Daily\",\n time: { hours: 12, mins: \"00\", noon: \"am\" },\n timeZone: \"Asia/Kolkata (GMT+05:30)\",\n });\n\n useEffect(() => {\n setGlobalStorage((prevGlobalStorage) => ({\n ...prevGlobalStorage,\n scheduleData: scheduleTime,\n }));\n }, [scheduleTime]);\n\n useEffect(() => {\n if (globalStorage.scheduleData) {\n setScheduleTime(globalStorage.scheduleData);\n }\n }, [globalStorage]);\n\n return (\n <Flex alignItems=\"center\" gap=\"$2\">\n <DropdownMenu modal={false}>\n <DropdownMenuTrigger asChild>\n <Button\n rightIcon={<ChevronDownIcon />}\n variant=\"ghost\"\n size=\"lg\"\n aria-label=\"Select Schedule Period\"\n css={{\n padding: \"$1 $2\",\n borderRadius: \"$md\",\n svg: { path: { strokeWidth: \"2\" } },\n }}\n onClick={() => setOpenTimePicker(false)}\n >\n {scheduleTime.period}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" css={{ minWidth: \"168px\" }}>\n {scheduleOptions.map((option) => (\n <DropdownMenuItem\n key={option.id}\n css={{\n cursor: \"pointer\",\n background:\n scheduleTime.period === option.label ? \"#4A9CA60F\" : \"none\",\n }}\n onClick={() =>\n setScheduleTime((prev) => ({ ...prev, period: option.label }))\n }\n >\n {option.label}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n <Text css={{ color: \"$neutral600\" }} size=\"md\">\n at\n </Text>\n <Box css={{ position: \"relative\" }}>\n <Button\n rightIcon={<ChevronDownIcon />}\n variant=\"ghost\"\n size=\"lg\"\n onClick={() => setOpenTimePicker((prev) => !prev)}\n css={{\n padding: \"$1 $2\",\n borderRadius: \"$md\",\n svg: { path: { strokeWidth: \"2\" } },\n }}\n >\n {`${scheduleTime.time.hours}:${scheduleTime.time.mins} ${scheduleTime.time.noon}`}\n </Button>\n {openTimePicker && (\n <TimePicker\n openTimePicker={openTimePicker}\n setOpenTimePicker={setOpenTimePicker}\n scheduleTime={scheduleTime}\n setScheduleTime={setScheduleTime}\n />\n )}\n </Box>\n\n <DropdownMenu modal={false}>\n <DropdownMenuTrigger asChild>\n <Button\n rightIcon={<ChevronDownIcon />}\n variant=\"ghost\"\n size=\"lg\"\n aria-label=\"Select Time Zone\"\n css={{\n padding: \"$1 $2\",\n borderRadius: \"$md\",\n svg: { path: { strokeWidth: \"2\" } },\n }}\n onClick={() => setOpenTimePicker(false)}\n >\n {scheduleTime.timeZone}\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"start\"\n css={{ maxHeight: \"180px\", overflow: \"scroll\" }}\n >\n {timeZones.map((tz) => (\n <DropdownMenuItem\n key={tz}\n css={{\n cursor: \"pointer\",\n background: scheduleTime.timeZone === tz ? \"#4A9CA60F\" : \"none\",\n }}\n onClick={() =>\n setScheduleTime((prev) => ({ ...prev, timeZone: tz }))\n }\n >\n {tz}\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n </Flex>\n );\n};\n\nexport default Scheduling;\n"],"names":["dayjs","utc","timezone","MOCK_TIMEZONES","useState","useEffect","Flex","DropdownMenu","DropdownMenuTrigger","Button","ChevronDownIcon","DropdownMenuContent","scheduleOptions","DropdownMenuItem","Text","Box","TimePicker"],"mappings":"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"}