@bigbinary/neeto-molecules 4.1.18 → 4.1.20
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 +1 -1
- package/dist/CalendarView.js +1 -1
- package/dist/{Columns-D51hN86M.js → Columns-6JwGF3TU.js} +2 -2
- package/dist/{Columns-D51hN86M.js.map → Columns-6JwGF3TU.js.map} +1 -1
- package/dist/Columns.js +1 -1
- package/dist/FloatingActionMenu.js +1 -1
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/IpRestriction.js +47 -47
- package/dist/IpRestriction.js.map +1 -1
- package/dist/KeyboardShortcuts.js +1 -1
- package/dist/KeyboardShortcuts.js.map +1 -1
- package/dist/Onboarding.js +1 -236
- package/dist/Onboarding.js.map +1 -1
- package/dist/OptionFields.js +10 -5
- package/dist/OptionFields.js.map +1 -1
- package/dist/PhoneNumber.js +4 -4
- package/dist/PhoneNumber.js.map +1 -1
- package/dist/SendToFields.js +1 -1
- package/dist/SessionEnvironment.js +1 -1
- package/dist/Sidebar.js +1 -1
- package/dist/SubHeader.js +1 -1
- package/dist/Taxonomy.js +1 -1
- package/dist/cjs/BrowserSupport.js +14 -14
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/Builder.js +8 -8
- package/dist/cjs/Builder.js.map +1 -1
- package/dist/cjs/Engagements.js +3 -3
- package/dist/cjs/Engagements.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +4 -4
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/IconPicker.js +3 -3
- package/dist/cjs/IconPicker.js.map +1 -1
- package/dist/cjs/Insights.js +24 -24
- package/dist/cjs/Insights.js.map +1 -1
- package/dist/cjs/IpRestriction.js +52 -52
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/KeyboardShortcuts.js +8 -8
- package/dist/cjs/KeyboardShortcuts.js.map +1 -1
- package/dist/cjs/MadeWith.js +3 -3
- package/dist/cjs/MadeWith.js.map +1 -1
- package/dist/cjs/NeetoWidget.js +6 -6
- package/dist/cjs/NeetoWidget.js.map +1 -1
- package/dist/cjs/Onboarding.js +1 -236
- package/dist/cjs/Onboarding.js.map +1 -1
- package/dist/cjs/OptionFields.js +10 -5
- package/dist/cjs/OptionFields.js.map +1 -1
- package/dist/cjs/PhoneNumber.js +3 -3
- package/dist/cjs/PhoneNumber.js.map +1 -1
- package/dist/cjs/Schedule.js +6 -6
- package/dist/cjs/Schedule.js.map +1 -1
- package/dist/cjs/SendToFields.js +4 -4
- package/dist/cjs/SendToFields.js.map +1 -1
- package/dist/cjs/SessionEnvironment.js +8 -8
- package/dist/cjs/SessionEnvironment.js.map +1 -1
- package/dist/cjs/Settings.js +6 -6
- package/dist/cjs/Settings.js.map +1 -1
- package/dist/cjs/Sidebar.js +3 -3
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StatusDropdown.js +7 -7
- package/dist/cjs/StatusDropdown.js.map +1 -1
- package/dist/cjs/{phone-number-CKeWRcTL.js → phone-number-ycxkC0mm.js} +10 -10
- package/dist/cjs/{phone-number-CKeWRcTL.js.map → phone-number-ycxkC0mm.js.map} +1 -1
- package/dist/{phone-number-HpVGHffA.js → phone-number--BBsxLSh.js} +2 -2
- package/dist/{phone-number-HpVGHffA.js.map → phone-number--BBsxLSh.js.map} +1 -1
- package/package.json +3 -3
package/dist/cjs/Insights.js
CHANGED
|
@@ -48,7 +48,7 @@ var DEFAULT_BROWSERS = [{
|
|
|
48
48
|
({
|
|
49
49
|
label: i18next.t("neetoMolecules.insights.labels.allTime")});
|
|
50
50
|
|
|
51
|
-
var PercentageBar = function PercentageBar(_ref) {
|
|
51
|
+
var PercentageBar$1 = function PercentageBar(_ref) {
|
|
52
52
|
var value = _ref.value;
|
|
53
53
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
54
54
|
children: [value !== 0 && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
@@ -62,9 +62,9 @@ var PercentageBar = function PercentageBar(_ref) {
|
|
|
62
62
|
})]
|
|
63
63
|
});
|
|
64
64
|
};
|
|
65
|
-
var PercentageBar
|
|
65
|
+
var PercentageBar = /*#__PURE__*/React.memo(PercentageBar$1);
|
|
66
66
|
|
|
67
|
-
var MetaInfoItem = function MetaInfoItem(_ref) {
|
|
67
|
+
var MetaInfoItem$1 = function MetaInfoItem(_ref) {
|
|
68
68
|
var name = _ref.name,
|
|
69
69
|
value = _ref.value;
|
|
70
70
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
@@ -74,13 +74,13 @@ var MetaInfoItem = function MetaInfoItem(_ref) {
|
|
|
74
74
|
children: name
|
|
75
75
|
}), /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
76
76
|
className: "col-span-3 flex items-center gap-2",
|
|
77
|
-
children: /*#__PURE__*/jsxRuntime.jsx(PercentageBar
|
|
77
|
+
children: /*#__PURE__*/jsxRuntime.jsx(PercentageBar, {
|
|
78
78
|
value: value
|
|
79
79
|
})
|
|
80
80
|
})]
|
|
81
81
|
});
|
|
82
82
|
};
|
|
83
|
-
var MetaInfoItem
|
|
83
|
+
var MetaInfoItem = /*#__PURE__*/React.memo(MetaInfoItem$1);
|
|
84
84
|
|
|
85
85
|
var DataDistribution = function DataDistribution(_ref) {
|
|
86
86
|
var data = _ref.data;
|
|
@@ -89,7 +89,7 @@ var DataDistribution = function DataDistribution(_ref) {
|
|
|
89
89
|
children: data.map(function (_ref2) {
|
|
90
90
|
var name = _ref2.name,
|
|
91
91
|
value = _ref2.value;
|
|
92
|
-
return /*#__PURE__*/React.createElement(MetaInfoItem
|
|
92
|
+
return /*#__PURE__*/React.createElement(MetaInfoItem, {
|
|
93
93
|
name: name,
|
|
94
94
|
value: value,
|
|
95
95
|
key: name
|
|
@@ -130,7 +130,7 @@ var transformInsights = function transformInsights(data, defaultItems) {
|
|
|
130
130
|
};
|
|
131
131
|
};
|
|
132
132
|
|
|
133
|
-
var MetaInfo = function MetaInfo(_ref) {
|
|
133
|
+
var MetaInfo$1 = function MetaInfo(_ref) {
|
|
134
134
|
var type = _ref.type,
|
|
135
135
|
data = _ref.data,
|
|
136
136
|
defaultItems = _ref.defaultItems;
|
|
@@ -158,7 +158,7 @@ var MetaInfo = function MetaInfo(_ref) {
|
|
|
158
158
|
position: "bottom",
|
|
159
159
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
160
160
|
className: "mt-2 grid grid-cols-4 gap-2",
|
|
161
|
-
children: /*#__PURE__*/jsxRuntime.jsx(MetaInfoItem
|
|
161
|
+
children: /*#__PURE__*/jsxRuntime.jsx(MetaInfoItem, {
|
|
162
162
|
name: t("neetoMolecules.insights.others"),
|
|
163
163
|
value: othersSum
|
|
164
164
|
})
|
|
@@ -166,9 +166,9 @@ var MetaInfo = function MetaInfo(_ref) {
|
|
|
166
166
|
})]
|
|
167
167
|
});
|
|
168
168
|
};
|
|
169
|
-
var MetaInfo
|
|
169
|
+
var MetaInfo = /*#__PURE__*/React.memo(MetaInfo$1);
|
|
170
170
|
|
|
171
|
-
var TimeItem = function TimeItem(_ref) {
|
|
171
|
+
var TimeItem$1 = function TimeItem(_ref) {
|
|
172
172
|
var value = _ref.value,
|
|
173
173
|
suffix = _ref.suffix;
|
|
174
174
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -186,9 +186,9 @@ var TimeItem = function TimeItem(_ref) {
|
|
|
186
186
|
})]
|
|
187
187
|
});
|
|
188
188
|
};
|
|
189
|
-
var TimeItem
|
|
189
|
+
var TimeItem = /*#__PURE__*/React.memo(TimeItem$1);
|
|
190
190
|
|
|
191
|
-
var MetricItem = function MetricItem(_ref) {
|
|
191
|
+
var MetricItem$1 = function MetricItem(_ref) {
|
|
192
192
|
var metric = _ref.metric,
|
|
193
193
|
value = _ref.value,
|
|
194
194
|
helpText = _ref.helpText,
|
|
@@ -201,13 +201,13 @@ var MetricItem = function MetricItem(_ref) {
|
|
|
201
201
|
var showSeconds = !hours && !minutes;
|
|
202
202
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
203
203
|
className: "flex gap-2",
|
|
204
|
-
children: [!!hours && /*#__PURE__*/jsxRuntime.jsx(TimeItem
|
|
204
|
+
children: [!!hours && /*#__PURE__*/jsxRuntime.jsx(TimeItem, {
|
|
205
205
|
suffix: "H",
|
|
206
206
|
value: hours
|
|
207
|
-
}), !!minutes && /*#__PURE__*/jsxRuntime.jsx(TimeItem
|
|
207
|
+
}), !!minutes && /*#__PURE__*/jsxRuntime.jsx(TimeItem, {
|
|
208
208
|
suffix: "M",
|
|
209
209
|
value: minutes
|
|
210
|
-
}), (!!seconds || showSeconds) && /*#__PURE__*/jsxRuntime.jsx(TimeItem
|
|
210
|
+
}), (!!seconds || showSeconds) && /*#__PURE__*/jsxRuntime.jsx(TimeItem, {
|
|
211
211
|
suffix: "S",
|
|
212
212
|
value: seconds
|
|
213
213
|
})]
|
|
@@ -240,7 +240,7 @@ var MetricItem = function MetricItem(_ref) {
|
|
|
240
240
|
})]
|
|
241
241
|
});
|
|
242
242
|
};
|
|
243
|
-
var MetricItem
|
|
243
|
+
var MetricItem = /*#__PURE__*/React.memo(MetricItem$1);
|
|
244
244
|
|
|
245
245
|
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; }
|
|
246
246
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).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; }
|
|
@@ -304,24 +304,24 @@ var Insights = function Insights(_ref) {
|
|
|
304
304
|
})]
|
|
305
305
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
306
306
|
className: "mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0",
|
|
307
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(MetricItem
|
|
307
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(MetricItem, {
|
|
308
308
|
helpText: helpTexts["visitCount"],
|
|
309
309
|
metric: t("neetoMolecules.insights.metrics.visits"),
|
|
310
310
|
value: visitCount
|
|
311
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem
|
|
311
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem, {
|
|
312
312
|
helpText: helpTexts["startCount"],
|
|
313
313
|
metric: t("neetoMolecules.insights.metrics.starts"),
|
|
314
314
|
value: startCount
|
|
315
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem
|
|
315
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem, {
|
|
316
316
|
helpText: helpTexts["submissions"],
|
|
317
317
|
metric: t("neetoMolecules.insights.metrics.submissions"),
|
|
318
318
|
value: submissionCount
|
|
319
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem
|
|
319
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem, {
|
|
320
320
|
isPercentage: true,
|
|
321
321
|
helpText: helpTexts["completionRate"],
|
|
322
322
|
metric: t("neetoMolecules.insights.metrics.completionRate"),
|
|
323
323
|
value: completionRate
|
|
324
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem
|
|
324
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MetricItem, {
|
|
325
325
|
isTime: true,
|
|
326
326
|
helpText: helpTexts["averageSubmissionTime"],
|
|
327
327
|
metric: t("neetoMolecules.insights.metrics.avgTimeToComplete"),
|
|
@@ -330,15 +330,15 @@ var Insights = function Insights(_ref) {
|
|
|
330
330
|
})]
|
|
331
331
|
}), /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
332
332
|
className: "grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3",
|
|
333
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(MetaInfo
|
|
333
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(MetaInfo, {
|
|
334
334
|
data: devices,
|
|
335
335
|
defaultItems: DEFAULT_DEVICES,
|
|
336
336
|
type: t("neetoMolecules.insights.devices")
|
|
337
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MetaInfo
|
|
337
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MetaInfo, {
|
|
338
338
|
data: operatingSystems,
|
|
339
339
|
defaultItems: DEFAULT_OS,
|
|
340
340
|
type: t("neetoMolecules.insights.os")
|
|
341
|
-
}), /*#__PURE__*/jsxRuntime.jsx(MetaInfo
|
|
341
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MetaInfo, {
|
|
342
342
|
data: browsers,
|
|
343
343
|
defaultItems: DEFAULT_BROWSERS,
|
|
344
344
|
type: t("neetoMolecules.insights.browsers")
|
package/dist/cjs/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 { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\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 ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { 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 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 { 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-2\"\n style=\"body2\"\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 { 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=\"me-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 { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\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\n className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\"\n data-testid={`${hyphenate(metric)}-metric`}\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-end gap-x-1\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"neeto-ui-text-gray-800\"\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-testid=\"insights-type\"\n style=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import classNames from \"classnames\";\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\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 className,\n title,\n tooltipProps = {},\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) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"mx-auto pt-10\", className)}\n data-testid=\"insights\"\n >\n <div className=\"mb-10 flex w-full items-center\">\n <Typography data-testid=\"submissions-insights-title\" style=\"h2\">\n {title || t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n {...tooltipProps}\n >\n <span className=\"ms-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=\"ms-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0\">\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 lg: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 * Title displayed for the Insights component.\n */\n title: PropTypes.string,\n /**\n * Props for the tooltip displayed on the warning icon.\n */\n tooltipProps: PropTypes.object,\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 * To provide additional classes.\n */\n className: PropTypes.string,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","PercentageBar","_ref","_jsxs","_Fragment","children","_jsx","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","_createElement","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","hyphenate","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","title","_ref$tooltipProps","tooltipProps","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","Spinner","classNames","_objectSpread","touch","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 { memo } from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\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 ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { 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 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 { 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-2\"\n style=\"body2\"\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 { 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=\"me-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 { memo } from \"react\";\n\nimport { hyphenate } from \"neetocist\";\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\n className=\"nf-insights__metric-item neeto-ui-border-gray-200 border-b pb-4\"\n data-testid={`${hyphenate(metric)}-metric`}\n >\n <div className=\"flex items-center gap-2\">\n <div className=\"flex items-end gap-x-1\">\n {isTime ? (\n renderTime(value)\n ) : (\n <Typography\n className=\"neeto-ui-text-gray-800\"\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-testid=\"insights-type\"\n style=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import classNames from \"classnames\";\nimport { Warning } from \"neetoicons\";\nimport { Tooltip, Typography, Spinner } from \"neetoui\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport DateRangeFilter from \"components/DateRangeFilter\";\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 className,\n title,\n tooltipProps = {},\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) {\n return (\n <div className=\"flex h-full w-full items-center justify-center\">\n <Spinner />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\"mx-auto pt-10\", className)}\n data-testid=\"insights\"\n >\n <div className=\"mb-10 flex w-full items-center\">\n <Typography data-testid=\"submissions-insights-title\" style=\"h2\">\n {title || t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n touch={[\"hold\", 500]}\n {...tooltipProps}\n >\n <span className=\"ms-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=\"ms-auto\">\n <DateRangeFilter {...{ setTimePeriod, timePeriod }} />\n </span>\n </div>\n <div className=\"mb-6 grid grid-cols-1 gap-x-9 gap-y-6 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-5 lg:gap-0\">\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 lg: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 * Title displayed for the Insights component.\n */\n title: PropTypes.string,\n /**\n * Props for the tooltip displayed on the warning icon.\n */\n tooltipProps: PropTypes.object,\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 * To provide additional classes.\n */\n className: PropTypes.string,\n};\n\nexport default Insights;\n"],"names":["DEFAULT_DEVICES","label","t","value","DEFAULT_OS","DEFAULT_BROWSERS","PercentageBar","_ref","_jsxs","_Fragment","children","_jsx","className","style","width","concat","Typography","memo","MetaInfoItem","name","textTransform","DataDistribution","data","map","_ref2","_createElement","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","hyphenate","HelpPopover","description","Insights","insightsData","isLoading","timePeriod","setTimePeriod","_ref$helpTexts","helpTexts","_ref$showWarningMessa","showWarningMessage","title","_ref$tooltipProps","tooltipProps","visitCount","startCount","submissionCount","completionRate","averageSubmissionTime","devices","operatingSystems","browsers","Spinner","classNames","_objectSpread","touch","Warning","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
|
|
@@ -55,9 +55,9 @@ var src = {};
|
|
|
55
55
|
|
|
56
56
|
var BinaryUtils = {};
|
|
57
57
|
|
|
58
|
-
(function (exports) {
|
|
59
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
60
|
-
exports.matchingBitCount = exports.intLog2 = exports.cidrPrefixToMaskBinaryString = exports.leftPadWithZeroBit = exports.dottedDecimalNotationToBinaryString = exports.parseBinaryStringToBigInt = exports.decimalNumberToOctetString = exports.numberToBinaryString = void 0;
|
|
58
|
+
(function (exports$1) {
|
|
59
|
+
Object.defineProperty(exports$1, "__esModule", { value: true });
|
|
60
|
+
exports$1.matchingBitCount = exports$1.intLog2 = exports$1.cidrPrefixToMaskBinaryString = exports$1.leftPadWithZeroBit = exports$1.dottedDecimalNotationToBinaryString = exports$1.parseBinaryStringToBigInt = exports$1.decimalNumberToOctetString = exports$1.numberToBinaryString = void 0;
|
|
61
61
|
/**
|
|
62
62
|
* Converts a decimal number to binary string
|
|
63
63
|
*
|
|
@@ -67,7 +67,7 @@ var BinaryUtils = {};
|
|
|
67
67
|
let numberToBinaryString = (num) => {
|
|
68
68
|
return num.toString(2);
|
|
69
69
|
};
|
|
70
|
-
exports.numberToBinaryString = numberToBinaryString;
|
|
70
|
+
exports$1.numberToBinaryString = numberToBinaryString;
|
|
71
71
|
/**
|
|
72
72
|
* Converts a decimal number to binary octet (8 bit) string. If needed the octet will be padded with zeros
|
|
73
73
|
* to make it up to 8 bits
|
|
@@ -76,14 +76,14 @@ var BinaryUtils = {};
|
|
|
76
76
|
* @returns {string} the octet string representation of given number
|
|
77
77
|
*/
|
|
78
78
|
let decimalNumberToOctetString = (num) => {
|
|
79
|
-
let binaryString = (0, exports.numberToBinaryString)(num);
|
|
79
|
+
let binaryString = (0, exports$1.numberToBinaryString)(num);
|
|
80
80
|
let length = binaryString.length;
|
|
81
81
|
if (length > 8) {
|
|
82
82
|
throw new Error("Given decimal in binary contains digits greater than an octet");
|
|
83
83
|
}
|
|
84
|
-
return (0, exports.leftPadWithZeroBit)(binaryString, 8);
|
|
84
|
+
return (0, exports$1.leftPadWithZeroBit)(binaryString, 8);
|
|
85
85
|
};
|
|
86
|
-
exports.decimalNumberToOctetString = decimalNumberToOctetString;
|
|
86
|
+
exports$1.decimalNumberToOctetString = decimalNumberToOctetString;
|
|
87
87
|
/**
|
|
88
88
|
* Parses number in binary to number in BigInt
|
|
89
89
|
*
|
|
@@ -93,7 +93,7 @@ var BinaryUtils = {};
|
|
|
93
93
|
let parseBinaryStringToBigInt = (num) => {
|
|
94
94
|
return BigInt(`0b${num}`);
|
|
95
95
|
};
|
|
96
|
-
exports.parseBinaryStringToBigInt = parseBinaryStringToBigInt;
|
|
96
|
+
exports$1.parseBinaryStringToBigInt = parseBinaryStringToBigInt;
|
|
97
97
|
/**
|
|
98
98
|
* Given an IPv4 number in dot-decimal notated string, e.g 192.168.0.1 converts it to
|
|
99
99
|
* binary string, e.g. '11000000101010000000000000000001'
|
|
@@ -104,10 +104,10 @@ var BinaryUtils = {};
|
|
|
104
104
|
let dottedDecimalNotationToBinaryString = (dottedDecimal) => {
|
|
105
105
|
let stringOctets = dottedDecimal.split(".");
|
|
106
106
|
return stringOctets.reduce((binaryAsString, octet) => {
|
|
107
|
-
return binaryAsString.concat((0, exports.decimalNumberToOctetString)(parseInt(octet)));
|
|
107
|
+
return binaryAsString.concat((0, exports$1.decimalNumberToOctetString)(parseInt(octet)));
|
|
108
108
|
}, '');
|
|
109
109
|
};
|
|
110
|
-
exports.dottedDecimalNotationToBinaryString = dottedDecimalNotationToBinaryString;
|
|
110
|
+
exports$1.dottedDecimalNotationToBinaryString = dottedDecimalNotationToBinaryString;
|
|
111
111
|
/**
|
|
112
112
|
* Given a binary string, adds a number of zero to the left until string is as long as the given string length
|
|
113
113
|
* @param {string} binaryString the string to pad
|
|
@@ -120,7 +120,7 @@ var BinaryUtils = {};
|
|
|
120
120
|
}
|
|
121
121
|
return "0".repeat(finalStringLength - binaryString.length).concat(binaryString);
|
|
122
122
|
};
|
|
123
|
-
exports.leftPadWithZeroBit = leftPadWithZeroBit;
|
|
123
|
+
exports$1.leftPadWithZeroBit = leftPadWithZeroBit;
|
|
124
124
|
/**
|
|
125
125
|
* Given the prefix portion of a cidr notation and the type of IP number, returns the mask in binary string
|
|
126
126
|
*
|
|
@@ -141,7 +141,7 @@ var BinaryUtils = {};
|
|
|
141
141
|
let offBits = '0'.repeat(cidrUpperValue - cidrPrefix);
|
|
142
142
|
return `${onBits}${offBits}`;
|
|
143
143
|
};
|
|
144
|
-
exports.cidrPrefixToMaskBinaryString = cidrPrefixToMaskBinaryString;
|
|
144
|
+
exports$1.cidrPrefixToMaskBinaryString = cidrPrefixToMaskBinaryString;
|
|
145
145
|
/**
|
|
146
146
|
* Calculates the log, to base 2 of given number.
|
|
147
147
|
*
|
|
@@ -168,7 +168,7 @@ var BinaryUtils = {};
|
|
|
168
168
|
}
|
|
169
169
|
return result;
|
|
170
170
|
};
|
|
171
|
-
exports.intLog2 = intLog2;
|
|
171
|
+
exports$1.intLog2 = intLog2;
|
|
172
172
|
/**
|
|
173
173
|
* Starting from the most significant bit (from left) returns the number of first bits from both string that are equal
|
|
174
174
|
* @param firstBinaryString first binary string
|
|
@@ -194,7 +194,7 @@ var BinaryUtils = {};
|
|
|
194
194
|
}
|
|
195
195
|
return count;
|
|
196
196
|
};
|
|
197
|
-
exports.matchingBitCount = matchingBitCount;
|
|
197
|
+
exports$1.matchingBitCount = matchingBitCount;
|
|
198
198
|
|
|
199
199
|
} (BinaryUtils));
|
|
200
200
|
|
|
@@ -209,9 +209,9 @@ var hasRequiredIPv6Utils;
|
|
|
209
209
|
function requireIPv6Utils () {
|
|
210
210
|
if (hasRequiredIPv6Utils) return IPv6Utils;
|
|
211
211
|
hasRequiredIPv6Utils = 1;
|
|
212
|
-
(function (exports) {
|
|
213
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
214
|
-
exports.collapseIPv6Number = exports.expandIPv6Number = void 0;
|
|
212
|
+
(function (exports$1) {
|
|
213
|
+
Object.defineProperty(exports$1, "__esModule", { value: true });
|
|
214
|
+
exports$1.collapseIPv6Number = exports$1.expandIPv6Number = void 0;
|
|
215
215
|
const BinaryUtils_1 = BinaryUtils;
|
|
216
216
|
const Validator_1 = requireValidator();
|
|
217
217
|
let extractPrefix = (ipv6String) => {
|
|
@@ -262,7 +262,7 @@ function requireIPv6Utils () {
|
|
|
262
262
|
return `${expandWithZero(ipv6String.split(":"))}${prefix}`;
|
|
263
263
|
}
|
|
264
264
|
};
|
|
265
|
-
exports.expandIPv6Number = expandIPv6Number;
|
|
265
|
+
exports$1.expandIPv6Number = expandIPv6Number;
|
|
266
266
|
// Helper function to shorten hexadecatets
|
|
267
267
|
const shortenHexadecatet = (hex) => {
|
|
268
268
|
// Input hex is expected to be like "0000", "0DB8", "001A" from expanded form
|
|
@@ -277,7 +277,7 @@ function requireIPv6Utils () {
|
|
|
277
277
|
let expandedIPv6 = "";
|
|
278
278
|
try {
|
|
279
279
|
// Expand to full 8 segments, no prefix internally for processing
|
|
280
|
-
let tempExpanded = (0, exports.expandIPv6Number)(processedIPv6String);
|
|
280
|
+
let tempExpanded = (0, exports$1.expandIPv6Number)(processedIPv6String);
|
|
281
281
|
if (tempExpanded.includes("/")) {
|
|
282
282
|
expandedIPv6 = tempExpanded.split("/")[0];
|
|
283
283
|
}
|
|
@@ -358,7 +358,7 @@ function requireIPv6Utils () {
|
|
|
358
358
|
}
|
|
359
359
|
return finalStr + originalPrefix;
|
|
360
360
|
};
|
|
361
|
-
exports.collapseIPv6Number = collapseIPv6Number;
|
|
361
|
+
exports$1.collapseIPv6Number = collapseIPv6Number;
|
|
362
362
|
|
|
363
363
|
} (IPv6Utils));
|
|
364
364
|
return IPv6Utils;
|
|
@@ -371,9 +371,9 @@ var hasRequiredHexadecimalUtils;
|
|
|
371
371
|
function requireHexadecimalUtils () {
|
|
372
372
|
if (hasRequiredHexadecimalUtils) return HexadecimalUtils;
|
|
373
373
|
hasRequiredHexadecimalUtils = 1;
|
|
374
|
-
(function (exports) {
|
|
375
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
376
|
-
exports.hexadectetNotationToBinaryString = exports.binaryStringToHexadecimalString = exports.colonHexadecimalNotationToBinaryString = exports.hexadecimalStringToHexadecatetString = exports.hexadecimalStringToBinaryString = exports.bigIntToHexadecimalString = void 0;
|
|
374
|
+
(function (exports$1) {
|
|
375
|
+
Object.defineProperty(exports$1, "__esModule", { value: true });
|
|
376
|
+
exports$1.hexadectetNotationToBinaryString = exports$1.binaryStringToHexadecimalString = exports$1.colonHexadecimalNotationToBinaryString = exports$1.hexadecimalStringToHexadecatetString = exports$1.hexadecimalStringToBinaryString = exports$1.bigIntToHexadecimalString = void 0;
|
|
377
377
|
const IPv6Utils_1 = requireIPv6Utils();
|
|
378
378
|
const BinaryUtils_1 = BinaryUtils;
|
|
379
379
|
/**
|
|
@@ -384,7 +384,7 @@ function requireHexadecimalUtils () {
|
|
|
384
384
|
let bigIntToHexadecimalString = (num) => {
|
|
385
385
|
return num.toString(16);
|
|
386
386
|
};
|
|
387
|
-
exports.bigIntToHexadecimalString = bigIntToHexadecimalString;
|
|
387
|
+
exports$1.bigIntToHexadecimalString = bigIntToHexadecimalString;
|
|
388
388
|
/**
|
|
389
389
|
* Converts a number in hexadecimal (base 16) to binary string
|
|
390
390
|
* @param {string} hexadecimalString the number in base 16
|
|
@@ -394,7 +394,7 @@ function requireHexadecimalUtils () {
|
|
|
394
394
|
let inDecimal = BigInt(`0x${hexadecimalString}`);
|
|
395
395
|
return inDecimal.toString(2);
|
|
396
396
|
};
|
|
397
|
-
exports.hexadecimalStringToBinaryString = hexadecimalStringToBinaryString;
|
|
397
|
+
exports$1.hexadecimalStringToBinaryString = hexadecimalStringToBinaryString;
|
|
398
398
|
/**
|
|
399
399
|
* Converts a number in hexadecimal (base 16) to binary hexadecatet string.
|
|
400
400
|
* This means the bits in the output cannot be more than 16
|
|
@@ -402,14 +402,14 @@ function requireHexadecimalUtils () {
|
|
|
402
402
|
* @param hexadecimalString {string} the number converted to binary hexadecatet string
|
|
403
403
|
*/
|
|
404
404
|
let hexadecimalStringToHexadecatetString = (hexadecimalString) => {
|
|
405
|
-
let binaryString = (0, exports.hexadecimalStringToBinaryString)(hexadecimalString);
|
|
405
|
+
let binaryString = (0, exports$1.hexadecimalStringToBinaryString)(hexadecimalString);
|
|
406
406
|
let length = binaryString.length;
|
|
407
407
|
if (length > 16) {
|
|
408
408
|
throw new Error("Given decimal in binary contains digits greater than an Hexadecatet");
|
|
409
409
|
}
|
|
410
410
|
return (0, BinaryUtils_1.leftPadWithZeroBit)(binaryString, 16);
|
|
411
411
|
};
|
|
412
|
-
exports.hexadecimalStringToHexadecatetString = hexadecimalStringToHexadecatetString;
|
|
412
|
+
exports$1.hexadecimalStringToHexadecatetString = hexadecimalStringToHexadecatetString;
|
|
413
413
|
/**
|
|
414
414
|
* Given an IPv6 number in hexadecimal notated string, e.g 2001:0db8:0000:0000:0000:0000:0000:0000 converts it to
|
|
415
415
|
* binary string
|
|
@@ -421,10 +421,10 @@ function requireHexadecimalUtils () {
|
|
|
421
421
|
let expandedIPv6 = (0, IPv6Utils_1.expandIPv6Number)(hexadecimalString);
|
|
422
422
|
let stringHexadecimal = expandedIPv6.split(":");
|
|
423
423
|
return stringHexadecimal.reduce((binaryAsString, hexidecimal) => {
|
|
424
|
-
return binaryAsString.concat((0, exports.hexadecimalStringToHexadecatetString)(hexidecimal));
|
|
424
|
+
return binaryAsString.concat((0, exports$1.hexadecimalStringToHexadecatetString)(hexidecimal));
|
|
425
425
|
}, '');
|
|
426
426
|
};
|
|
427
|
-
exports.colonHexadecimalNotationToBinaryString = colonHexadecimalNotationToBinaryString;
|
|
427
|
+
exports$1.colonHexadecimalNotationToBinaryString = colonHexadecimalNotationToBinaryString;
|
|
428
428
|
/**
|
|
429
429
|
* Converts number in binary string to hexadecimal string
|
|
430
430
|
* @param {string} num in binary string
|
|
@@ -435,7 +435,7 @@ function requireHexadecimalUtils () {
|
|
|
435
435
|
let inDecimal = BigInt(`0b${num}`);
|
|
436
436
|
return inDecimal.toString(16);
|
|
437
437
|
};
|
|
438
|
-
exports.binaryStringToHexadecimalString = binaryStringToHexadecimalString;
|
|
438
|
+
exports$1.binaryStringToHexadecimalString = binaryStringToHexadecimalString;
|
|
439
439
|
/**
|
|
440
440
|
* Converts a given IPv6 number expressed in the hexadecimal string notation into a 16 bit binary number in string
|
|
441
441
|
* @param {string} hexadectetString the IPv6 number
|
|
@@ -445,10 +445,10 @@ function requireHexadecimalUtils () {
|
|
|
445
445
|
let expand = (0, IPv6Utils_1.expandIPv6Number)(hexadectetString);
|
|
446
446
|
let hexadecimals = expand.split(":");
|
|
447
447
|
return hexadecimals.reduce((hexadecimalAsString, hexavalue) => {
|
|
448
|
-
return hexadecimalAsString.concat((0, BinaryUtils_1.leftPadWithZeroBit)((0, exports.hexadecimalStringToBinaryString)(hexavalue), 16));
|
|
448
|
+
return hexadecimalAsString.concat((0, BinaryUtils_1.leftPadWithZeroBit)((0, exports$1.hexadecimalStringToBinaryString)(hexavalue), 16));
|
|
449
449
|
}, '');
|
|
450
450
|
};
|
|
451
|
-
exports.hexadectetNotationToBinaryString = hexadectetNotationToBinaryString;
|
|
451
|
+
exports$1.hexadectetNotationToBinaryString = hexadectetNotationToBinaryString;
|
|
452
452
|
|
|
453
453
|
} (HexadecimalUtils));
|
|
454
454
|
return HexadecimalUtils;
|
|
@@ -3186,7 +3186,7 @@ class SortedSet {
|
|
|
3186
3186
|
}
|
|
3187
3187
|
}
|
|
3188
3188
|
|
|
3189
|
-
(function (exports) {
|
|
3189
|
+
(function (exports$1) {
|
|
3190
3190
|
var __createBinding = (_commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3191
3191
|
if (k2 === undefined) k2 = k;
|
|
3192
3192
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -3198,10 +3198,10 @@ class SortedSet {
|
|
|
3198
3198
|
if (k2 === undefined) k2 = k;
|
|
3199
3199
|
o[k2] = m[k];
|
|
3200
3200
|
}));
|
|
3201
|
-
var __exportStar = (_commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__exportStar) || function(m, exports) {
|
|
3202
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
3201
|
+
var __exportStar = (_commonjsHelpers.commonjsGlobal && _commonjsHelpers.commonjsGlobal.__exportStar) || function(m, exports$1) {
|
|
3202
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports$1, p)) __createBinding(exports$1, m, p);
|
|
3203
3203
|
};
|
|
3204
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3204
|
+
Object.defineProperty(exports$1, "__esModule", { value: true });
|
|
3205
3205
|
/**
|
|
3206
3206
|
* Exposes all the library's modules making them available from the "ip-num" module.
|
|
3207
3207
|
* Making it possible to get access to all any of the modules by doing require("ip-num")
|
|
@@ -3211,17 +3211,17 @@ class SortedSet {
|
|
|
3211
3211
|
* ipNum.IPv4CidrRange // gets access to IPv4CidrRange
|
|
3212
3212
|
* ipNum.Asn // gets access to Asn
|
|
3213
3213
|
*/
|
|
3214
|
-
__exportStar(BinaryUtils, exports);
|
|
3215
|
-
__exportStar(Hexadecatet$1, exports);
|
|
3216
|
-
__exportStar(requireHexadecimalUtils(), exports);
|
|
3217
|
-
__exportStar(IPNumber, exports);
|
|
3218
|
-
__exportStar(IPNumType, exports);
|
|
3219
|
-
__exportStar(IPPool, exports);
|
|
3220
|
-
__exportStar(IPRange, exports);
|
|
3221
|
-
__exportStar(requireIPv6Utils(), exports);
|
|
3222
|
-
__exportStar(Octet$1, exports);
|
|
3223
|
-
__exportStar(Prefix, exports);
|
|
3224
|
-
__exportStar(requireValidator(), exports);
|
|
3214
|
+
__exportStar(BinaryUtils, exports$1);
|
|
3215
|
+
__exportStar(Hexadecatet$1, exports$1);
|
|
3216
|
+
__exportStar(requireHexadecimalUtils(), exports$1);
|
|
3217
|
+
__exportStar(IPNumber, exports$1);
|
|
3218
|
+
__exportStar(IPNumType, exports$1);
|
|
3219
|
+
__exportStar(IPPool, exports$1);
|
|
3220
|
+
__exportStar(IPRange, exports$1);
|
|
3221
|
+
__exportStar(requireIPv6Utils(), exports$1);
|
|
3222
|
+
__exportStar(Octet$1, exports$1);
|
|
3223
|
+
__exportStar(Prefix, exports$1);
|
|
3224
|
+
__exportStar(requireValidator(), exports$1);
|
|
3225
3225
|
|
|
3226
3226
|
} (src));
|
|
3227
3227
|
|
|
@@ -3409,7 +3409,7 @@ var AllowedIpRange = withT(function (_ref) {
|
|
|
3409
3409
|
});
|
|
3410
3410
|
});
|
|
3411
3411
|
|
|
3412
|
-
var AllowedIpRanges = withT(function (_ref) {
|
|
3412
|
+
var AllowedIpRanges$1 = withT(function (_ref) {
|
|
3413
3413
|
var t = _ref.t;
|
|
3414
3414
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
3415
3415
|
className: "flex flex-col gap-y-5",
|
|
@@ -3479,7 +3479,7 @@ var AllowedIpRanges = withT(function (_ref) {
|
|
|
3479
3479
|
})]
|
|
3480
3480
|
});
|
|
3481
3481
|
});
|
|
3482
|
-
var AllowedIpRanges
|
|
3482
|
+
var AllowedIpRanges = /*#__PURE__*/React.memo(AllowedIpRanges$1);
|
|
3483
3483
|
|
|
3484
3484
|
var show$1 = function show(params) {
|
|
3485
3485
|
return axios.get("".concat(IP_RESTRICTIONS_ENGINE_BASE_URL, "/current_ip"), {
|
|
@@ -3500,7 +3500,7 @@ var useShowCurrentIp = function useShowCurrentIp() {
|
|
|
3500
3500
|
});
|
|
3501
3501
|
};
|
|
3502
3502
|
|
|
3503
|
-
var CurrentIp = function CurrentIp() {
|
|
3503
|
+
var CurrentIp$1 = function CurrentIp() {
|
|
3504
3504
|
var _useShowCurrentIp = useShowCurrentIp(),
|
|
3505
3505
|
data = _useShowCurrentIp.data,
|
|
3506
3506
|
isLoading = _useShowCurrentIp.isLoading;
|
|
@@ -3517,7 +3517,7 @@ var CurrentIp = function CurrentIp() {
|
|
|
3517
3517
|
})
|
|
3518
3518
|
});
|
|
3519
3519
|
};
|
|
3520
|
-
var CurrentIp
|
|
3520
|
+
var CurrentIp = /*#__PURE__*/React.memo(CurrentIp$1);
|
|
3521
3521
|
|
|
3522
3522
|
var allowedIpRangesUrl = "".concat(IP_RESTRICTIONS_ENGINE_BASE_URL, "/allowed_ips");
|
|
3523
3523
|
var fetch = function fetch() {
|
|
@@ -3702,7 +3702,7 @@ var IpRestriction = function IpRestriction() {
|
|
|
3702
3702
|
})]
|
|
3703
3703
|
}), values.ipRestriction && /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
3704
3704
|
className: "neeto-ui-border-gray-300 flex w-full flex-col gap-y-6 border-t pt-6",
|
|
3705
|
-
children: [/*#__PURE__*/jsxRuntime.jsx(CurrentIp
|
|
3705
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(CurrentIp, {}), /*#__PURE__*/jsxRuntime.jsx(AllowedIpRanges, {}), /*#__PURE__*/jsxRuntime.jsx(Callout, {
|
|
3706
3706
|
style: "warning",
|
|
3707
3707
|
children: /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
3708
3708
|
className: "block whitespace-pre-wrap py-1",
|