@bigbinary/neeto-molecules 5.1.19 → 5.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/FinderModal.js +56 -9
  2. package/dist/FinderModal.js.map +1 -1
  3. package/dist/IpRestriction.js +2 -3175
  4. package/dist/IpRestriction.js.map +1 -1
  5. package/dist/MadeWith.js +3 -74
  6. package/dist/MadeWith.js.map +1 -1
  7. package/dist/NeetoWidget.js +3 -1958
  8. package/dist/NeetoWidget.js.map +1 -1
  9. package/dist/Onboarding.js +3 -400
  10. package/dist/Onboarding.js.map +1 -1
  11. package/dist/chevron-up-B2_LTx_h.js +15 -0
  12. package/dist/chevron-up-B2_LTx_h.js.map +1 -0
  13. package/dist/cjs/FinderModal.js +54 -7
  14. package/dist/cjs/FinderModal.js.map +1 -1
  15. package/dist/cjs/IpRestriction.js +21 -3194
  16. package/dist/cjs/IpRestriction.js.map +1 -1
  17. package/dist/cjs/MadeWith.js +17 -88
  18. package/dist/cjs/MadeWith.js.map +1 -1
  19. package/dist/cjs/NeetoWidget.js +4 -1959
  20. package/dist/cjs/NeetoWidget.js.map +1 -1
  21. package/dist/cjs/Onboarding.js +3 -400
  22. package/dist/cjs/Onboarding.js.map +1 -1
  23. package/dist/cjs/chevron-up-CpzhFWzM.js +17 -0
  24. package/dist/cjs/chevron-up-CpzhFWzM.js.map +1 -0
  25. package/dist/cjs/copy-CerjTcLL.js +20 -0
  26. package/dist/cjs/copy-CerjTcLL.js.map +1 -0
  27. package/dist/cjs/globe-DawgK2Dx.js +21 -0
  28. package/dist/cjs/globe-DawgK2Dx.js.map +1 -0
  29. package/dist/cjs/index-ARGXqXxG.js +78 -0
  30. package/dist/cjs/index-ARGXqXxG.js.map +1 -0
  31. package/dist/cjs/index-BeqE2JWC.js +3180 -0
  32. package/dist/cjs/index-BeqE2JWC.js.map +1 -0
  33. package/dist/cjs/panel-left-close-CLoRPBWH.js +21 -0
  34. package/dist/cjs/panel-left-close-CLoRPBWH.js.map +1 -0
  35. package/dist/cjs/phone-number-Bza7WGZm.js +315 -0
  36. package/dist/cjs/phone-number-Bza7WGZm.js.map +1 -0
  37. package/dist/cjs/prism-tomorrow-BMFuJ5o1.js +1963 -0
  38. package/dist/cjs/prism-tomorrow-BMFuJ5o1.js.map +1 -0
  39. package/dist/cjs/react-confetti-DdGoyZ0y.js +405 -0
  40. package/dist/cjs/react-confetti-DdGoyZ0y.js.map +1 -0
  41. package/dist/cjs/smartphone-ChvEvl-o.js +36 -0
  42. package/dist/cjs/smartphone-ChvEvl-o.js.map +1 -0
  43. package/dist/cjs/trash-2-CotPjU5n.js +23 -0
  44. package/dist/cjs/trash-2-CotPjU5n.js.map +1 -0
  45. package/dist/cjs/triangle-alert-De-qkUXK.js +27 -0
  46. package/dist/cjs/triangle-alert-De-qkUXK.js.map +1 -0
  47. package/dist/cjs/v2/AuditLogs.js +4 -18
  48. package/dist/cjs/v2/AuditLogs.js.map +1 -1
  49. package/dist/cjs/v2/Builder.js +4 -18
  50. package/dist/cjs/v2/Builder.js.map +1 -1
  51. package/dist/cjs/v2/Codeblock.js +1 -0
  52. package/dist/cjs/v2/Codeblock.js.map +1 -1
  53. package/dist/cjs/v2/CopyToClipboardButton.js +3 -16
  54. package/dist/cjs/v2/CopyToClipboardButton.js.map +1 -1
  55. package/dist/cjs/v2/FinderModal.js +48 -14
  56. package/dist/cjs/v2/FinderModal.js.map +1 -1
  57. package/dist/cjs/v2/FloatingActionMenu.js +1 -0
  58. package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
  59. package/dist/cjs/v2/Insights.js +344 -0
  60. package/dist/cjs/v2/Insights.js.map +1 -0
  61. package/dist/cjs/v2/IntegrationCard.js +222 -0
  62. package/dist/cjs/v2/IntegrationCard.js.map +1 -0
  63. package/dist/cjs/v2/IpRestriction.js +525 -0
  64. package/dist/cjs/v2/IpRestriction.js.map +1 -0
  65. package/dist/cjs/v2/MadeWith.js +73 -0
  66. package/dist/cjs/v2/MadeWith.js.map +1 -0
  67. package/dist/cjs/v2/Metadata.js +215 -0
  68. package/dist/cjs/v2/Metadata.js.map +1 -0
  69. package/dist/cjs/v2/NavigationHeader.js +1 -0
  70. package/dist/cjs/v2/NavigationHeader.js.map +1 -1
  71. package/dist/cjs/v2/NeetoWidget.js +855 -0
  72. package/dist/cjs/v2/NeetoWidget.js.map +1 -0
  73. package/dist/cjs/v2/Onboarding.js +323 -0
  74. package/dist/cjs/v2/Onboarding.js.map +1 -0
  75. package/dist/cjs/v2/OptionFields.js +1291 -0
  76. package/dist/cjs/v2/OptionFields.js.map +1 -0
  77. package/dist/cjs/v2/PhoneNumber.js +20 -307
  78. package/dist/cjs/v2/PhoneNumber.js.map +1 -1
  79. package/dist/cjs/v2/ProductEmbed.js +1870 -0
  80. package/dist/cjs/v2/ProductEmbed.js.map +1 -0
  81. package/dist/cjs/v2/PublishBlock.js +6 -22
  82. package/dist/cjs/v2/PublishBlock.js.map +1 -1
  83. package/dist/cjs/v2/PublishYourItem.js +60 -0
  84. package/dist/cjs/v2/PublishYourItem.js.map +1 -0
  85. package/dist/cjs/v2/ResponsiveDevicePicker.js +88 -0
  86. package/dist/cjs/v2/ResponsiveDevicePicker.js.map +1 -0
  87. package/dist/cjs/v2/SessionEnvironment.js +479 -0
  88. package/dist/cjs/v2/SessionEnvironment.js.map +1 -0
  89. package/dist/copy-DhbOoOav.js +18 -0
  90. package/dist/copy-DhbOoOav.js.map +1 -0
  91. package/dist/globe-rBiI1CjO.js +19 -0
  92. package/dist/globe-rBiI1CjO.js.map +1 -0
  93. package/dist/index-0jnA7dx6.js +3178 -0
  94. package/dist/index-0jnA7dx6.js.map +1 -0
  95. package/dist/index-DF5MKxql.js +76 -0
  96. package/dist/index-DF5MKxql.js.map +1 -0
  97. package/dist/panel-left-close-37jik3GB.js +19 -0
  98. package/dist/panel-left-close-37jik3GB.js.map +1 -0
  99. package/dist/phone-number-CGZtDB_n.js +291 -0
  100. package/dist/phone-number-CGZtDB_n.js.map +1 -0
  101. package/dist/prism-tomorrow-ZUb2Ikm9.js +1961 -0
  102. package/dist/prism-tomorrow-ZUb2Ikm9.js.map +1 -0
  103. package/dist/react-confetti-BnGq_LBE.js +403 -0
  104. package/dist/react-confetti-BnGq_LBE.js.map +1 -0
  105. package/dist/smartphone-B-jv1y8j.js +33 -0
  106. package/dist/smartphone-B-jv1y8j.js.map +1 -0
  107. package/dist/trash-2-N0F6K63L.js +21 -0
  108. package/dist/trash-2-N0F6K63L.js.map +1 -0
  109. package/dist/triangle-alert-Pkh6pc42.js +25 -0
  110. package/dist/triangle-alert-Pkh6pc42.js.map +1 -0
  111. package/dist/v2/AuditLogs.js +3 -17
  112. package/dist/v2/AuditLogs.js.map +1 -1
  113. package/dist/v2/Builder.js +3 -17
  114. package/dist/v2/Builder.js.map +1 -1
  115. package/dist/v2/Codeblock.js +1 -0
  116. package/dist/v2/Codeblock.js.map +1 -1
  117. package/dist/v2/CopyToClipboardButton.js +2 -15
  118. package/dist/v2/CopyToClipboardButton.js.map +1 -1
  119. package/dist/v2/FinderModal.js +49 -15
  120. package/dist/v2/FinderModal.js.map +1 -1
  121. package/dist/v2/FloatingActionMenu.js +1 -0
  122. package/dist/v2/FloatingActionMenu.js.map +1 -1
  123. package/dist/v2/Insights.js +342 -0
  124. package/dist/v2/Insights.js.map +1 -0
  125. package/dist/v2/IntegrationCard.js +220 -0
  126. package/dist/v2/IntegrationCard.js.map +1 -0
  127. package/dist/v2/IpRestriction.js +504 -0
  128. package/dist/v2/IpRestriction.js.map +1 -0
  129. package/dist/v2/MadeWith.js +52 -0
  130. package/dist/v2/MadeWith.js.map +1 -0
  131. package/dist/v2/Metadata.js +213 -0
  132. package/dist/v2/Metadata.js.map +1 -0
  133. package/dist/v2/NavigationHeader.js +1 -0
  134. package/dist/v2/NavigationHeader.js.map +1 -1
  135. package/dist/v2/NeetoWidget.js +834 -0
  136. package/dist/v2/NeetoWidget.js.map +1 -0
  137. package/dist/v2/Onboarding.js +321 -0
  138. package/dist/v2/Onboarding.js.map +1 -0
  139. package/dist/v2/OptionFields.js +1289 -0
  140. package/dist/v2/OptionFields.js.map +1 -0
  141. package/dist/v2/PhoneNumber.js +20 -287
  142. package/dist/v2/PhoneNumber.js.map +1 -1
  143. package/dist/v2/ProductEmbed.js +1868 -0
  144. package/dist/v2/ProductEmbed.js.map +1 -0
  145. package/dist/v2/PublishBlock.js +5 -21
  146. package/dist/v2/PublishBlock.js.map +1 -1
  147. package/dist/v2/PublishYourItem.js +58 -0
  148. package/dist/v2/PublishYourItem.js.map +1 -0
  149. package/dist/v2/ResponsiveDevicePicker.js +86 -0
  150. package/dist/v2/ResponsiveDevicePicker.js.map +1 -0
  151. package/dist/v2/SessionEnvironment.js +477 -0
  152. package/dist/v2/SessionEnvironment.js.map +1 -0
  153. package/package.json +3 -3
  154. package/types/v2/Insights.d.ts +69 -0
  155. package/types/v2/IntegrationCard.d.ts +30 -0
  156. package/types/v2/IpRestriction.d.ts +5 -0
  157. package/types/v2/MadeWith.d.ts +8 -0
  158. package/types/v2/Metadata.d.ts +26 -0
  159. package/types/v2/MobilePreviewHeader.d.ts +8 -0
  160. package/types/v2/NeetoWidget.d.ts +19 -0
  161. package/types/v2/Onboarding.d.ts +22 -0
  162. package/types/v2/OptionFields.d.ts +55 -0
  163. package/types/v2/ProductEmbed.d.ts +90 -0
  164. package/types/v2/PublishYourItem.d.ts +8 -0
  165. package/types/v2/ResponsiveDevicePicker.d.ts +11 -0
  166. package/types/v2/SessionEnvironment.d.ts +34 -0
