@bigbinary/neeto-molecules 2.0.5 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Builder.js +7 -1
- package/dist/Builder.js.map +1 -1
- package/dist/CalendarView.js +8 -2
- package/dist/CalendarView.js.map +1 -1
- package/dist/{Chevron-5b713e55.js → Chevron-32c7251d.js} +2 -2
- package/dist/{Chevron-5b713e55.js.map → Chevron-32c7251d.js.map} +1 -1
- package/dist/Codeblock.js +2 -1
- package/dist/Codeblock.js.map +1 -1
- package/dist/Columns.js +2 -2
- package/dist/ConfigurePageSidebar.js +2 -2
- package/dist/CopyToClipboardButton.js +2 -1
- package/dist/CopyToClipboardButton.js.map +1 -1
- package/dist/CustomDomain.js +9 -5
- package/dist/CustomDomain.js.map +1 -1
- package/dist/CustomDomainDashboard.js +12 -5
- package/dist/CustomDomainDashboard.js.map +1 -1
- package/dist/DocumentEditor.js +1 -1
- package/dist/DynamicVariables.js +1 -1
- package/dist/EmailForm.js +6 -2
- package/dist/EmailForm.js.map +1 -1
- package/dist/EmailPreview.js +1 -1
- package/dist/EmojiPicker.js +6 -3
- package/dist/EmojiPicker.js.map +1 -1
- package/dist/FloatingActionMenu.js +7 -2
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/Header.js +3 -1
- package/dist/Header.js.map +1 -1
- package/dist/HelpPopover.js +1 -1
- package/dist/IconPicker.js +1 -1
- package/dist/InlineInput.js +2 -1
- package/dist/InlineInput.js.map +1 -1
- package/dist/Insights.js +2 -1
- package/dist/Insights.js.map +1 -1
- package/dist/IntegrationCard.js +4 -1
- package/dist/IntegrationCard.js.map +1 -1
- package/dist/IpRestriction.js +24 -11
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +1 -1
- package/dist/MenuBar.js +3 -1
- package/dist/MenuBar.js.map +1 -1
- package/dist/Metadata.js +3 -1
- package/dist/Metadata.js.map +1 -1
- package/dist/MoreDropdown.js +2 -1
- package/dist/MoreDropdown.js.map +1 -1
- package/dist/NavigationHeader.js +7 -1
- package/dist/NavigationHeader.js.map +1 -1
- package/dist/NeetoWidget.js +29 -24
- package/dist/NeetoWidget.js.map +1 -1
- package/dist/Onboarding.js +1 -1
- package/dist/OptionFields.js +5 -1
- package/dist/OptionFields.js.map +1 -1
- package/dist/PhoneNumber.js +13 -10
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/ProductEmbed.js +7 -1
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/PublishBlock.js +2 -1
- package/dist/PublishBlock.js.map +1 -1
- package/dist/Rename.js +4 -1
- package/dist/Rename.js.map +1 -1
- package/dist/ResponsiveDevicePicker.js +3 -1
- package/dist/ResponsiveDevicePicker.js.map +1 -1
- package/dist/Schedule.js +5 -1
- package/dist/Schedule.js.map +1 -1
- package/dist/Search.js +1 -1
- package/dist/SendToFields.js +2 -1
- package/dist/SendToFields.js.map +1 -1
- package/dist/Settings.js +4 -1
- package/dist/Settings.js.map +1 -1
- package/dist/ShareRecordingPane.js +2 -1
- package/dist/ShareRecordingPane.js.map +1 -1
- package/dist/ShareViaEmail.js +6 -2
- package/dist/ShareViaEmail.js.map +1 -1
- package/dist/ShareViaLink.js +8 -1
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +4 -3
- package/dist/Sidebar.js.map +1 -1
- package/dist/StickyRibbonsContainer.js +6 -3
- package/dist/StickyRibbonsContainer.js.map +1 -1
- package/dist/SubHeader.js +5 -2
- package/dist/SubHeader.js.map +1 -1
- package/dist/SuffixedInput.js +3 -1
- package/dist/SuffixedInput.js.map +1 -1
- package/dist/Taxonomy.js +17 -6
- package/dist/Taxonomy.js.map +1 -1
- package/dist/TimezoneMismatchModal.js +6 -5
- package/dist/TimezoneMismatchModal.js.map +1 -1
- package/dist/ToggleFeatureCard.js +2 -1
- package/dist/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/Builder.js +17 -6
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/CalendarView.js +14 -5
- package/dist/cjs/CalendarView.js.map +1 -1
- package/dist/cjs/{Chevron-840304ff.js → Chevron-46844b59.js} +4 -3
- package/dist/cjs/{Chevron-840304ff.js.map → Chevron-46844b59.js.map} +1 -1
- package/dist/cjs/Codeblock.js +2 -1
- package/dist/cjs/Codeblock.js.map +1 -1
- package/dist/cjs/Columns.js +2 -2
- package/dist/cjs/ConfigurePageSidebar.js +2 -2
- package/dist/cjs/CopyToClipboardButton.js +6 -3
- package/dist/cjs/CopyToClipboardButton.js.map +1 -1
- package/dist/cjs/CustomDomain.js +10 -5
- package/dist/cjs/CustomDomain.js.map +1 -1
- package/dist/cjs/CustomDomainDashboard.js +12 -5
- package/dist/cjs/CustomDomainDashboard.js.map +1 -1
- package/dist/cjs/DocumentEditor.js +3 -2
- package/dist/cjs/DocumentEditor.js.map +1 -1
- package/dist/cjs/DynamicVariables.js +3 -2
- package/dist/cjs/DynamicVariables.js.map +1 -1
- package/dist/cjs/EmailForm.js +9 -4
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/EmailPreview.js +3 -2
- package/dist/cjs/EmailPreview.js.map +1 -1
- package/dist/cjs/EmojiPicker.js +8 -4
- package/dist/cjs/EmojiPicker.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +21 -9
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/Header.js +3 -1
- package/dist/cjs/Header.js.map +1 -1
- package/dist/cjs/HelpPopover.js +3 -2
- package/dist/cjs/HelpPopover.js.map +1 -1
- package/dist/cjs/IconPicker.js +4 -3
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/InlineInput.js +6 -3
- package/dist/cjs/InlineInput.js.map +1 -1
- package/dist/cjs/Insights.js +4 -2
- package/dist/cjs/Insights.js.map +1 -1
- package/dist/cjs/IntegrationCard.js +8 -3
- package/dist/cjs/IntegrationCard.js.map +1 -1
- package/dist/cjs/IpRestriction.js +29 -13
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +3 -2
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/MenuBar.js +9 -4
- package/dist/cjs/MenuBar.js.map +1 -1
- package/dist/cjs/Metadata.js +8 -3
- package/dist/cjs/Metadata.js.map +1 -1
- package/dist/cjs/MoreDropdown.js +5 -2
- package/dist/cjs/MoreDropdown.js.map +1 -1
- package/dist/cjs/NavigationHeader.js +9 -2
- package/dist/cjs/NavigationHeader.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +32 -25
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +4 -3
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +16 -7
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +13 -10
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/ProductEmbed.js +17 -6
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/PublishBlock.js +7 -4
- package/dist/cjs/PublishBlock.js.map +1 -1
- package/dist/cjs/Rename.js +8 -3
- package/dist/cjs/Rename.js.map +1 -1
- package/dist/cjs/ResponsiveDevicePicker.js +9 -4
- package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
- package/dist/cjs/Schedule.js +11 -4
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/Search.js +3 -2
- package/dist/cjs/Search.js.map +1 -1
- package/dist/cjs/SendToFields.js +7 -4
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/Settings.js +6 -2
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/ShareRecordingPane.js +2 -1
- package/dist/cjs/ShareRecordingPane.js.map +1 -1
- package/dist/cjs/ShareViaEmail.js +11 -5
- package/dist/cjs/ShareViaEmail.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +16 -5
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +8 -4
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js +8 -4
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/SubHeader.js +11 -5
- package/dist/cjs/SubHeader.js.map +1 -1
- package/dist/cjs/SuffixedInput.js +5 -2
- package/dist/cjs/SuffixedInput.js.map +1 -1
- package/dist/cjs/Taxonomy.js +18 -6
- package/dist/cjs/Taxonomy.js.map +1 -1
- package/dist/cjs/TimezoneMismatchModal.js +6 -5
- package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
- package/dist/cjs/ToggleFeatureCard.js +6 -3
- package/dist/cjs/ToggleFeatureCard.js.map +1 -1
- package/dist/cjs/{index-a0ea156b.js → index-290bd1dd.js} +19 -15
- package/dist/cjs/index-290bd1dd.js.map +1 -0
- package/dist/cjs/{useColumns-5660bfea.js → useColumns-5ce3cf1e.js} +4 -3
- package/dist/cjs/{useColumns-5660bfea.js.map → useColumns-5ce3cf1e.js.map} +1 -1
- package/dist/{index-92e5af99.js → index-49458a38.js} +17 -14
- package/dist/index-49458a38.js.map +1 -0
- package/dist/{useColumns-cec6e827.js → useColumns-e0b5dfb7.js} +2 -2
- package/dist/{useColumns-cec6e827.js.map → useColumns-e0b5dfb7.js.map} +1 -1
- package/package.json +12 -10
- package/types/ShareViaLink.d.ts +3 -3
- package/dist/cjs/index-a0ea156b.js.map +0 -1
- package/dist/index-92e5af99.js.map +0 -1
package/dist/Insights.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Insights.js","sources":["../src/components/Insights/constants.js","../src/components/Insights/MetaInfo/PercentageBar.jsx","../src/components/Insights/MetaInfo/MetaInfoItem.jsx","../src/components/Insights/MetaInfo/DataDistribution.jsx","../src/components/Insights/utils.js","../src/components/Insights/MetaInfo/index.jsx","../src/components/Insights/TimeItem.jsx","../src/components/Insights/MetricItem.jsx","../src/components/Insights/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DEFAULT_DEVICES = [\n {\n label: t(\"neetoMolecules.insights.labels.devices.desktop\"),\n value: \"desktop\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.devices.mobile\"),\n value: \"smartphone\",\n },\n];\n\nexport const DEFAULT_OS = [\n { label: t(\"neetoMolecules.insights.labels.os.macos\"), value: \"mac\" },\n {\n label: t(\"neetoMolecules.insights.labels.os.windows\"),\n value: \"windows\",\n },\n];\n\nexport const DEFAULT_BROWSERS = [\n {\n label: t(\"neetoMolecules.insights.labels.browsers.chrome\"),\n value: \"chrome\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.browsers.safari\"),\n value: \"safari\",\n },\n];\n\nexport const INITIAL_TIME_PERIOD_VALUE = {\n label: t(\"neetoMolecules.insights.labels.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n};\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value && (\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography style=\"body3\">{value}%</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography style=\"body2\" textTransform=\"capitalize\">\n {name}\n </Typography>\n <div className=\"col-span-3 flex items-center gap-2\">\n <PercentageBar {...{ value }} />\n </div>\n </>\n);\n\nexport default memo(MetaInfoItem);\n","import React from \"react\";\n\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nconst DataDistribution = ({ data }) => (\n <div className=\"grid grid-cols-4 gap-2\">\n {data.map(({ name, value }) => (\n <MetaInfoItem {...{ name, value }} key={name} />\n ))}\n </div>\n);\n\nexport default DataDistribution;\n","import { existsBy } from \"neetocist\";\n\nconst getSum = (data, searchKey) => {\n let sum = 0;\n for (const key in data) {\n if (key.includes(searchKey)) sum += data[key];\n }\n\n return sum;\n};\n\nexport const transformInsights = (data, defaultItems) => {\n const othersData = Object.keys(data)\n .filter(key => !existsBy({ value: key }, defaultItems))\n .map(key => ({ name: key, value: data[key] }));\n\n const defaultData = defaultItems.map(({ label, value }) => ({\n name: label,\n value: getSum(data, value) || 0,\n }));\n\n return { defaultData, othersData };\n};\n","import React, { memo } from \"react\";\n\nimport { Tooltip, Typography } from \"neetoui\";\nimport { pluck, sum, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DataDistribution from \"./DataDistribution\";\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nimport { transformInsights } from \"../utils\";\n\nconst MetaInfo = ({ type, data, defaultItems }) => {\n const { t } = useTranslation();\n const { defaultData, othersData } = transformInsights(data, defaultItems);\n\n const othersSum = sum(values(pluck(\"value\", othersData)));\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\">\n <Typography\n className=\"mb-4\"\n style=\"h6\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {type}\n </Typography>\n <DataDistribution data={defaultData} />\n <Tooltip\n content={<DataDistribution data={othersData} />}\n disabled={!othersSum}\n position=\"bottom\"\n >\n <div className=\"mt-2 grid grid-cols-4 gap-2\">\n <MetaInfoItem\n name={t(\"neetoMolecules.insights.others\")}\n value={othersSum}\n />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default memo(MetaInfo);\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"mr-1\" style=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography lineHeight=\"loose\" style=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport TimeItem from \"./TimeItem\";\n\nconst MetricItem = ({ metric, value, helpText, isTime, isPercentage }) => {\n const renderTime = value => {\n const { h: hours, m: minutes, s: seconds } = value;\n const showSeconds = !hours && !minutes;\n\n return (\n <div className=\"flex gap-2\">\n {!!hours && <TimeItem suffix=\"H\" value={hours} />}\n {!!minutes && <TimeItem suffix=\"M\" value={minutes} />}\n {(!!seconds || showSeconds) && <TimeItem suffix=\"S\" value={seconds} />}\n </div>\n );\n };\n\n return (\n <div className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"flex items-end\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"mr-1\"\n data-cy=\"insights-count\"\n data-testid=\"insights-count\"\n style=\"h1\"\n weight=\"semibold\"\n >\n {value || 0}\n {isPercentage ? \"%\" : \"\"}\n </Typography>\n )}\n </div>\n {helpText && (\n <div>\n <HelpPopover description={helpText} />\n </div>\n )}\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"insights-type\"\n style=\"body2\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import React from \"react\";\n\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\nimport PageLoader from \"components/PageLoader\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nconst Insights = ({\n insightsData,\n isLoading,\n timePeriod,\n setTimePeriod,\n helpTexts = {},\n showWarningMessage = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n visitCount,\n startCount,\n submissionCount,\n completionRate,\n averageSubmissionTime,\n devices,\n operatingSystems,\n browsers,\n } = insightsData;\n\n if (isLoading) return <PageLoader />;\n\n return (\n <div className=\"mx-auto pt-10\" data-testid=\"insights\">\n <div className=\"mb-11 flex w-full items-center \">\n <Typography data-cy=\"submissions-insights-title\" style=\"h2\">\n {t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"right\"\n >\n <span className=\"ml-3\">\n <Warning\n className=\"neeto-ui-text-warning-500\"\n data-testid=\"insights-warning\"\n size={20}\n />\n </span>\n </Tooltip>\n )}\n <span className=\"ml-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-8 flex flex-wrap justify-between\">\n <MetricItem\n helpText={helpTexts[\"visitCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.visits\")}\n value={visitCount}\n />\n <MetricItem\n helpText={helpTexts[\"startCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.starts\")}\n value={startCount}\n />\n <MetricItem\n helpText={helpTexts[\"submissions\"]}\n metric={t(\"neetoMolecules.insights.metrics.submissions\")}\n value={submissionCount}\n />\n <MetricItem\n isPercentage\n helpText={helpTexts[\"completionRate\"]}\n metric={t(\"neetoMolecules.insights.metrics.completionRate\")}\n value={completionRate}\n />\n <MetricItem\n isTime\n helpText={helpTexts[\"averageSubmissionTime\"]}\n metric={t(\"neetoMolecules.insights.metrics.avgTimeToComplete\")}\n timeSuffix={t(\"neetoMolecules.insights.mins\")}\n value={averageSubmissionTime}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3\">\n <MetaInfo\n data={devices}\n defaultItems={DEFAULT_DEVICES}\n type={t(\"neetoMolecules.insights.devices\")}\n />\n <MetaInfo\n data={operatingSystems}\n defaultItems={DEFAULT_OS}\n type={t(\"neetoMolecules.insights.os\")}\n />\n <MetaInfo\n data={browsers}\n defaultItems={DEFAULT_BROWSERS}\n type={t(\"neetoMolecules.insights.browsers\")}\n />\n </div>\n </div>\n );\n};\n\nInsights.propTypes = {\n /**\n * Object containing metrics and statistics for insights\n */\n insightsData: PropTypes.shape({\n visitCount: PropTypes.number,\n startCount: PropTypes.number,\n submissionCount: PropTypes.number,\n completionRate: PropTypes.number,\n averageSubmissionTime: PropTypes.shape({\n h: PropTypes.number,\n m: PropTypes.number,\n s: PropTypes.number,\n }),\n devices: PropTypes.shape({\n desktop: PropTypes.number,\n smartphone: PropTypes.number,\n }),\n operatingSystems: PropTypes.shape({\n mac: PropTypes.number,\n windows: PropTypes.number,\n }),\n browsers: PropTypes.shape({\n chrome: PropTypes.number,\n safari: PropTypes.number,\n }),\n }),\n /**\n * Indicates whether insights data is currently being fetched from an API\n */\n isLoading: PropTypes.bool,\n /**\n * The state corresponding to the currently selected date range.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * Object containing explanatory text for each metric, providing additional context that can help users understand the significance of the metrics displayed.\n */\n helpTexts: PropTypes.shape({\n visitCount: PropTypes.string,\n startCount: PropTypes.string,\n submissions: PropTypes.string,\n completionRate: PropTypes.string,\n averageSubmissionTime: PropTypes.string,\n }),\n /**\n * Displays a warning to indicate that the insights may not be accurate, as the insights integration occurred after the record's creation.\n */\n showWarningMessage: PropTypes.bool,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","startDate","endDate","rangeType","PercentageBar","_ref","React","createElement","Fragment","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","key","getSum","searchKey","sum","includes","transformInsights","defaultItems","othersData","Object","keys","filter","existsBy","defaultData","MetaInfo","type","_useTranslation","useTranslation","_transformInsights","othersSum","values","pluck","weight","Tooltip","content","disabled","position","TimeItem","suffix","lineHeight","MetricItem","metric","helpText","isTime","isPercentage","renderTime","hours","h","minutes","m","seconds","s","showSeconds","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","PageLoader","Warning","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Insights.js","sources":["../src/components/Insights/constants.js","../src/components/Insights/MetaInfo/PercentageBar.jsx","../src/components/Insights/MetaInfo/MetaInfoItem.jsx","../src/components/Insights/MetaInfo/DataDistribution.jsx","../src/components/Insights/utils.js","../src/components/Insights/MetaInfo/index.jsx","../src/components/Insights/TimeItem.jsx","../src/components/Insights/MetricItem.jsx","../src/components/Insights/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DEFAULT_DEVICES = [\n {\n label: t(\"neetoMolecules.insights.labels.devices.desktop\"),\n value: \"desktop\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.devices.mobile\"),\n value: \"smartphone\",\n },\n];\n\nexport const DEFAULT_OS = [\n { label: t(\"neetoMolecules.insights.labels.os.macos\"), value: \"mac\" },\n {\n label: t(\"neetoMolecules.insights.labels.os.windows\"),\n value: \"windows\",\n },\n];\n\nexport const DEFAULT_BROWSERS = [\n {\n label: t(\"neetoMolecules.insights.labels.browsers.chrome\"),\n value: \"chrome\",\n },\n {\n label: t(\"neetoMolecules.insights.labels.browsers.safari\"),\n value: \"safari\",\n },\n];\n\nexport const INITIAL_TIME_PERIOD_VALUE = {\n label: t(\"neetoMolecules.insights.labels.allTime\"),\n value: { startDate: null, endDate: null, rangeType: \"all\" },\n};\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value && (\n <div\n className=\"neeto-ui-bg-gray-300 neeto-ui-rounded-full h-2\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography style=\"body3\">{value}%</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography style=\"body2\" textTransform=\"capitalize\">\n {name}\n </Typography>\n <div className=\"col-span-3 flex items-center gap-2\">\n <PercentageBar {...{ value }} />\n </div>\n </>\n);\n\nexport default memo(MetaInfoItem);\n","import React from \"react\";\n\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nconst DataDistribution = ({ data }) => (\n <div className=\"grid grid-cols-4 gap-2\">\n {data.map(({ name, value }) => (\n <MetaInfoItem {...{ name, value }} key={name} />\n ))}\n </div>\n);\n\nexport default DataDistribution;\n","import { existsBy } from \"neetocist\";\n\nconst getSum = (data, searchKey) => {\n let sum = 0;\n for (const key in data) {\n if (key.includes(searchKey)) sum += data[key];\n }\n\n return sum;\n};\n\nexport const transformInsights = (data, defaultItems) => {\n const othersData = Object.keys(data)\n .filter(key => !existsBy({ value: key }, defaultItems))\n .map(key => ({ name: key, value: data[key] }));\n\n const defaultData = defaultItems.map(({ label, value }) => ({\n name: label,\n value: getSum(data, value) || 0,\n }));\n\n return { defaultData, othersData };\n};\n","import React, { memo } from \"react\";\n\nimport { Tooltip, Typography } from \"neetoui\";\nimport { pluck, sum, values } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DataDistribution from \"./DataDistribution\";\nimport MetaInfoItem from \"./MetaInfoItem\";\n\nimport { transformInsights } from \"../utils\";\n\nconst MetaInfo = ({ type, data, defaultItems }) => {\n const { t } = useTranslation();\n const { defaultData, othersData } = transformInsights(data, defaultItems);\n\n const othersSum = sum(values(pluck(\"value\", othersData)));\n\n return (\n <div className=\"neeto-ui-bg-gray-100 neeto-ui-rounded p-4\">\n <Typography\n className=\"mb-4\"\n style=\"h6\"\n textTransform=\"uppercase\"\n weight=\"bold\"\n >\n {type}\n </Typography>\n <DataDistribution data={defaultData} />\n <Tooltip\n content={<DataDistribution data={othersData} />}\n disabled={!othersSum}\n position=\"bottom\"\n >\n <div className=\"mt-2 grid grid-cols-4 gap-2\">\n <MetaInfoItem\n name={t(\"neetoMolecules.insights.others\")}\n value={othersSum}\n />\n </div>\n </Tooltip>\n </div>\n );\n};\n\nexport default memo(MetaInfo);\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"mr-1\" style=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography lineHeight=\"loose\" style=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import React, { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nimport HelpPopover from \"components/HelpPopover\";\n\nimport TimeItem from \"./TimeItem\";\n\nconst MetricItem = ({ metric, value, helpText, isTime, isPercentage }) => {\n const renderTime = value => {\n const { h: hours, m: minutes, s: seconds } = value;\n const showSeconds = !hours && !minutes;\n\n return (\n <div className=\"flex gap-2\">\n {!!hours && <TimeItem suffix=\"H\" value={hours} />}\n {!!minutes && <TimeItem suffix=\"M\" value={minutes} />}\n {(!!seconds || showSeconds) && <TimeItem suffix=\"S\" value={seconds} />}\n </div>\n );\n };\n\n return (\n <div className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\">\n <div className=\"flex items-center justify-between gap-2\">\n <div className=\"flex items-end\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"mr-1\"\n data-cy=\"insights-count\"\n data-testid=\"insights-count\"\n style=\"h1\"\n weight=\"semibold\"\n >\n {value || 0}\n {isPercentage ? \"%\" : \"\"}\n </Typography>\n )}\n </div>\n {helpText && (\n <div>\n <HelpPopover description={helpText} />\n </div>\n )}\n </div>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n data-cy=\"insights-type\"\n style=\"body2\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import React from \"react\";\n\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\nimport PageLoader from \"components/PageLoader\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nconst Insights = ({\n insightsData,\n isLoading,\n timePeriod,\n setTimePeriod,\n helpTexts = {},\n showWarningMessage = false,\n}) => {\n const { t } = useTranslation();\n\n const {\n visitCount,\n startCount,\n submissionCount,\n completionRate,\n averageSubmissionTime,\n devices,\n operatingSystems,\n browsers,\n } = insightsData;\n\n if (isLoading) return <PageLoader />;\n\n return (\n <div className=\"mx-auto pt-10\" data-testid=\"insights\">\n <div className=\"mb-11 flex w-full items-center \">\n <Typography data-cy=\"submissions-insights-title\" style=\"h2\">\n {t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"right\"\n >\n <span className=\"ml-3\">\n <Warning\n className=\"neeto-ui-text-warning-500\"\n data-testid=\"insights-warning\"\n size={20}\n />\n </span>\n </Tooltip>\n )}\n <span className=\"ml-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-8 flex flex-wrap justify-between\">\n <MetricItem\n helpText={helpTexts[\"visitCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.visits\")}\n value={visitCount}\n />\n <MetricItem\n helpText={helpTexts[\"startCount\"]}\n metric={t(\"neetoMolecules.insights.metrics.starts\")}\n value={startCount}\n />\n <MetricItem\n helpText={helpTexts[\"submissions\"]}\n metric={t(\"neetoMolecules.insights.metrics.submissions\")}\n value={submissionCount}\n />\n <MetricItem\n isPercentage\n helpText={helpTexts[\"completionRate\"]}\n metric={t(\"neetoMolecules.insights.metrics.completionRate\")}\n value={completionRate}\n />\n <MetricItem\n isTime\n helpText={helpTexts[\"averageSubmissionTime\"]}\n metric={t(\"neetoMolecules.insights.metrics.avgTimeToComplete\")}\n timeSuffix={t(\"neetoMolecules.insights.mins\")}\n value={averageSubmissionTime}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-6 sm:grid-cols-2 md:grid-cols-3\">\n <MetaInfo\n data={devices}\n defaultItems={DEFAULT_DEVICES}\n type={t(\"neetoMolecules.insights.devices\")}\n />\n <MetaInfo\n data={operatingSystems}\n defaultItems={DEFAULT_OS}\n type={t(\"neetoMolecules.insights.os\")}\n />\n <MetaInfo\n data={browsers}\n defaultItems={DEFAULT_BROWSERS}\n type={t(\"neetoMolecules.insights.browsers\")}\n />\n </div>\n </div>\n );\n};\n\nInsights.propTypes = {\n /**\n * Object containing metrics and statistics for insights\n */\n insightsData: PropTypes.shape({\n visitCount: PropTypes.number,\n startCount: PropTypes.number,\n submissionCount: PropTypes.number,\n completionRate: PropTypes.number,\n averageSubmissionTime: PropTypes.shape({\n h: PropTypes.number,\n m: PropTypes.number,\n s: PropTypes.number,\n }),\n devices: PropTypes.shape({\n desktop: PropTypes.number,\n smartphone: PropTypes.number,\n }),\n operatingSystems: PropTypes.shape({\n mac: PropTypes.number,\n windows: PropTypes.number,\n }),\n browsers: PropTypes.shape({\n chrome: PropTypes.number,\n safari: PropTypes.number,\n }),\n }),\n /**\n * Indicates whether insights data is currently being fetched from an API\n */\n isLoading: PropTypes.bool,\n /**\n * The state corresponding to the currently selected date range.\n */\n timePeriod: PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.object,\n }),\n /**\n * The setter method for `timePeriod` state.\n */\n setTimePeriod: PropTypes.func,\n /**\n * Object containing explanatory text for each metric, providing additional context that can help users understand the significance of the metrics displayed.\n */\n helpTexts: PropTypes.shape({\n visitCount: PropTypes.string,\n startCount: PropTypes.string,\n submissions: PropTypes.string,\n completionRate: PropTypes.string,\n averageSubmissionTime: PropTypes.string,\n }),\n /**\n * Displays a warning to indicate that the insights may not be accurate, as the insights integration occurred after the record's creation.\n */\n showWarningMessage: PropTypes.bool,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","startDate","endDate","rangeType","PercentageBar","_ref","React","createElement","Fragment","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","key","getSum","searchKey","sum","includes","transformInsights","defaultItems","othersData","Object","keys","filter","existsBy","defaultData","MetaInfo","type","_useTranslation","useTranslation","_transformInsights","othersSum","values","pluck","weight","Tooltip","content","disabled","position","TimeItem","suffix","lineHeight","MetricItem","metric","helpText","isTime","isPercentage","renderTime","hours","h","minutes","m","seconds","s","showSeconds","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","PageLoader","Warning","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
|
package/dist/IntegrationCard.js
CHANGED
|
@@ -11,9 +11,12 @@ import Tooltip from '@bigbinary/neetoui/Tooltip';
|
|
|
11
11
|
import { isNotNil } from 'ramda';
|
|
12
12
|
import { useTranslation } from 'react-i18next';
|
|
13
13
|
import MoreDropdown from './MoreDropdown.js';
|
|
14
|
-
import
|
|
14
|
+
import Check from '@bigbinary/neeto-icons/Check';
|
|
15
|
+
import Warning from '@bigbinary/neeto-icons/Warning';
|
|
15
16
|
import Tag from '@bigbinary/neetoui/Tag';
|
|
16
17
|
import '@babel/runtime/helpers/defineProperty';
|
|
18
|
+
import '@bigbinary/neeto-icons/MenuHorizontal';
|
|
19
|
+
import '@bigbinary/neeto-icons/MenuVertical';
|
|
17
20
|
import '@bigbinary/neetoui/Dropdown';
|
|
18
21
|
import './inject-css-c86de496.js';
|
|
19
22
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegrationCard.js","sources":["../src/components/IntegrationCard/Dropdown.jsx","../src/components/IntegrationCard/Status.jsx","../src/components/IntegrationCard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Dropdown = ({\n customDropdown,\n handleManage = noop,\n hideDisconnect = false,\n onDisconnect = noop,\n}) => {\n const { t } = useTranslation();\n\n if (isNotNil(customDropdown)) {\n return <div onClick={e => e.stopPropagation()}>{customDropdown}</div>;\n }\n\n const isManageable = isNotNil(handleManage);\n\n if (!isManageable && hideDisconnect) {\n return null;\n }\n\n return (\n <div onClick={e => e.stopPropagation()}>\n <MoreDropdown\n menuItems={[\n {\n isVisible: isManageable,\n onClick: handleManage,\n label: t(\"neetoMolecules.integrationCard.manage\"),\n key: \"integration-card-manage-integration\",\n },\n {\n isVisible: !hideDisconnect,\n onClick: onDisconnect,\n label: t(\"neetoMolecules.integrationCard.disconnect\"),\n key: \"integration-card-manage-disconnection\",\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport { Check, Warning } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Status = ({ isExpired }) => {\n const { t } = useTranslation();\n\n const tagProps = isExpired\n ? {\n icon: Warning,\n label: t(\"neetoMolecules.integrationCard.tags.expired\"),\n style: \"warning\",\n }\n : {\n icon: Check,\n label: t(\"neetoMolecules.integrationCard.tags.connected\"),\n style: \"success\",\n };\n\n return (\n <Tag\n className=\"flex-row-reverse\"\n {...tagProps}\n data-testid=\"integration-status\"\n />\n );\n};\n\nexport default Status;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography, Button, Spinner, Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Dropdown from \"./Dropdown\";\nimport Status from \"./Status\";\n\nconst IntegrationCard = ({\n icon: Icon,\n subIcons = [],\n label = \"\",\n description = \"\",\n className = \"\",\n onConnect = noop,\n onDisconnect = noop,\n onManage = undefined,\n isLoading = false,\n isConnected = false,\n isFailed = false,\n isExpired = false,\n disabled = false,\n hidden = false,\n hideDisconnect = false,\n onClick: onCardClick = undefined,\n tooltipProps = {},\n customDropdown = null,\n dataCy = \"\",\n connectPath = \"\",\n connectUrl = \"\",\n children,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n if (hidden) return null;\n\n const isCardClickable = isConnected && isNotNil(onCardClick);\n\n const cardProps = isCardClickable ? { onClick: onCardClick } : {};\n\n return (\n <Tooltip\n disabled={!disabled}\n position=\"top\"\n content={\n disabled &&\n t(\"neetoMolecules.integrationCard.tooltip.integrationNotAvailable\")\n }\n {...tooltipProps}\n >\n <div\n data-cy={dataCy}\n data-testid=\"integration-card\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex flex-col border p-6 no-underline outline-none transition-colors\",\n {\n \"hover:neeto-ui-bg-100 cursor-not-allowed opacity-50\": disabled,\n \"cursor-pointer\": isCardClickable,\n },\n className\n )}\n {...cardProps}\n {...otherProps}\n >\n <div\n className=\"flex flex-grow justify-between\"\n data-cy=\"integration-tabs\"\n >\n <div className=\"flex min-w-0 flex-col justify-end\">\n <div className=\"relative mb-4 flex h-8\">\n {Icon && <Icon size={32} />}\n </div>\n <div className=\"my-auto\">\n <Typography\n className=\"mb-2\"\n data-cy=\"integration-card-label\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography\n className=\"break-words\"\n data-cy={`${joinHyphenCase(label)}-integration-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n {children}\n </div>\n </div>\n {isNotEmpty(subIcons) && (\n <div className=\"flex h-24 flex-col gap-2\">\n {subIcons.map((Icon, index) => (\n <Icon\n className=\"neeto-ui-text-gray-600\"\n key={index}\n size={24}\n />\n ))}\n </div>\n )}\n </div>\n <div className=\"neeto-ui-border-gray-300 mt-4 w-full border-t pt-2\">\n {isLoading ? (\n <div className=\"mt-3 flex items-center justify-start\">\n <Spinner />\n </div>\n ) : (\n <div className=\"flex h-8 items-center justify-between\">\n {isConnected && <Status {...{ isExpired }} />}\n {isFailed && (\n <Button\n className=\"neeto-ui-text-warning-500\"\n data-cy=\"connect-button\"\n disabled={disabled || isLoading}\n href={connectUrl}\n label={t(\"neetoMolecules.integrationCard.tryAgain\")}\n style=\"link\"\n to={connectPath}\n onClick={onConnect}\n />\n )}\n {!isConnected && !isFailed && (\n <Button\n data-cy=\"connect-button\"\n data-testid=\"integraiton-card-connect-button\"\n disabled={disabled || isLoading}\n href={connectUrl}\n label={t(\"neetoMolecules.integrationCard.connect\")}\n style=\"link\"\n to={connectPath}\n onClick={onConnect}\n />\n )}\n {(isConnected || isFailed) && (\n <Dropdown\n {...{ customDropdown, hideDisconnect, onDisconnect }}\n handleManage={onManage}\n />\n )}\n </div>\n )}\n </div>\n </div>\n </Tooltip>\n );\n};\n\nIntegrationCard.propTypes = {\n /**\n * The icon component to be displayed on the card.\n */\n icon: PropTypes.elementType,\n /**\n * Array of sub-icons to be displayed on the card.\n */\n subIcons: PropTypes.arrayOf(PropTypes.elementType),\n /**\n * The label to be displayed on the card.\n */\n label: PropTypes.string,\n /**\n * The description of the card.\n */\n description: PropTypes.string,\n /**\n * Additional class names for styling the card.\n */\n className: PropTypes.string,\n /**\n * Handler function called when the integration is connected.\n */\n onConnect: PropTypes.func,\n /**\n * Handler function called when the manage dropdown is clicked.\n */\n onManage: PropTypes.func,\n /**\n * Handler function called when clicked on integration card.\n */\n onClick: PropTypes.func,\n /**\n * Handler function called when the disconnect dropdown is clicked.\n */\n onDisconnect: PropTypes.func,\n /**\n * Flag indicating if the integration is currently loading.\n */\n isLoading: PropTypes.bool,\n /**\n * Flag indicating if the integration is connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Flag indicating if the integration has failed.\n */\n isFailed: PropTypes.bool,\n /**\n * Flag indicating if the integration has expired.\n */\n isExpired: PropTypes.bool,\n /**\n * Flag indicating if the integration is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Flag indicating if the card should be hidden.\n */\n hidden: PropTypes.bool,\n /**\n * Flag indicating if the disconnect button should be hidden.\n */\n hideDisconnect: PropTypes.bool,\n /**\n * Additional props for customizing the tooltip wrapper.\n */\n tooltipProps: PropTypes.object,\n /**\n * Custom dropdown component to be rendered.\n */\n customDropdown: PropTypes.element,\n /**\n * Additional children elements to be rendered within the card.\n */\n children: PropTypes.node,\n /**\n * Internal path to the integration connection page.\n */\n connectPath: PropTypes.string,\n /**\n * External path to the integration connection page.\n */\n connectUrl: PropTypes.string,\n};\n\nexport default IntegrationCard;\n"],"names":["Dropdown","_ref","customDropdown","_ref$handleManage","handleManage","noop","_ref$hideDisconnect","hideDisconnect","_ref$onDisconnect","onDisconnect","_useTranslation","useTranslation","t","isNotNil","React","createElement","onClick","e","stopPropagation","isManageable","MoreDropdown","menuItems","isVisible","label","key","Status","isExpired","tagProps","icon","Warning","style","Check","Tag","_extends","className","IntegrationCard","Icon","_ref$subIcons","subIcons","_ref$label","_ref$description","description","_ref$className","_ref$onConnect","onConnect","_ref$onManage","onManage","undefined","_ref$isLoading","isLoading","_ref$isConnected","isConnected","_ref$isFailed","isFailed","_ref$isExpired","_ref$disabled","disabled","_ref$hidden","hidden","_ref$onClick","onCardClick","_ref$tooltipProps","tooltipProps","_ref$customDropdown","_ref$dataCy","dataCy","_ref$connectPath","connectPath","_ref$connectUrl","connectUrl","children","otherProps","_objectWithoutProperties","_excluded","isCardClickable","cardProps","Tooltip","position","content","classnames","size","Typography","weight","concat","joinHyphenCase","isNotEmpty","map","index","Spinner","Button","href","to"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IntegrationCard.js","sources":["../src/components/IntegrationCard/Dropdown.jsx","../src/components/IntegrationCard/Status.jsx","../src/components/IntegrationCard/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport MoreDropdown from \"components/MoreDropdown\";\n\nconst Dropdown = ({\n customDropdown,\n handleManage = noop,\n hideDisconnect = false,\n onDisconnect = noop,\n}) => {\n const { t } = useTranslation();\n\n if (isNotNil(customDropdown)) {\n return <div onClick={e => e.stopPropagation()}>{customDropdown}</div>;\n }\n\n const isManageable = isNotNil(handleManage);\n\n if (!isManageable && hideDisconnect) {\n return null;\n }\n\n return (\n <div onClick={e => e.stopPropagation()}>\n <MoreDropdown\n menuItems={[\n {\n isVisible: isManageable,\n onClick: handleManage,\n label: t(\"neetoMolecules.integrationCard.manage\"),\n key: \"integration-card-manage-integration\",\n },\n {\n isVisible: !hideDisconnect,\n onClick: onDisconnect,\n label: t(\"neetoMolecules.integrationCard.disconnect\"),\n key: \"integration-card-manage-disconnection\",\n },\n ]}\n />\n </div>\n );\n};\n\nexport default Dropdown;\n","import React from \"react\";\n\nimport { Check, Warning } from \"neetoicons\";\nimport { Tag } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Status = ({ isExpired }) => {\n const { t } = useTranslation();\n\n const tagProps = isExpired\n ? {\n icon: Warning,\n label: t(\"neetoMolecules.integrationCard.tags.expired\"),\n style: \"warning\",\n }\n : {\n icon: Check,\n label: t(\"neetoMolecules.integrationCard.tags.connected\"),\n style: \"success\",\n };\n\n return (\n <Tag\n className=\"flex-row-reverse\"\n {...tagProps}\n data-testid=\"integration-status\"\n />\n );\n};\n\nexport default Status;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { isNotEmpty, noop } from \"neetocist\";\nimport { joinHyphenCase } from \"neetocommons/utils/general\";\nimport { Typography, Button, Spinner, Tooltip } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { isNotNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Dropdown from \"./Dropdown\";\nimport Status from \"./Status\";\n\nconst IntegrationCard = ({\n icon: Icon,\n subIcons = [],\n label = \"\",\n description = \"\",\n className = \"\",\n onConnect = noop,\n onDisconnect = noop,\n onManage = undefined,\n isLoading = false,\n isConnected = false,\n isFailed = false,\n isExpired = false,\n disabled = false,\n hidden = false,\n hideDisconnect = false,\n onClick: onCardClick = undefined,\n tooltipProps = {},\n customDropdown = null,\n dataCy = \"\",\n connectPath = \"\",\n connectUrl = \"\",\n children,\n ...otherProps\n}) => {\n const { t } = useTranslation();\n\n if (hidden) return null;\n\n const isCardClickable = isConnected && isNotNil(onCardClick);\n\n const cardProps = isCardClickable ? { onClick: onCardClick } : {};\n\n return (\n <Tooltip\n disabled={!disabled}\n position=\"top\"\n content={\n disabled &&\n t(\"neetoMolecules.integrationCard.tooltip.integrationNotAvailable\")\n }\n {...tooltipProps}\n >\n <div\n data-cy={dataCy}\n data-testid=\"integration-card\"\n className={classnames(\n \"neeto-ui-border-gray-300 neeto-ui-shadow-xs hover:neeto-ui-border-gray-500 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex flex-col border p-6 no-underline outline-none transition-colors\",\n {\n \"hover:neeto-ui-bg-100 cursor-not-allowed opacity-50\": disabled,\n \"cursor-pointer\": isCardClickable,\n },\n className\n )}\n {...cardProps}\n {...otherProps}\n >\n <div\n className=\"flex flex-grow justify-between\"\n data-cy=\"integration-tabs\"\n >\n <div className=\"flex min-w-0 flex-col justify-end\">\n <div className=\"relative mb-4 flex h-8\">\n {Icon && <Icon size={32} />}\n </div>\n <div className=\"my-auto\">\n <Typography\n className=\"mb-2\"\n data-cy=\"integration-card-label\"\n style=\"h4\"\n weight=\"semibold\"\n >\n {label}\n </Typography>\n <Typography\n className=\"break-words\"\n data-cy={`${joinHyphenCase(label)}-integration-description`}\n style=\"body2\"\n >\n {description}\n </Typography>\n {children}\n </div>\n </div>\n {isNotEmpty(subIcons) && (\n <div className=\"flex h-24 flex-col gap-2\">\n {subIcons.map((Icon, index) => (\n <Icon\n className=\"neeto-ui-text-gray-600\"\n key={index}\n size={24}\n />\n ))}\n </div>\n )}\n </div>\n <div className=\"neeto-ui-border-gray-300 mt-4 w-full border-t pt-2\">\n {isLoading ? (\n <div className=\"mt-3 flex items-center justify-start\">\n <Spinner />\n </div>\n ) : (\n <div className=\"flex h-8 items-center justify-between\">\n {isConnected && <Status {...{ isExpired }} />}\n {isFailed && (\n <Button\n className=\"neeto-ui-text-warning-500\"\n data-cy=\"connect-button\"\n disabled={disabled || isLoading}\n href={connectUrl}\n label={t(\"neetoMolecules.integrationCard.tryAgain\")}\n style=\"link\"\n to={connectPath}\n onClick={onConnect}\n />\n )}\n {!isConnected && !isFailed && (\n <Button\n data-cy=\"connect-button\"\n data-testid=\"integraiton-card-connect-button\"\n disabled={disabled || isLoading}\n href={connectUrl}\n label={t(\"neetoMolecules.integrationCard.connect\")}\n style=\"link\"\n to={connectPath}\n onClick={onConnect}\n />\n )}\n {(isConnected || isFailed) && (\n <Dropdown\n {...{ customDropdown, hideDisconnect, onDisconnect }}\n handleManage={onManage}\n />\n )}\n </div>\n )}\n </div>\n </div>\n </Tooltip>\n );\n};\n\nIntegrationCard.propTypes = {\n /**\n * The icon component to be displayed on the card.\n */\n icon: PropTypes.elementType,\n /**\n * Array of sub-icons to be displayed on the card.\n */\n subIcons: PropTypes.arrayOf(PropTypes.elementType),\n /**\n * The label to be displayed on the card.\n */\n label: PropTypes.string,\n /**\n * The description of the card.\n */\n description: PropTypes.string,\n /**\n * Additional class names for styling the card.\n */\n className: PropTypes.string,\n /**\n * Handler function called when the integration is connected.\n */\n onConnect: PropTypes.func,\n /**\n * Handler function called when the manage dropdown is clicked.\n */\n onManage: PropTypes.func,\n /**\n * Handler function called when clicked on integration card.\n */\n onClick: PropTypes.func,\n /**\n * Handler function called when the disconnect dropdown is clicked.\n */\n onDisconnect: PropTypes.func,\n /**\n * Flag indicating if the integration is currently loading.\n */\n isLoading: PropTypes.bool,\n /**\n * Flag indicating if the integration is connected.\n */\n isConnected: PropTypes.bool,\n /**\n * Flag indicating if the integration has failed.\n */\n isFailed: PropTypes.bool,\n /**\n * Flag indicating if the integration has expired.\n */\n isExpired: PropTypes.bool,\n /**\n * Flag indicating if the integration is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * Flag indicating if the card should be hidden.\n */\n hidden: PropTypes.bool,\n /**\n * Flag indicating if the disconnect button should be hidden.\n */\n hideDisconnect: PropTypes.bool,\n /**\n * Additional props for customizing the tooltip wrapper.\n */\n tooltipProps: PropTypes.object,\n /**\n * Custom dropdown component to be rendered.\n */\n customDropdown: PropTypes.element,\n /**\n * Additional children elements to be rendered within the card.\n */\n children: PropTypes.node,\n /**\n * Internal path to the integration connection page.\n */\n connectPath: PropTypes.string,\n /**\n * External path to the integration connection page.\n */\n connectUrl: PropTypes.string,\n};\n\nexport default IntegrationCard;\n"],"names":["Dropdown","_ref","customDropdown","_ref$handleManage","handleManage","noop","_ref$hideDisconnect","hideDisconnect","_ref$onDisconnect","onDisconnect","_useTranslation","useTranslation","t","isNotNil","React","createElement","onClick","e","stopPropagation","isManageable","MoreDropdown","menuItems","isVisible","label","key","Status","isExpired","tagProps","icon","Warning","style","Check","Tag","_extends","className","IntegrationCard","Icon","_ref$subIcons","subIcons","_ref$label","_ref$description","description","_ref$className","_ref$onConnect","onConnect","_ref$onManage","onManage","undefined","_ref$isLoading","isLoading","_ref$isConnected","isConnected","_ref$isFailed","isFailed","_ref$isExpired","_ref$disabled","disabled","_ref$hidden","hidden","_ref$onClick","onCardClick","_ref$tooltipProps","tooltipProps","_ref$customDropdown","_ref$dataCy","dataCy","_ref$connectPath","connectPath","_ref$connectUrl","connectUrl","children","otherProps","_objectWithoutProperties","_excluded","isCardClickable","cardProps","Tooltip","position","content","classnames","size","Typography","weight","concat","joinHyphenCase","isNotEmpty","map","index","Spinner","Button","href","to"],"mappings":"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"}
|
package/dist/IpRestriction.js
CHANGED
|
@@ -12,15 +12,17 @@ import { Trans, useTranslation } from 'react-i18next';
|
|
|
12
12
|
import PageLoader from './PageLoader.js';
|
|
13
13
|
import { FieldArray } from 'formik';
|
|
14
14
|
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
15
|
-
import
|
|
15
|
+
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
16
|
+
import Delete from '@bigbinary/neeto-icons/Delete';
|
|
16
17
|
import Input from '@bigbinary/neetoui/formik/Input';
|
|
17
18
|
import Select from '@bigbinary/neetoui/formik/Select';
|
|
18
19
|
import { t } from 'i18next';
|
|
19
20
|
import * as yup from 'yup';
|
|
20
21
|
import { Validator, IPv4, IPv6 } from 'ip-num';
|
|
21
22
|
import { isNil, isNotNil, assoc } from 'ramda';
|
|
22
|
-
import { useQuery } from 'react-query';
|
|
23
|
+
import { useQuery } from '@tanstack/react-query';
|
|
23
24
|
import axios from 'axios';
|
|
25
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
24
26
|
import useMutationWithInvalidation from '@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation';
|
|
25
27
|
import '@babel/runtime/helpers/extends';
|
|
26
28
|
import '@babel/runtime/helpers/objectWithoutProperties';
|
|
@@ -268,8 +270,11 @@ var currentIpApi = {
|
|
|
268
270
|
|
|
269
271
|
var CURRENT_IP = QUERY_KEYS.CURRENT_IP;
|
|
270
272
|
var useShowCurrentIp = function useShowCurrentIp() {
|
|
271
|
-
return useQuery(
|
|
272
|
-
|
|
273
|
+
return useQuery({
|
|
274
|
+
queryKey: [CURRENT_IP],
|
|
275
|
+
queryFn: function queryFn() {
|
|
276
|
+
return currentIpApi.show();
|
|
277
|
+
}
|
|
273
278
|
});
|
|
274
279
|
};
|
|
275
280
|
|
|
@@ -315,11 +320,16 @@ var allowedIpRangesApi = {
|
|
|
315
320
|
update: update$1
|
|
316
321
|
};
|
|
317
322
|
|
|
323
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
324
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
318
325
|
var ALLOWED_IP_RANGES$1 = QUERY_KEYS.ALLOWED_IP_RANGES;
|
|
319
326
|
var useFetchAllowedIpRanges = function useFetchAllowedIpRanges(options) {
|
|
320
|
-
return useQuery(
|
|
321
|
-
|
|
322
|
-
|
|
327
|
+
return useQuery(_objectSpread({
|
|
328
|
+
queryKey: [ALLOWED_IP_RANGES$1],
|
|
329
|
+
queryFn: function queryFn() {
|
|
330
|
+
return allowedIpRangesApi.fetch();
|
|
331
|
+
}
|
|
332
|
+
}, options));
|
|
323
333
|
};
|
|
324
334
|
|
|
325
335
|
var ipRestrictionUrl = "".concat(IP_RESTRICTIONS_ENGINE_BASE_URL, "/ip_restriction");
|
|
@@ -339,13 +349,16 @@ var ipRestrictionApi = {
|
|
|
339
349
|
var IP_RESTRICTION = QUERY_KEYS.IP_RESTRICTION,
|
|
340
350
|
ALLOWED_IP_RANGES = QUERY_KEYS.ALLOWED_IP_RANGES;
|
|
341
351
|
var useShowIpRestriction = function useShowIpRestriction() {
|
|
342
|
-
return useQuery(
|
|
343
|
-
|
|
352
|
+
return useQuery({
|
|
353
|
+
queryKey: [IP_RESTRICTION],
|
|
354
|
+
queryFn: function queryFn() {
|
|
355
|
+
return ipRestrictionApi.show();
|
|
356
|
+
}
|
|
344
357
|
});
|
|
345
358
|
};
|
|
346
359
|
var useUpdateIpRestriction = function useUpdateIpRestriction() {
|
|
347
360
|
return useMutationWithInvalidation(ipRestrictionApi.update, {
|
|
348
|
-
keysToInvalidate: [IP_RESTRICTION, ALLOWED_IP_RANGES]
|
|
361
|
+
keysToInvalidate: [[IP_RESTRICTION], [ALLOWED_IP_RANGES]]
|
|
349
362
|
});
|
|
350
363
|
};
|
|
351
364
|
|
|
@@ -369,7 +382,7 @@ var IpRestriction = function IpRestriction() {
|
|
|
369
382
|
isRefetching = _useFetchAllowedIpRan.isRefetching;
|
|
370
383
|
var _useUpdateIpRestricti = useUpdateIpRestriction(),
|
|
371
384
|
updateIpRestriction = _useUpdateIpRestricti.mutate,
|
|
372
|
-
isUpdating = _useUpdateIpRestricti.
|
|
385
|
+
isUpdating = _useUpdateIpRestricti.isPending;
|
|
373
386
|
if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {
|
|
374
387
|
return /*#__PURE__*/React__default.createElement("div", {
|
|
375
388
|
className: "h-screen"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IpRestriction.js","sources":["../src/components/IpRestriction/utils.js","../src/components/IpRestriction/constants.js","../src/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../src/components/IpRestriction/AllowedIpRanges/index.jsx","../src/components/IpRestriction/apis/current_ip.js","../src/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../src/components/IpRestriction/CurrentIp.jsx","../src/components/IpRestriction/apis/allowed_ip_ranges.js","../src/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../src/components/IpRestriction/apis/ip_restriction.js","../src/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../src/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { assoc, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nconst toLabelAndValue = value => ({\n label: humanizeIpAddressFormat(value),\n value,\n});\n\nconst isValidIPv4String = ip =>\n isNotNil(ip) && Validator.isValidIPv4String(ip)[0];\n\nconst isValidIPv6String = ip =>\n isNotNil(ip) && Validator.isValidIPv6String(ip)[0];\n\nconst isValidIpString = ip => isValidIPv4String(ip) || isValidIPv6String(ip);\n\nconst areIpAddressesInSameFormat = (ipStart, ipEnd) =>\n (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) ||\n (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd));\n\nconst isValidIPv4Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv4.fromDecimalDottedString(ipStart);\n const ipEndAddr = IPv4.fromDecimalDottedString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPv6Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv6.fromString(ipStart);\n const ipEndAddr = IPv6.fromString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPRange = (ipStart, ipEnd) => {\n if (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) {\n return isValidIPv4Range(ipStart, ipEnd);\n }\n\n if (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd)) {\n return isValidIPv6Range(ipStart, ipEnd);\n }\n\n return false;\n};\n\nyup.addMethod(yup.string, \"validIp\", function (errorMessage) {\n return this.test(\"valid-ip\", errorMessage, function (value) {\n if (isNil(value)) {\n return this;\n }\n\n const isValidIp = isValidIpString(value);\n\n return (\n isValidIp || this.createError({ path: this.path, message: errorMessage })\n );\n });\n});\n\nexport const getIpRestrictionValidationSchema = () =>\n yup.object().shape({\n ipStart: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .required(t(\"neetoMolecules.ipRestriction.validations.ipStartRequired\")),\n ipEnd: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => areIpAddressesInSameFormat(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.eitherIpv4OrIpv6\"\n ),\n })\n )\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => isValidIPRange(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.ipEndGreaterThanIpStart\"\n ),\n })\n )\n .required(t(\"neetoMolecules.ipRestriction.validations.ipEndRequired\")),\n addressType: yup\n .object()\n .shape({\n value: yup.string().required(),\n label: yup.string().required(),\n })\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const humanizeIpAddressFormat = addressFormat => {\n const addressFormats = { ipv4: \"IPv4\", ipv6: \"IPv6\" };\n\n return addressFormats[addressFormat];\n};\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges: buildAllowedIpRangesFormData(allowedIpRanges),\n});\n\nexport const buildAllowedIpRangesFormData = allowedIpRanges =>\n allowedIpRanges?.map(allowedIpRange =>\n assoc(\n \"addressType\",\n toLabelAndValue(allowedIpRange.addressType),\n allowedIpRange\n )\n );\n\nexport const buildIpRestrictionPayload = values => {\n const allowedIpRangesWithTransformedAddressType = values.allowedIpRanges.map(\n allowedIpRange =>\n assoc(\"addressType\", allowedIpRange.addressType.value, allowedIpRange)\n );\n\n return {\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: allowedIpRangesWithTransformedAddressType,\n };\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/ip_restrictions/api/v1\";\n\nexport const QUERY_KEYS = {\n IP_RESTRICTION: \"IP_RESTRICTION\",\n ALLOWED_IP_RANGES: \"ALLOWED_IP_RANGES\",\n CURRENT_IP: \"CURRENT_IP\",\n};\n\nexport const TRUNCATE_LENGTH = 18;\n\nexport const ADDRESS_TYPE_SELECT_OPTIONS = [\n { label: t(\"neetoMolecules.ipRestriction.ipv4\"), value: \"ipv4\" },\n { label: t(\"neetoMolecules.ipRestriction.ipv6\"), value: \"ipv6\" },\n];\n\nexport const INITIAL_VALUES = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: ADDRESS_TYPE_SELECT_OPTIONS[0].value,\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n ipRestriction: yup.boolean(),\n allowedIpRanges: yup.array().of(getIpRestrictionValidationSchema()),\n});\n\nexport const NEW_ALLOWED_IP_RANGE = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: null,\n createdAt: new Date().toISOString(),\n};\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-2 py-2 sm:grid-cols-12 sm:gap-4 sm:py-3\">\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"col-span-1 text-left sm:col-span-2\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n <div className=\"col-span-1 flex items-start sm:col-span-2 sm:justify-center\">\n <Button\n className=\"mt-auto sm:mt-0\"\n data-testid=\"allowed-ip-range-delete-btn\"\n icon={Delete}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.discard\"),\n position: \"top\",\n }}\n onClick={() => arrayHelpers.remove(index)}\n />\n </div>\n </div>\n));\n\nexport default AllowedIpRange;\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div className=\"space-y-6\" data-cy=\"allowed-ip-range-container\">\n <Typography data-cy=\"allowed-ip-range-heading\" style=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"space-y-2\">\n <div className=\"hidden grid-cols-12 gap-4 sm:grid\">\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 text-center uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n <div className=\"w-full space-y-2\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n )\n )}\n <Button\n className=\"mt-2\"\n data-cy=\"add-allowed-ip-range-button\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default React.memo(AllowedIpRanges);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst show = params =>\n axios.get(`${IP_RESTRICTIONS_ENGINE_BASE_URL}/current_ip`, { params });\n\nconst currentIpApi = { show };\n\nexport default currentIpApi;\n","import { useQuery } from \"react-query\";\n\nimport currentIpApi from \"../../apis/current_ip\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { CURRENT_IP } = QUERY_KEYS;\n\nconst useShowCurrentIp = () =>\n useQuery([CURRENT_IP], () => currentIpApi.show());\n\nexport { useShowCurrentIp };\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { useShowCurrentIp } from \"./hooks/reactQuery/useCurrentIp\";\n\nconst CurrentIp = () => {\n const { data, isLoading } = useShowCurrentIp();\n\n return (\n <div\n className=\"flex flex-wrap items-baseline gap-1\"\n data-cy=\"current-ip-container\"\n >\n <Typography>\n <Trans\n i18nKey=\"neetoMolecules.ipRestriction.currentIpMessage\"\n values={{ ip: isLoading ? \"...\" : data.ip }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default React.memo(CurrentIp);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst allowedIpRangesUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/allowed_ips`;\n\nconst fetch = () => axios.get(allowedIpRangesUrl);\n\nconst create = payload =>\n axios.post(allowedIpRangesUrl, { allowedIpRange: payload });\n\nconst destroy = id => axios.delete(`${allowedIpRangesUrl}/${id}`);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${allowedIpRangesUrl}/${id}`, {\n allowedIpRange: payload,\n });\n\nconst allowedIpRangesApi = { fetch, create, destroy, update };\n\nexport default allowedIpRangesApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport allowedIpRangesApi from \"../../apis/allowed_ip_ranges\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useFetchAllowedIpRanges = options =>\n useQuery([ALLOWED_IP_RANGES], () => allowedIpRangesApi.fetch(), options);\n\nconst useCreateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.create, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useDestroyAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.destroy, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nconst useUpdateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.update, {\n keysToInvalidate: [ALLOWED_IP_RANGES],\n });\n\nexport {\n useFetchAllowedIpRanges,\n useCreateAllowedIpRanges,\n useDestroyAllowedIpRanges,\n useUpdateAllowedIpRanges,\n};\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst ipRestrictionUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/ip_restriction`;\n\nconst update = params =>\n axios.patch(ipRestrictionUrl, { ipRestriction: params });\n\nconst show = () => axios.get(ipRestrictionUrl);\n\nconst ipRestrictionApi = { update, show };\n\nexport default ipRestrictionApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport ipRestrictionApi from \"../../apis/ip_restriction\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { IP_RESTRICTION, ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useShowIpRestriction = () =>\n useQuery([IP_RESTRICTION], () => ipRestrictionApi.show());\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [IP_RESTRICTION, ALLOWED_IP_RANGES],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import React, { useState } from \"react\";\n\nimport { Typography, Alert, Callout, Button } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Checkbox,\n Button as FormikButton,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport AllowedIpRanges from \"./AllowedIpRanges\";\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport CurrentIp from \"./CurrentIp\";\nimport { useFetchAllowedIpRanges } from \"./hooks/reactQuery/useAllowedIpRanges\";\nimport {\n useShowIpRestriction,\n useUpdateIpRestriction,\n} from \"./hooks/reactQuery/useIpRestrictions\";\nimport { buildInitialValue, buildIpRestrictionPayload } from \"./utils\";\n\nconst IpRestriction = () => {\n const { t } = useTranslation();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n\n const {\n data: { isIpRestrictionEnabled } = {},\n isLoading: isFetchingIpRestriction,\n } = useShowIpRestriction();\n\n const {\n data: allowedIpRanges,\n isLoading: isFetchingAllowedIpRanges,\n isRefetching,\n } = useFetchAllowedIpRanges({ enabled: isIpRestrictionEnabled });\n\n const { mutate: updateIpRestriction, isLoading: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"h-screen\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = (values, formikBag) => {\n if (values.ipRestriction) setIsAlertOpen(true);\n else handleUpdateIpRestriction(values, formikBag);\n };\n\n const handleCloseAlert = setSubmitting => {\n setIsAlertOpen(false);\n setSubmitting(false);\n };\n\n const handleUpdateIpRestriction = (values, { setSubmitting, resetForm }) => {\n updateIpRestriction(buildIpRestrictionPayload(values), {\n onSuccess: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n resetForm({ values });\n },\n onError: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n },\n });\n };\n\n return (\n <NeetoUIForm\n className=\"mx-auto mb-4 w-full sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n formikProps={{\n initialValues: buildInitialValue(\n isIpRestrictionEnabled,\n allowedIpRanges\n ),\n validationSchema: VALIDATION_SCHEMA,\n validateOnBlur: true,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, dirty, setFieldValue, resetForm, setSubmitting }) => (\n <>\n <BlockNavigation />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n data-cy=\"ip-restrictions-card\"\n >\n <div className=\"space-y-2 p-6\">\n <Checkbox\n checked={values.ipRestriction}\n className=\"flex-grow-0\"\n data-cy=\"enable-ip-restriction-checkbox\"\n disabled={isFetchingIpRestriction || isUpdating}\n name=\"ipRestriction\"\n label={\n <Typography style=\"h3\">\n {t(\"neetoMolecules.ipRestriction.switchLabel\")}\n </Typography>\n }\n onChange={() =>\n setFieldValue(\"ipRestriction\", !values.ipRestriction)\n }\n />\n <Typography data-cy=\"ip-restriction-description\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"neeto-ui-border-gray-300 w-full space-y-6 border-t p-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout style=\"warning\">\n <div className=\"leading-2 block whitespace-pre-wrap py-1\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\n </div>\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n {dirty && (\n <Typography className=\"neeto-ui-text-error-500\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n <div className=\"ml-auto flex justify-between\">\n <Button\n className=\"mr-2\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n style=\"secondary\"\n type=\"reset\"\n onClick={resetForm}\n />\n <FormikButton\n data-cy=\"ip-restriction-save-changes\"\n data-testid=\"save-changes-button\"\n isLoading={isUpdating}\n type=\"submit\"\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n </div>\n </div>\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isUpdating}\n title={t(\"neetoMolecules.ipRestriction.enableAlert.title\")}\n message={\n <Trans i18nKey=\"neetoMolecules.ipRestriction.enableAlert.message\" />\n }\n submitButtonLabel={t(\n \"neetoMolecules.ipRestriction.enableAlert.submitButtonLabel\"\n )}\n onClose={() => handleCloseAlert(setSubmitting)}\n onSubmit={() =>\n handleUpdateIpRestriction(values, { setSubmitting, resetForm })\n }\n />\n </>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default React.memo(IpRestriction);\n"],"names":["toLabelAndValue","value","label","humanizeIpAddressFormat","isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","addressFormat","addressFormats","ipv4","ipv6","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildAllowedIpRangesFormData","map","allowedIpRange","assoc","buildIpRestrictionPayload","values","allowedIpRangesWithTransformedAddressType","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","React","createElement","className","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Delete","style","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","Fragment","form","key","Plus","iconPosition","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","ipRestrictionUrl","ipRestrictionApi","useShowIpRestriction","useUpdateIpRestriction","useMutationWithInvalidation","keysToInvalidate","IpRestriction","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isAlertOpen","setIsAlertOpen","_useShowIpRestriction","_useShowIpRestriction2","_useShowIpRestriction3","isFetchingIpRestriction","_useFetchAllowedIpRan","enabled","isFetchingAllowedIpRanges","isRefetching","_useUpdateIpRestricti","updateIpRestriction","mutate","isUpdating","PageLoader","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","setFieldValue","BlockNavigation","Checkbox","checked","disabled","onChange","Callout","type","FormikButton","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"IpRestriction.js","sources":["../src/components/IpRestriction/utils.js","../src/components/IpRestriction/constants.js","../src/components/IpRestriction/AllowedIpRanges/AllowedIpRange.jsx","../src/components/IpRestriction/AllowedIpRanges/index.jsx","../src/components/IpRestriction/apis/current_ip.js","../src/components/IpRestriction/hooks/reactQuery/useCurrentIp.js","../src/components/IpRestriction/CurrentIp.jsx","../src/components/IpRestriction/apis/allowed_ip_ranges.js","../src/components/IpRestriction/hooks/reactQuery/useAllowedIpRanges.js","../src/components/IpRestriction/apis/ip_restriction.js","../src/components/IpRestriction/hooks/reactQuery/useIpRestrictions.js","../src/components/IpRestriction/index.jsx"],"sourcesContent":["import { t } from \"i18next\";\nimport { IPv4, IPv6, Validator } from \"ip-num\";\nimport { assoc, isNil, isNotNil } from \"ramda\";\nimport * as yup from \"yup\";\n\nconst toLabelAndValue = value => ({\n label: humanizeIpAddressFormat(value),\n value,\n});\n\nconst isValidIPv4String = ip =>\n isNotNil(ip) && Validator.isValidIPv4String(ip)[0];\n\nconst isValidIPv6String = ip =>\n isNotNil(ip) && Validator.isValidIPv6String(ip)[0];\n\nconst isValidIpString = ip => isValidIPv4String(ip) || isValidIPv6String(ip);\n\nconst areIpAddressesInSameFormat = (ipStart, ipEnd) =>\n (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) ||\n (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd));\n\nconst isValidIPv4Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv4.fromDecimalDottedString(ipStart);\n const ipEndAddr = IPv4.fromDecimalDottedString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPv6Range = (ipStart, ipEnd) => {\n const ipStartAddr = IPv6.fromString(ipStart);\n const ipEndAddr = IPv6.fromString(ipEnd);\n\n return ipStartAddr.isLessThanOrEquals(ipEndAddr);\n};\n\nconst isValidIPRange = (ipStart, ipEnd) => {\n if (isValidIPv4String(ipStart) && isValidIPv4String(ipEnd)) {\n return isValidIPv4Range(ipStart, ipEnd);\n }\n\n if (isValidIPv6String(ipStart) && isValidIPv6String(ipEnd)) {\n return isValidIPv6Range(ipStart, ipEnd);\n }\n\n return false;\n};\n\nyup.addMethod(yup.string, \"validIp\", function (errorMessage) {\n return this.test(\"valid-ip\", errorMessage, function (value) {\n if (isNil(value)) {\n return this;\n }\n\n const isValidIp = isValidIpString(value);\n\n return (\n isValidIp || this.createError({ path: this.path, message: errorMessage })\n );\n });\n});\n\nexport const getIpRestrictionValidationSchema = () =>\n yup.object().shape({\n ipStart: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .required(t(\"neetoMolecules.ipRestriction.validations.ipStartRequired\")),\n ipEnd: yup\n .string()\n .validIp(t(\"neetoMolecules.ipRestriction.validations.invalidIp\"))\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => areIpAddressesInSameFormat(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.eitherIpv4OrIpv6\"\n ),\n })\n )\n .when(\"ipStart\", (ipStart, schema) =>\n schema.test({\n test: ipEnd => isValidIPRange(ipStart, ipEnd),\n message: t(\n \"neetoMolecules.ipRestriction.validations.ipEndGreaterThanIpStart\"\n ),\n })\n )\n .required(t(\"neetoMolecules.ipRestriction.validations.ipEndRequired\")),\n addressType: yup\n .object()\n .shape({\n value: yup.string().required(),\n label: yup.string().required(),\n })\n .nullable()\n .required(\n t(\"neetoMolecules.ipRestriction.validations.addressTypeRequired\")\n ),\n });\n\nexport const humanizeIpAddressFormat = addressFormat => {\n const addressFormats = { ipv4: \"IPv4\", ipv6: \"IPv6\" };\n\n return addressFormats[addressFormat];\n};\n\nexport const buildInitialValue = (isIpRestrictionEnabled, allowedIpRanges) => ({\n ipRestriction: isIpRestrictionEnabled,\n allowedIpRanges: buildAllowedIpRangesFormData(allowedIpRanges),\n});\n\nexport const buildAllowedIpRangesFormData = allowedIpRanges =>\n allowedIpRanges?.map(allowedIpRange =>\n assoc(\n \"addressType\",\n toLabelAndValue(allowedIpRange.addressType),\n allowedIpRange\n )\n );\n\nexport const buildIpRestrictionPayload = values => {\n const allowedIpRangesWithTransformedAddressType = values.allowedIpRanges.map(\n allowedIpRange =>\n assoc(\"addressType\", allowedIpRange.addressType.value, allowedIpRange)\n );\n\n return {\n isIpRestrictionEnabled: values.ipRestriction,\n allowedIpRanges: allowedIpRangesWithTransformedAddressType,\n };\n};\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nimport { getIpRestrictionValidationSchema } from \"./utils\";\n\nexport const IP_RESTRICTIONS_ENGINE_BASE_URL = \"/ip_restrictions/api/v1\";\n\nexport const QUERY_KEYS = {\n IP_RESTRICTION: \"IP_RESTRICTION\",\n ALLOWED_IP_RANGES: \"ALLOWED_IP_RANGES\",\n CURRENT_IP: \"CURRENT_IP\",\n};\n\nexport const TRUNCATE_LENGTH = 18;\n\nexport const ADDRESS_TYPE_SELECT_OPTIONS = [\n { label: t(\"neetoMolecules.ipRestriction.ipv4\"), value: \"ipv4\" },\n { label: t(\"neetoMolecules.ipRestriction.ipv6\"), value: \"ipv6\" },\n];\n\nexport const INITIAL_VALUES = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: ADDRESS_TYPE_SELECT_OPTIONS[0].value,\n};\n\nexport const VALIDATION_SCHEMA = yup.object().shape({\n ipRestriction: yup.boolean(),\n allowedIpRanges: yup.array().of(getIpRestrictionValidationSchema()),\n});\n\nexport const NEW_ALLOWED_IP_RANGE = {\n ipStart: \"\",\n ipEnd: \"\",\n addressType: null,\n createdAt: new Date().toISOString(),\n};\n","import React from \"react\";\n\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input, Select } from \"neetoui/formik\";\n\nimport { ADDRESS_TYPE_SELECT_OPTIONS } from \"../constants\";\n\nconst AllowedIpRange = withT(({ t, index, arrayHelpers }) => (\n <div className=\"neeto-ui-bg-white neeto-ui-rounded-lg grid grid-cols-2 gap-2 py-2 sm:grid-cols-12 sm:gap-4 sm:py-3\">\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-start-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipStart\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipStart`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipStart\")}\n />\n <Input\n className=\"col-span-1 text-left sm:col-span-4\"\n data-cy=\"ip-end-text-field\"\n label={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.ipEnd`}\n placeholder={t(\"neetoMolecules.ipRestriction.ipEnd\")}\n />\n <Select\n className=\"col-span-1 text-left sm:col-span-2\"\n data-testid=\"address-type-select-field\"\n label={t(\"neetoMolecules.ipRestriction.type\")}\n labelProps={{ className: \"sm:hidden\" }}\n name={`allowedIpRanges.${index}.addressType`}\n options={ADDRESS_TYPE_SELECT_OPTIONS}\n />\n <div className=\"col-span-1 flex items-start sm:col-span-2 sm:justify-center\">\n <Button\n className=\"mt-auto sm:mt-0\"\n data-testid=\"allowed-ip-range-delete-btn\"\n icon={Delete}\n style=\"text\"\n tooltipProps={{\n content: t(\"neetoMolecules.common.actions.discard\"),\n position: \"top\",\n }}\n onClick={() => arrayHelpers.remove(index)}\n />\n </div>\n </div>\n));\n\nexport default AllowedIpRange;\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport withT from \"neetocommons/react-utils/withT\";\nimport { Plus } from \"neetoicons\";\nimport { Button, Typography } from \"neetoui\";\n\nimport AllowedIpRange from \"./AllowedIpRange\";\n\nimport { NEW_ALLOWED_IP_RANGE } from \"../constants\";\n\nconst AllowedIpRanges = withT(({ t }) => (\n <div className=\"space-y-6\" data-cy=\"allowed-ip-range-container\">\n <Typography data-cy=\"allowed-ip-range-heading\" style=\"h4\">\n {t(\"neetoMolecules.ipRestriction.allowedIpRangeTitle\")}\n </Typography>\n <div className=\"space-y-2\">\n <div className=\"hidden grid-cols-12 gap-4 sm:grid\">\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipStart\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-4 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.ipEnd\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.type\")}*\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 col-span-2 text-center uppercase\"\n style=\"h6\"\n >\n {t(\"neetoMolecules.ipRestriction.actions\")}\n </Typography>\n </div>\n <div className=\"w-full space-y-2\">\n <FieldArray name=\"allowedIpRanges\">\n {arrayHelpers => (\n <>\n {arrayHelpers.form.values.allowedIpRanges.map(\n (allowedIpRange, index) => (\n <AllowedIpRange\n {...{ allowedIpRange, arrayHelpers, index }}\n key={allowedIpRange.createdAt}\n />\n )\n )}\n <Button\n className=\"mt-2\"\n data-cy=\"add-allowed-ip-range-button\"\n icon={Plus}\n iconPosition=\"left\"\n label={t(\"neetoMolecules.ipRestriction.addNew\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(NEW_ALLOWED_IP_RANGE)}\n />\n </>\n )}\n </FieldArray>\n </div>\n </div>\n </div>\n));\n\nexport default React.memo(AllowedIpRanges);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst show = params =>\n axios.get(`${IP_RESTRICTIONS_ENGINE_BASE_URL}/current_ip`, { params });\n\nconst currentIpApi = { show };\n\nexport default currentIpApi;\n","import { useQuery } from \"@tanstack/react-query\";\n\nimport currentIpApi from \"../../apis/current_ip\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { CURRENT_IP } = QUERY_KEYS;\n\nconst useShowCurrentIp = () =>\n useQuery({\n queryKey: [CURRENT_IP],\n queryFn: () => currentIpApi.show(),\n });\n\nexport { useShowCurrentIp };\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\nimport { Trans } from \"react-i18next\";\n\nimport { useShowCurrentIp } from \"./hooks/reactQuery/useCurrentIp\";\n\nconst CurrentIp = () => {\n const { data, isLoading } = useShowCurrentIp();\n\n return (\n <div\n className=\"flex flex-wrap items-baseline gap-1\"\n data-cy=\"current-ip-container\"\n >\n <Typography>\n <Trans\n i18nKey=\"neetoMolecules.ipRestriction.currentIpMessage\"\n values={{ ip: isLoading ? \"...\" : data.ip }}\n />\n </Typography>\n </div>\n );\n};\n\nexport default React.memo(CurrentIp);\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst allowedIpRangesUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/allowed_ips`;\n\nconst fetch = () => axios.get(allowedIpRangesUrl);\n\nconst create = payload =>\n axios.post(allowedIpRangesUrl, { allowedIpRange: payload });\n\nconst destroy = id => axios.delete(`${allowedIpRangesUrl}/${id}`);\n\nconst update = ({ id, payload }) =>\n axios.patch(`${allowedIpRangesUrl}/${id}`, {\n allowedIpRange: payload,\n });\n\nconst allowedIpRangesApi = { fetch, create, destroy, update };\n\nexport default allowedIpRangesApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport allowedIpRangesApi from \"../../apis/allowed_ip_ranges\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useFetchAllowedIpRanges = options =>\n useQuery({\n queryKey: [ALLOWED_IP_RANGES],\n queryFn: () => allowedIpRangesApi.fetch(),\n ...options,\n });\n\nconst useCreateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.create, {\n keysToInvalidate: [[ALLOWED_IP_RANGES]],\n });\n\nconst useDestroyAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.destroy, {\n keysToInvalidate: [[ALLOWED_IP_RANGES]],\n });\n\nconst useUpdateAllowedIpRanges = () =>\n useMutationWithInvalidation(allowedIpRangesApi.update, {\n keysToInvalidate: [[ALLOWED_IP_RANGES]],\n });\n\nexport {\n useFetchAllowedIpRanges,\n useCreateAllowedIpRanges,\n useDestroyAllowedIpRanges,\n useUpdateAllowedIpRanges,\n};\n","import axios from \"axios\";\n\nimport { IP_RESTRICTIONS_ENGINE_BASE_URL } from \"../constants\";\n\nconst ipRestrictionUrl = `${IP_RESTRICTIONS_ENGINE_BASE_URL}/ip_restriction`;\n\nconst update = params =>\n axios.patch(ipRestrictionUrl, { ipRestriction: params });\n\nconst show = () => axios.get(ipRestrictionUrl);\n\nconst ipRestrictionApi = { update, show };\n\nexport default ipRestrictionApi;\n","import { useQuery } from \"@tanstack/react-query\";\nimport useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\n\nimport ipRestrictionApi from \"../../apis/ip_restriction\";\nimport { QUERY_KEYS } from \"../../constants\";\n\nconst { IP_RESTRICTION, ALLOWED_IP_RANGES } = QUERY_KEYS;\n\nconst useShowIpRestriction = () =>\n useQuery({\n queryKey: [IP_RESTRICTION],\n queryFn: () => ipRestrictionApi.show(),\n });\n\nconst useUpdateIpRestriction = () =>\n useMutationWithInvalidation(ipRestrictionApi.update, {\n keysToInvalidate: [[IP_RESTRICTION], [ALLOWED_IP_RANGES]],\n });\n\nexport { useShowIpRestriction, useUpdateIpRestriction };\n","import React, { useState } from \"react\";\n\nimport { Typography, Alert, Callout, Button } from \"neetoui\";\nimport {\n Form as NeetoUIForm,\n Checkbox,\n Button as FormikButton,\n BlockNavigation,\n} from \"neetoui/formik\";\nimport { Trans, useTranslation } from \"react-i18next\";\n\nimport PageLoader from \"components/PageLoader\";\n\nimport AllowedIpRanges from \"./AllowedIpRanges\";\nimport { VALIDATION_SCHEMA } from \"./constants\";\nimport CurrentIp from \"./CurrentIp\";\nimport { useFetchAllowedIpRanges } from \"./hooks/reactQuery/useAllowedIpRanges\";\nimport {\n useShowIpRestriction,\n useUpdateIpRestriction,\n} from \"./hooks/reactQuery/useIpRestrictions\";\nimport { buildInitialValue, buildIpRestrictionPayload } from \"./utils\";\n\nconst IpRestriction = () => {\n const { t } = useTranslation();\n const [isAlertOpen, setIsAlertOpen] = useState(false);\n\n const {\n data: { isIpRestrictionEnabled } = {},\n isLoading: isFetchingIpRestriction,\n } = useShowIpRestriction();\n\n const {\n data: allowedIpRanges,\n isLoading: isFetchingAllowedIpRanges,\n isRefetching,\n } = useFetchAllowedIpRanges({ enabled: isIpRestrictionEnabled });\n\n const { mutate: updateIpRestriction, isPending: isUpdating } =\n useUpdateIpRestriction();\n\n if (isFetchingIpRestriction || isFetchingAllowedIpRanges || isRefetching) {\n return (\n <div className=\"h-screen\">\n <PageLoader />\n </div>\n );\n }\n\n const handleSubmit = (values, formikBag) => {\n if (values.ipRestriction) setIsAlertOpen(true);\n else handleUpdateIpRestriction(values, formikBag);\n };\n\n const handleCloseAlert = setSubmitting => {\n setIsAlertOpen(false);\n setSubmitting(false);\n };\n\n const handleUpdateIpRestriction = (values, { setSubmitting, resetForm }) => {\n updateIpRestriction(buildIpRestrictionPayload(values), {\n onSuccess: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n resetForm({ values });\n },\n onError: () => {\n setIsAlertOpen(false);\n setSubmitting(false);\n },\n });\n };\n\n return (\n <NeetoUIForm\n className=\"mx-auto mb-4 w-full sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n formikProps={{\n initialValues: buildInitialValue(\n isIpRestrictionEnabled,\n allowedIpRanges\n ),\n validationSchema: VALIDATION_SCHEMA,\n validateOnBlur: true,\n enableReinitialize: true,\n onSubmit: handleSubmit,\n }}\n >\n {({ values, dirty, setFieldValue, resetForm, setSubmitting }) => (\n <>\n <BlockNavigation />\n <div\n className=\"neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg mx-auto mb-4 w-full overflow-hidden border sm:max-w-screen-sm md:max-w-screen-md lg:max-w-3xl\"\n data-cy=\"ip-restrictions-card\"\n >\n <div className=\"space-y-2 p-6\">\n <Checkbox\n checked={values.ipRestriction}\n className=\"flex-grow-0\"\n data-cy=\"enable-ip-restriction-checkbox\"\n disabled={isFetchingIpRestriction || isUpdating}\n name=\"ipRestriction\"\n label={\n <Typography style=\"h3\">\n {t(\"neetoMolecules.ipRestriction.switchLabel\")}\n </Typography>\n }\n onChange={() =>\n setFieldValue(\"ipRestriction\", !values.ipRestriction)\n }\n />\n <Typography data-cy=\"ip-restriction-description\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.description\")}\n </Typography>\n </div>\n {values.ipRestriction && (\n <div className=\"neeto-ui-border-gray-300 w-full space-y-6 border-t p-6\">\n <CurrentIp />\n <AllowedIpRanges />\n <Callout style=\"warning\">\n <div className=\"leading-2 block whitespace-pre-wrap py-1\">\n <Trans i18nKey=\"neetoMolecules.ipRestriction.warningMessage\" />\n </div>\n </Callout>\n </div>\n )}\n </div>\n <div className=\"flex flex-wrap items-center justify-between gap-4\">\n {dirty && (\n <Typography className=\"neeto-ui-text-error-500\" style=\"body2\">\n {t(\"neetoMolecules.ipRestriction.validations.unsavedChanges\")}\n </Typography>\n )}\n <div className=\"ml-auto flex justify-between\">\n <Button\n className=\"mr-2\"\n disabled={!dirty}\n label={t(\"neetoMolecules.common.actions.reset\")}\n style=\"secondary\"\n type=\"reset\"\n onClick={resetForm}\n />\n <FormikButton\n data-cy=\"ip-restriction-save-changes\"\n data-testid=\"save-changes-button\"\n isLoading={isUpdating}\n type=\"submit\"\n >\n {t(\"neetoMolecules.common.actions.saveChanges\")}\n </FormikButton>\n </div>\n </div>\n <Alert\n isOpen={isAlertOpen}\n isSubmitting={isUpdating}\n title={t(\"neetoMolecules.ipRestriction.enableAlert.title\")}\n message={\n <Trans i18nKey=\"neetoMolecules.ipRestriction.enableAlert.message\" />\n }\n submitButtonLabel={t(\n \"neetoMolecules.ipRestriction.enableAlert.submitButtonLabel\"\n )}\n onClose={() => handleCloseAlert(setSubmitting)}\n onSubmit={() =>\n handleUpdateIpRestriction(values, { setSubmitting, resetForm })\n }\n />\n </>\n )}\n </NeetoUIForm>\n );\n};\n\nexport default React.memo(IpRestriction);\n"],"names":["toLabelAndValue","value","label","humanizeIpAddressFormat","isValidIPv4String","ip","isNotNil","Validator","isValidIPv6String","isValidIpString","areIpAddressesInSameFormat","ipStart","ipEnd","isValidIPv4Range","ipStartAddr","IPv4","fromDecimalDottedString","ipEndAddr","isLessThanOrEquals","isValidIPv6Range","IPv6","fromString","isValidIPRange","yup","addMethod","string","errorMessage","test","isNil","isValidIp","createError","path","message","getIpRestrictionValidationSchema","object","shape","validIp","t","required","when","schema","addressType","nullable","addressFormat","addressFormats","ipv4","ipv6","buildInitialValue","isIpRestrictionEnabled","allowedIpRanges","ipRestriction","buildAllowedIpRangesFormData","map","allowedIpRange","assoc","buildIpRestrictionPayload","values","allowedIpRangesWithTransformedAddressType","IP_RESTRICTIONS_ENGINE_BASE_URL","QUERY_KEYS","IP_RESTRICTION","ALLOWED_IP_RANGES","CURRENT_IP","ADDRESS_TYPE_SELECT_OPTIONS","VALIDATION_SCHEMA","array","of","NEW_ALLOWED_IP_RANGE","createdAt","Date","toISOString","AllowedIpRange","withT","_ref","index","arrayHelpers","React","createElement","className","Input","labelProps","name","concat","placeholder","Select","options","Button","icon","Delete","style","tooltipProps","content","position","onClick","remove","AllowedIpRanges","Typography","FieldArray","Fragment","form","key","Plus","iconPosition","push","memo","show","params","axios","get","currentIpApi","useShowCurrentIp","useQuery","queryKey","queryFn","CurrentIp","_useShowCurrentIp","data","isLoading","Trans","i18nKey","allowedIpRangesUrl","fetch","create","payload","post","destroy","id","update","patch","allowedIpRangesApi","useFetchAllowedIpRanges","_objectSpread","ipRestrictionUrl","ipRestrictionApi","useShowIpRestriction","useUpdateIpRestriction","useMutationWithInvalidation","keysToInvalidate","IpRestriction","_useTranslation","useTranslation","_useState","useState","_useState2","_slicedToArray","isAlertOpen","setIsAlertOpen","_useShowIpRestriction","_useShowIpRestriction2","_useShowIpRestriction3","isFetchingIpRestriction","_useFetchAllowedIpRan","enabled","isFetchingAllowedIpRanges","isRefetching","_useUpdateIpRestricti","updateIpRestriction","mutate","isUpdating","isPending","PageLoader","handleSubmit","formikBag","handleUpdateIpRestriction","handleCloseAlert","setSubmitting","resetForm","onSuccess","onError","NeetoUIForm","formikProps","initialValues","validationSchema","validateOnBlur","enableReinitialize","onSubmit","_ref2","dirty","setFieldValue","BlockNavigation","Checkbox","checked","disabled","onChange","Callout","type","FormikButton","Alert","isOpen","isSubmitting","title","submitButtonLabel","onClose"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import withImmutableActions from '@bigbinary/neeto-commons-frontend/react-utils/
|
|
|
3
3
|
import { create } from 'zustand';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import React__default from 'react';
|
|
6
|
-
import
|
|
6
|
+
import Close from '@bigbinary/neeto-icons/Close';
|
|
7
7
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
8
8
|
import Button from '@bigbinary/neetoui/Button';
|
|
9
9
|
import { manager } from '@bigbinary/neetoui/managers';
|
package/dist/MenuBar.js
CHANGED
|
@@ -5,13 +5,15 @@ import classnames from 'classnames';
|
|
|
5
5
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
6
6
|
import { CSSTransition } from 'react-transition-group';
|
|
7
7
|
import _extends from '@babel/runtime/helpers/extends';
|
|
8
|
-
import
|
|
8
|
+
import Plus from '@bigbinary/neeto-icons/Plus';
|
|
9
9
|
import Button from '@bigbinary/neetoui/Button';
|
|
10
10
|
import { n } from './inject-css-c86de496.js';
|
|
11
11
|
import { noop } from '@bigbinary/neeto-cist';
|
|
12
12
|
import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/utils/general';
|
|
13
13
|
import { Link } from 'react-router-dom';
|
|
14
14
|
import withT from '@bigbinary/neeto-commons-frontend/react-utils/withT';
|
|
15
|
+
import Search$1 from '@bigbinary/neeto-icons/Search';
|
|
16
|
+
import Close from '@bigbinary/neeto-icons/Close';
|
|
15
17
|
import Input from '@bigbinary/neetoui/Input';
|
|
16
18
|
import { p as propTypes } from './index-e5588516.js';
|
|
17
19
|
import { omit } from 'ramda';
|