@@ -0,0 +1,342 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import { Typography, Tooltip, Spinner } from '@bigbinary/neeto-atoms';
3
+ import classnames from 'classnames';
4
+ import { useTranslation } from 'react-i18next';
5
+ import { t } from 'i18next';
6
+ import { memo, createElement } from 'react';
7
+ import { sum, values, pluck } from 'ramda';
8
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
9
+ import { existsBy, hyphenate } from '@bigbinary/neeto-cist';
10
+ import HelpPopover from './HelpPopover.js';
11
+ import DateRangeFilter from './DateRangeFilter.js';
12
+ import { T as TriangleAlert } from '../triangle-alert-Pkh6pc42.js';
13
+ import '@babel/runtime/helpers/objectWithoutProperties';
14
+ import '../circle-question-mark-Dib48f5Z.js';
15
+ import '../createLucideIcon-mNMhCCpf.js';
16
+ import '@babel/runtime/helpers/slicedToArray';
17
+ import '@bigbinary/neeto-commons-frontend/v2/initializers';
18
+ import '@bigbinary/neeto-commons-frontend/v2/utils';
19
+
20
+ var DEFAULT_DEVICES = [{
21
+ label: t("neetoMolecules.insights.labels.devices.desktop"),
22
+ value: "desktop"
23
+ }, {
24
+ label: t("neetoMolecules.insights.labels.devices.mobile"),
25
+ value: "smartphone"
26
+ }];
27
+ var DEFAULT_OS = [{
28
+ label: t("neetoMolecules.insights.labels.os.macos"),
29
+ value: "mac"
30
+ }, {
31
+ label: t("neetoMolecules.insights.labels.os.windows"),
32
+ value: "windows"
33
+ }];
34
+ var DEFAULT_BROWSERS = [{
35
+ label: t("neetoMolecules.insights.labels.browsers.chrome"),
36
+ value: "chrome"
37
+ }, {
38
+ label: t("neetoMolecules.insights.labels.browsers.safari"),
39
+ value: "safari"
40
+ }];
41
+ ({
42
+ label: t("neetoMolecules.insights.labels.allTime")});
43
+
44
+ var PercentageBar = function PercentageBar(_ref) {
45
+ var value = _ref.value;
46
+ return /*#__PURE__*/jsxs(Fragment, {
47
+ children: [value !== 0 && /*#__PURE__*/jsx("div", {
48
+ className: "bg-muted-foreground/30 h-2 rounded-full",
49
+ style: {
50
+ width: "".concat(value, "%")
51
+ }
52
+ }), /*#__PURE__*/jsx(Typography, {
53
+ variant: "body3",
54
+ children: value ? "".concat(value, "%") : 0
55
+ })]
56
+ });
57
+ };
58
+ var PercentageBar$1 = /*#__PURE__*/memo(PercentageBar);
59
+
60
+ var MetaInfoItem = function MetaInfoItem(_ref) {
61
+ var name = _ref.name,
62
+ value = _ref.value;
63
+ return /*#__PURE__*/jsxs(Fragment, {
64
+ children: [/*#__PURE__*/jsx(Typography, {
65
+ className: "capitalize",
66
+ variant: "body2",
67
+ children: name
68
+ }), /*#__PURE__*/jsx("div", {
69
+ className: "col-span-3 flex items-center gap-2",
70
+ children: /*#__PURE__*/jsx(PercentageBar$1, {
71
+ value: value
72
+ })
73
+ })]
74
+ });
75
+ };
76
+ var MetaInfoItem$1 = /*#__PURE__*/memo(MetaInfoItem);
77
+
78
+ var DataDistribution = function DataDistribution(_ref) {
79
+ var data = _ref.data;
80
+ return /*#__PURE__*/jsx("div", {
81
+ className: "grid grid-cols-4 gap-2",
82
+ children: data.map(function (_ref2) {
83
+ var name = _ref2.name,
84
+ value = _ref2.value;
85
+ return /*#__PURE__*/createElement(MetaInfoItem$1, {
86
+ name: name,
87
+ value: value,
88
+ key: name
89
+ });
90
+ })
91
+ });
92
+ };
93
+
94
+ var getSum = function getSum(data, searchKey) {
95
+ var sum = 0;
96
+ for (var key in data) {
97
+ if (key.includes(searchKey)) sum += data[key];
98
+ }
99
+ return sum;
100
+ };
101
+ var transformInsights = function transformInsights(data, defaultItems) {
102
+ var othersData = Object.keys(data).filter(function (key) {
103
+ return !existsBy({
104
+ value: key
105
+ }, defaultItems);
106
+ }).map(function (key) {
107
+ return {
108
+ name: key,
109
+ value: data[key]
110
+ };
111
+ });
112
+ var defaultData = defaultItems.map(function (_ref) {
113
+ var label = _ref.label,
114
+ value = _ref.value;
115
+ return {
116
+ name: label,
117
+ value: getSum(data, value) || 0
118
+ };
119
+ });
120
+ return {
121
+ defaultData: defaultData,
122
+ othersData: othersData
123
+ };
124
+ };
125
+
126
+ var MetaInfo = function MetaInfo(_ref) {
127
+ var type = _ref.type,
128
+ data = _ref.data,
129
+ defaultItems = _ref.defaultItems;
130
+ var _useTranslation = useTranslation(),
131
+ t = _useTranslation.t;
132
+ var _transformInsights = transformInsights(data, defaultItems),
133
+ defaultData = _transformInsights.defaultData,
134
+ othersData = _transformInsights.othersData;
135
+ var othersSum = sum(values(pluck("value", othersData)));
136
+ return /*#__PURE__*/jsxs("div", {
137
+ className: "bg-muted rounded p-4",
138
+ children: [/*#__PURE__*/jsx(Typography, {
139
+ className: "mb-2 uppercase",
140
+ variant: "body2",
141
+ weight: "bold",
142
+ children: type
143
+ }), /*#__PURE__*/jsx(DataDistribution, {
144
+ data: defaultData
145
+ }), /*#__PURE__*/jsx(Tooltip, {
146
+ content: /*#__PURE__*/jsx(DataDistribution, {
147
+ data: othersData
148
+ }),
149
+ disabled: !othersSum,
150
+ position: "bottom",
151
+ children: /*#__PURE__*/jsx("div", {
152
+ className: "mt-2 grid grid-cols-4 gap-2",
153
+ children: /*#__PURE__*/jsx(MetaInfoItem$1, {
154
+ name: t("neetoMolecules.insights.others"),
155
+ value: othersSum
156
+ })
157
+ })
158
+ })]
159
+ });
160
+ };
161
+ var MetaInfo$1 = /*#__PURE__*/memo(MetaInfo);
162
+
163
+ var TimeItem = function TimeItem(_ref) {
164
+ var value = _ref.value,
165
+ suffix = _ref.suffix;
166
+ return /*#__PURE__*/jsxs("div", {
167
+ className: "flex items-end",
168
+ "data-testid": "time-item",
169
+ children: [/*#__PURE__*/jsx(Typography, {
170
+ className: "me-1",
171
+ variant: "h1",
172
+ weight: "semibold",
173
+ children: value
174
+ }), /*#__PURE__*/jsx(Typography, {
175
+ className: "leading-loose",
176
+ variant: "body2",
177
+ children: suffix
178
+ })]
179
+ });
180
+ };
181
+ var TimeItem$1 = /*#__PURE__*/memo(TimeItem);
182
+
183
+ var MetricItem = function MetricItem(_ref) {
184
+ var metric = _ref.metric,
185
+ value = _ref.value,
186
+ helpText = _ref.helpText,
187
+ isTime = _ref.isTime,
188
+ isPercentage = _ref.isPercentage;
189
+ var renderTime = function renderTime(value) {
190
+ var hours = value.h,
191
+ minutes = value.m,
192
+ seconds = value.s;
193
+ var showSeconds = !hours && !minutes;
194
+ return /*#__PURE__*/jsxs("div", {
195
+ className: "flex gap-2",
196
+ children: [!!hours && /*#__PURE__*/jsx(TimeItem$1, {
197
+ suffix: "H",
198
+ value: hours
199
+ }), !!minutes && /*#__PURE__*/jsx(TimeItem$1, {
200
+ suffix: "M",
201
+ value: minutes
202
+ }), (!!seconds || showSeconds) && /*#__PURE__*/jsx(TimeItem$1, {
203
+ suffix: "S",
204
+ value: seconds
205
+ })]
206
+ });
207
+ };
208
+ return /*#__PURE__*/jsxs("div", {
209
+ className: "nf-insights__metric-item border-border border-b pb-4",
210
+ "data-testid": "".concat(hyphenate(metric), "-metric"),
211
+ children: [/*#__PURE__*/jsxs("div", {
212
+ className: "flex items-center gap-2",
213
+ children: [/*#__PURE__*/jsx("div", {
214
+ className: "flex items-end gap-x-1",
215
+ children: isTime ? renderTime(value) : /*#__PURE__*/jsxs(Typography, {
216
+ className: "text-foreground",
217
+ "data-testid": "insights-count",
218
+ variant: "h1",
219
+ weight: "semibold",
220
+ children: [value || 0, isPercentage ? "%" : ""]
221
+ })
222
+ }), helpText && /*#__PURE__*/jsx("div", {
223
+ children: /*#__PURE__*/jsx(HelpPopover, {
224
+ description: helpText
225
+ })
226
+ })]
227
+ }), /*#__PURE__*/jsx(Typography, {
228
+ className: "text-muted-foreground",
229
+ "data-testid": "insights-type",
230
+ variant: "body3",
231
+ children: metric
232
+ })]
233
+ });
234
+ };
235
+ var MetricItem$1 = /*#__PURE__*/memo(MetricItem);
236
+
237
+ 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; }
238
+ 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; }
239
+ var Insights = function Insights(_ref) {
240
+ var insightsData = _ref.insightsData,
241
+ isLoading = _ref.isLoading,
242
+ timePeriod = _ref.timePeriod,
243
+ setTimePeriod = _ref.setTimePeriod,
244
+ _ref$helpTexts = _ref.helpTexts,
245
+ helpTexts = _ref$helpTexts === void 0 ? {} : _ref$helpTexts,
246
+ _ref$showWarningMessa = _ref.showWarningMessage,
247
+ showWarningMessage = _ref$showWarningMessa === void 0 ? false : _ref$showWarningMessa,
248
+ className = _ref.className,
249
+ title = _ref.title,
250
+ _ref$tooltipProps = _ref.tooltipProps,
251
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps;
252
+ var _useTranslation = useTranslation(),
253
+ t = _useTranslation.t;
254
+ var visitCount = insightsData.visitCount,
255
+ startCount = insightsData.startCount,
256
+ submissionCount = insightsData.submissionCount,
257
+ completionRate = insightsData.completionRate,
258
+ averageSubmissionTime = insightsData.averageSubmissionTime,
259
+ devices = insightsData.devices,
260
+ operatingSystems = insightsData.operatingSystems,
261
+ browsers = insightsData.browsers;
262
+ if (isLoading) {
263
+ return /*#__PURE__*/jsx("div", {
264
+ className: "flex h-full w-full items-center justify-center",
265
+ children: /*#__PURE__*/jsx(Spinner, {})
266
+ });
267
+ }
268
+ return /*#__PURE__*/jsxs("div", {
269
+ className: classnames("mx-auto pt-10", className),
270
+ "data-testid": "insights",
271
+ children: [/*#__PURE__*/jsxs("div", {
272
+ className: "mb-10 flex w-full items-center",
273
+ children: [/*#__PURE__*/jsx(Typography, {
274
+ "data-testid": "submissions-insights-title",
275
+ variant: "h2",
276
+ children: title || t("neetoMolecules.insights.title")
277
+ }), showWarningMessage && /*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({
278
+ content: t("neetoMolecules.insights.dataInaccuracyWarning"),
279
+ position: "bottom"
280
+ }, tooltipProps), {}, {
281
+ children: /*#__PURE__*/jsx("span", {
282
+ className: "ms-3",
283
+ children: /*#__PURE__*/jsx(TriangleAlert, {
284
+ className: "text-warning",
285
+ "data-testid": "insights-warning",
286
+ size: 20
287
+ })
288
+ })
289
+ })), /*#__PURE__*/jsx("span", {
290
+ className: "ms-auto",
291
+ children: /*#__PURE__*/jsx(DateRangeFilter, {
292
+ setTimePeriod: setTimePeriod,
293
+ timePeriod: timePeriod
294
+ })
295
+ })]
296
+ }), /*#__PURE__*/jsxs("div", {
297
+ 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",
298
+ children: [/*#__PURE__*/jsx(MetricItem$1, {
299
+ helpText: helpTexts["visitCount"],
300
+ metric: t("neetoMolecules.insights.metrics.visits"),
301
+ value: visitCount
302
+ }), /*#__PURE__*/jsx(MetricItem$1, {
303
+ helpText: helpTexts["startCount"],
304
+ metric: t("neetoMolecules.insights.metrics.starts"),
305
+ value: startCount
306
+ }), /*#__PURE__*/jsx(MetricItem$1, {
307
+ helpText: helpTexts["submissions"],
308
+ metric: t("neetoMolecules.insights.metrics.submissions"),
309
+ value: submissionCount
310
+ }), /*#__PURE__*/jsx(MetricItem$1, {
311
+ isPercentage: true,
312
+ helpText: helpTexts["completionRate"],
313
+ metric: t("neetoMolecules.insights.metrics.completionRate"),
314
+ value: completionRate
315
+ }), /*#__PURE__*/jsx(MetricItem$1, {
316
+ isTime: true,
317
+ helpText: helpTexts["averageSubmissionTime"],
318
+ metric: t("neetoMolecules.insights.metrics.avgTimeToComplete"),
319
+ timeSuffix: t("neetoMolecules.insights.mins"),
320
+ value: averageSubmissionTime
321
+ })]
322
+ }), /*#__PURE__*/jsxs("div", {
323
+ className: "grid grid-cols-1 gap-6 sm:grid-cols-2 lg:grid-cols-3",
324
+ children: [/*#__PURE__*/jsx(MetaInfo$1, {
325
+ data: devices,
326
+ defaultItems: DEFAULT_DEVICES,
327
+ type: t("neetoMolecules.insights.devices")
328
+ }), /*#__PURE__*/jsx(MetaInfo$1, {
329
+ data: operatingSystems,
330
+ defaultItems: DEFAULT_OS,
331
+ type: t("neetoMolecules.insights.os")
332
+ }), /*#__PURE__*/jsx(MetaInfo$1, {
333
+ data: browsers,
334
+ defaultItems: DEFAULT_BROWSERS,
335
+ type: t("neetoMolecules.insights.browsers")
336
+ })]
337
+ })]
338
+ });
339
+ };
340
+
341
+ export { Insights as default };
342
+ //# sourceMappingURL=Insights.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Insights.js","sources":["../../src/v2/components/Insights/constants.js","../../src/v2/components/Insights/MetaInfo/PercentageBar.jsx","../../src/v2/components/Insights/MetaInfo/MetaInfoItem.jsx","../../src/v2/components/Insights/MetaInfo/DataDistribution.jsx","../../src/v2/components/Insights/utils.js","../../src/v2/components/Insights/MetaInfo/index.jsx","../../src/v2/components/Insights/TimeItem.jsx","../../src/v2/components/Insights/MetricItem.jsx","../../src/v2/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 \"@bigbinary/neeto-atoms\";\n\nconst PercentageBar = ({ value }) => (\n <>\n {value !== 0 && (\n <div\n className=\"bg-muted-foreground/30 h-2 rounded-full\"\n style={{ width: `${value}%` }}\n />\n )}\n <Typography variant=\"body3\">{value ? `${value}%` : 0}</Typography>\n </>\n);\n\nexport default memo(PercentageBar);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\n\nimport PercentageBar from \"./PercentageBar\";\n\nconst MetaInfoItem = ({ name, value }) => (\n <>\n <Typography className=\"capitalize\" variant=\"body2\">\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 \"@bigbinary/neeto-atoms\";\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=\"bg-muted rounded p-4\">\n <Typography className=\"mb-2 uppercase\" variant=\"body2\" weight=\"bold\">\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 \"@bigbinary/neeto-atoms\";\n\nconst TimeItem = ({ value, suffix }) => (\n <div className=\"flex items-end\" data-testid=\"time-item\">\n <Typography className=\"me-1\" variant=\"h1\" weight=\"semibold\">\n {value}\n </Typography>\n <Typography className=\"leading-loose\" variant=\"body2\">\n {suffix}\n </Typography>\n </div>\n);\n\nexport default memo(TimeItem);\n","import { memo } from \"react\";\n\nimport { Typography } from \"@bigbinary/neeto-atoms\";\nimport { hyphenate } from \"neetocist\";\n\nimport TimeItem from \"./TimeItem\";\n\nimport HelpPopover from \"../HelpPopover\";\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 border-border 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=\"text-foreground\"\n data-testid=\"insights-count\"\n variant=\"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=\"text-muted-foreground\"\n data-testid=\"insights-type\"\n variant=\"body3\"\n >\n {metric}\n </Typography>\n </div>\n );\n};\n\nexport default memo(MetricItem);\n","import { Spinner, Tooltip, Typography } from \"@bigbinary/neeto-atoms\";\nimport classNames from \"classnames\";\nimport { TriangleAlert } from \"lucide-react\";\nimport PropTypes from \"prop-types\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { DEFAULT_DEVICES, DEFAULT_BROWSERS, DEFAULT_OS } from \"./constants\";\nimport MetaInfo from \"./MetaInfo\";\nimport MetricItem from \"./MetricItem\";\n\nimport DateRangeFilter from \"../DateRangeFilter\";\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\" variant=\"h2\">\n {title || t(\"neetoMolecules.insights.title\")}\n </Typography>\n {showWarningMessage && (\n <Tooltip\n content={t(\"neetoMolecules.insights.dataInaccuracyWarning\")}\n position=\"bottom\"\n {...tooltipProps}\n >\n <span className=\"ms-3\">\n <TriangleAlert\n className=\"text-warning\"\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","variant","memo","MetaInfoItem","name","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","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","TriangleAlert","size","DateRangeFilter","timeSuffix"],"mappings":"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"}
@@ -0,0 +1,220 @@
1
+ import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import { Badge, Tooltip, Typography, Spinner, Button } from '@bigbinary/neeto-atoms';
4
+ import classnames from 'classnames';
5
+ import { noop, isPresent, isNotEmpty } from '@bigbinary/neeto-cist';
6
+ import { joinHyphenCase } from '@bigbinary/neeto-commons-frontend/v2/utils/general';
7
+ import { isNotNil } from 'ramda';
8
+ import { useTranslation } from 'react-i18next';
9
+ import MoreDropdown from './MoreDropdown.js';
10
+ import { jsx, jsxs } from 'react/jsx-runtime';
11
+ import { T as TriangleAlert } from '../triangle-alert-Pkh6pc42.js';
12
+ import { C as Check } from '../check-DvxzqR83.js';
13
+ import '@bigbinary/neeto-commons-frontend/v2/react-utils';
14
+ import '../createLucideIcon-mNMhCCpf.js';
15
+ import 'react';
16
+ import '../ellipsis-DpI9xqUK.js';
17
+
18
+ var Dropdown = function Dropdown(_ref) {
19
+ var customDropdown = _ref.customDropdown,
20
+ _ref$handleManage = _ref.handleManage,
21
+ handleManage = _ref$handleManage === void 0 ? noop : _ref$handleManage,
22
+ _ref$hideDisconnect = _ref.hideDisconnect,
23
+ hideDisconnect = _ref$hideDisconnect === void 0 ? false : _ref$hideDisconnect,
24
+ _ref$onDisconnect = _ref.onDisconnect,
25
+ onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect;
26
+ var _useTranslation = useTranslation(),
27
+ t = _useTranslation.t;
28
+ if (isNotNil(customDropdown)) {
29
+ return /*#__PURE__*/jsx("div", {
30
+ onClick: function onClick(e) {
31
+ return e.stopPropagation();
32
+ },
33
+ children: customDropdown
34
+ });
35
+ }
36
+ var isManageable = isNotNil(handleManage);
37
+ if (!isManageable && hideDisconnect) {
38
+ return null;
39
+ }
40
+ return /*#__PURE__*/jsx("div", {
41
+ onClick: function onClick(e) {
42
+ return e.stopPropagation();
43
+ },
44
+ children: /*#__PURE__*/jsx(MoreDropdown, {
45
+ menuItems: [{
46
+ isVisible: isManageable,
47
+ onClick: handleManage,
48
+ label: t("neetoMolecules.integrationCard.manage"),
49
+ key: "integration-card-manage-integration"
50
+ }, {
51
+ isVisible: !hideDisconnect,
52
+ onClick: onDisconnect,
53
+ label: t("neetoMolecules.integrationCard.disconnect"),
54
+ key: "integration-card-manage-disconnection"
55
+ }]
56
+ })
57
+ });
58
+ };
59
+
60
+ function ownKeys$1(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; }
61
+ function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
62
+ var Status = function Status(_ref) {
63
+ var isExpired = _ref.isExpired;
64
+ var _useTranslation = useTranslation(),
65
+ t = _useTranslation.t;
66
+ var tagProps = isExpired ? {
67
+ icon: TriangleAlert,
68
+ label: t("neetoMolecules.integrationCard.tags.expired"),
69
+ variant: "amber"
70
+ } : {
71
+ icon: Check,
72
+ label: t("neetoMolecules.integrationCard.tags.connected"),
73
+ variant: "green"
74
+ };
75
+ return /*#__PURE__*/jsx(Badge, _objectSpread$1(_objectSpread$1({}, tagProps), {}, {
76
+ "data-testid": "integration-status",
77
+ iconPosition: "right"
78
+ }));
79
+ };
80
+
81
+ var _excluded = ["icon", "subIcons", "label", "description", "className", "onConnect", "onDisconnect", "onManage", "isLoading", "isConnected", "isFailed", "isExpired", "disabled", "hidden", "hideDisconnect", "onClick", "tooltipProps", "customDropdown", "dataTestid", "connectPath", "connectUrl", "children"];
82
+ 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; }
83
+ 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; }
84
+ var IntegrationCard = function IntegrationCard(_ref) {
85
+ var Icon = _ref.icon,
86
+ _ref$subIcons = _ref.subIcons,
87
+ subIcons = _ref$subIcons === void 0 ? [] : _ref$subIcons,
88
+ _ref$label = _ref.label,
89
+ label = _ref$label === void 0 ? "" : _ref$label,
90
+ _ref$description = _ref.description,
91
+ description = _ref$description === void 0 ? "" : _ref$description,
92
+ _ref$className = _ref.className,
93
+ className = _ref$className === void 0 ? "" : _ref$className,
94
+ _ref$onConnect = _ref.onConnect,
95
+ onConnect = _ref$onConnect === void 0 ? noop : _ref$onConnect,
96
+ _ref$onDisconnect = _ref.onDisconnect,
97
+ onDisconnect = _ref$onDisconnect === void 0 ? noop : _ref$onDisconnect,
98
+ _ref$onManage = _ref.onManage,
99
+ onManage = _ref$onManage === void 0 ? undefined : _ref$onManage,
100
+ _ref$isLoading = _ref.isLoading,
101
+ isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
102
+ _ref$isConnected = _ref.isConnected,
103
+ isConnected = _ref$isConnected === void 0 ? false : _ref$isConnected,
104
+ _ref$isFailed = _ref.isFailed,
105
+ isFailed = _ref$isFailed === void 0 ? false : _ref$isFailed,
106
+ _ref$isExpired = _ref.isExpired,
107
+ isExpired = _ref$isExpired === void 0 ? false : _ref$isExpired,
108
+ _ref$disabled = _ref.disabled,
109
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
110
+ _ref$hidden = _ref.hidden,
111
+ hidden = _ref$hidden === void 0 ? false : _ref$hidden,
112
+ _ref$hideDisconnect = _ref.hideDisconnect,
113
+ hideDisconnect = _ref$hideDisconnect === void 0 ? false : _ref$hideDisconnect,
114
+ _ref$onClick = _ref.onClick,
115
+ onCardClick = _ref$onClick === void 0 ? undefined : _ref$onClick,
116
+ _ref$tooltipProps = _ref.tooltipProps,
117
+ tooltipProps = _ref$tooltipProps === void 0 ? {} : _ref$tooltipProps,
118
+ _ref$customDropdown = _ref.customDropdown,
119
+ customDropdown = _ref$customDropdown === void 0 ? null : _ref$customDropdown,
120
+ _ref$dataTestid = _ref.dataTestid,
121
+ dataTestid = _ref$dataTestid === void 0 ? "" : _ref$dataTestid,
122
+ _ref$connectPath = _ref.connectPath,
123
+ connectPath = _ref$connectPath === void 0 ? "" : _ref$connectPath,
124
+ _ref$connectUrl = _ref.connectUrl,
125
+ connectUrl = _ref$connectUrl === void 0 ? "" : _ref$connectUrl,
126
+ children = _ref.children,
127
+ otherProps = _objectWithoutProperties(_ref, _excluded);
128
+ var _useTranslation = useTranslation(),
129
+ t = _useTranslation.t;
130
+ if (hidden) return null;
131
+ var isCardClickable = isConnected && isNotNil(onCardClick);
132
+ var cardProps = isCardClickable ? {
133
+ onClick: onCardClick
134
+ } : {};
135
+ return /*#__PURE__*/jsx(Tooltip, _objectSpread(_objectSpread({
136
+ disabled: !disabled,
137
+ position: "top",
138
+ content: disabled && t("neetoMolecules.integrationCard.tooltip.integrationNotAvailable")
139
+ }, tooltipProps), {}, {
140
+ children: /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread(_objectSpread({
141
+ "data-testid": isPresent(dataTestid) ? dataTestid : "integration-card",
142
+ className: classnames("border-border hover:border-ring focus:border-ring flex flex-col rounded-lg border p-6 no-underline shadow-xs transition-colors outline-none", {
143
+ "hover:bg-muted cursor-not-allowed opacity-50": disabled,
144
+ "cursor-pointer": isCardClickable
145
+ }, className)
146
+ }, cardProps), otherProps), {}, {
147
+ children: [/*#__PURE__*/jsxs("div", {
148
+ className: "flex flex-grow justify-between",
149
+ "data-testid": "integration-tabs",
150
+ children: [/*#__PURE__*/jsxs("div", {
151
+ className: "flex min-w-0 flex-col justify-end",
152
+ children: [/*#__PURE__*/jsx("div", {
153
+ className: "relative mb-4 flex h-8",
154
+ children: Icon && /*#__PURE__*/jsx(Icon, {
155
+ size: 32
156
+ })
157
+ }), /*#__PURE__*/jsxs("div", {
158
+ className: "my-auto",
159
+ children: [/*#__PURE__*/jsx(Typography, {
160
+ className: "mb-2",
161
+ "data-testid": "integration-card-label",
162
+ variant: "h4",
163
+ weight: "semibold",
164
+ children: label
165
+ }), /*#__PURE__*/jsx(Typography, {
166
+ className: "break-words",
167
+ "data-testid": "".concat(joinHyphenCase(label), "-integration-description"),
168
+ variant: "body2",
169
+ children: description
170
+ }), children]
171
+ })]
172
+ }), isNotEmpty(subIcons) && /*#__PURE__*/jsx("div", {
173
+ className: "flex h-24 flex-col gap-2",
174
+ children: subIcons.map(function (Icon, index) {
175
+ return /*#__PURE__*/jsx(Icon, {
176
+ className: "text-muted-foreground",
177
+ size: 24
178
+ }, index);
179
+ })
180
+ })]
181
+ }), /*#__PURE__*/jsx("div", {
182
+ className: "border-border mt-4 w-full border-t pt-2",
183
+ children: isLoading ? /*#__PURE__*/jsx("div", {
184
+ className: "mt-3 flex items-center justify-start",
185
+ children: /*#__PURE__*/jsx(Spinner, {})
186
+ }) : /*#__PURE__*/jsxs("div", {
187
+ className: "flex h-8 items-center justify-between",
188
+ children: [isConnected && /*#__PURE__*/jsx(Status, {
189
+ isExpired: isExpired
190
+ }), isFailed && /*#__PURE__*/jsx(Button, {
191
+ className: "text-warning",
192
+ "data-testid": "connect-button",
193
+ disabled: disabled || isLoading,
194
+ href: connectUrl,
195
+ label: t("neetoMolecules.integrationCard.tryAgain"),
196
+ to: connectPath,
197
+ variant: "link",
198
+ onClick: onConnect
199
+ }), !isConnected && !isFailed && /*#__PURE__*/jsx(Button, {
200
+ "data-testid": "connect-button",
201
+ disabled: disabled || isLoading,
202
+ href: connectUrl,
203
+ label: t("neetoMolecules.integrationCard.connect"),
204
+ to: connectPath,
205
+ variant: "link",
206
+ onClick: onConnect
207
+ }), (isConnected || isFailed) && /*#__PURE__*/jsx(Dropdown, {
208
+ customDropdown: customDropdown,
209
+ hideDisconnect: hideDisconnect,
210
+ onDisconnect: onDisconnect,
211
+ handleManage: onManage
212
+ })]
213
+ })
214
+ })]
215
+ }))
216
+ }));
217
+ };
218
+
219
+ export { IntegrationCard as default };
220
+ //# sourceMappingURL=IntegrationCard.js.map