@bigbinary/neeto-molecules 5.5.0-beta1 → 5.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BrowserSupport.js +116 -51
- package/dist/BrowserSupport.js.map +1 -1
- package/dist/{Columns-C20zru7a.js → Columns-CpCh1cnJ.js} +6 -4
- package/dist/Columns-CpCh1cnJ.js.map +1 -0
- package/dist/{ConfigureView-D-2SQf3j.js → ConfigureView-re6uU4Lp.js} +6 -4
- package/dist/ConfigureView-re6uU4Lp.js.map +1 -0
- package/dist/EmailForm.js +3 -1
- package/dist/EmailForm.js.map +1 -1
- package/dist/FinderModal.js +14 -1
- package/dist/FinderModal.js.map +1 -1
- package/dist/FloatingActionMenu.js +175 -55
- package/dist/FloatingActionMenu.js.map +1 -1
- package/dist/IpRestriction.js +19 -9
- package/dist/IpRestriction.js.map +1 -1
- package/dist/ProductEmbed.js +35 -23
- package/dist/ProductEmbed.js.map +1 -1
- package/dist/ShareViaLink.js +4 -4
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/Sidebar.js +43 -5
- package/dist/Sidebar.js.map +1 -1
- package/dist/StickyRibbonsContainer.js +27 -18
- package/dist/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/BrowserSupport.js +119 -51
- package/dist/cjs/BrowserSupport.js.map +1 -1
- package/dist/cjs/{Columns-rqa7goJu.js → Columns-Gcp48xQM.js} +5 -3
- package/dist/cjs/Columns-Gcp48xQM.js.map +1 -0
- package/dist/cjs/{ConfigureView-CNWEfiae.js → ConfigureView-CAdrpELW.js} +6 -4
- package/dist/cjs/ConfigureView-CAdrpELW.js.map +1 -0
- package/dist/cjs/EmailForm.js +3 -1
- package/dist/cjs/EmailForm.js.map +1 -1
- package/dist/cjs/FinderModal.js +14 -1
- package/dist/cjs/FinderModal.js.map +1 -1
- package/dist/cjs/FloatingActionMenu.js +189 -69
- package/dist/cjs/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/IpRestriction.js +19 -9
- package/dist/cjs/IpRestriction.js.map +1 -1
- package/dist/cjs/ProductEmbed.js +34 -22
- package/dist/cjs/ProductEmbed.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +4 -4
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/dist/cjs/Sidebar.js +43 -5
- package/dist/cjs/Sidebar.js.map +1 -1
- package/dist/cjs/StickyRibbonsContainer.js +29 -20
- package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/mail-Di35Ay-Z.js +20 -0
- package/dist/cjs/mail-Di35Ay-Z.js.map +1 -0
- package/dist/cjs/performanceDiagnostics-CS7NTxaH.js +93 -0
- package/dist/cjs/performanceDiagnostics-CS7NTxaH.js.map +1 -0
- package/dist/cjs/{phone-number-DVlbgxBG.js → phone-number-BydWe8Mf.js} +22 -3
- package/dist/cjs/phone-number-BydWe8Mf.js.map +1 -0
- package/dist/cjs/useWhatsNewChangesCount-BVkLLk7f.js +121 -0
- package/dist/cjs/useWhatsNewChangesCount-BVkLLk7f.js.map +1 -0
- package/dist/cjs/useWhatsNewChangesCount-CyOUS5U3.js +106 -0
- package/dist/cjs/useWhatsNewChangesCount-CyOUS5U3.js.map +1 -0
- package/dist/cjs/v2/BrowserSupport.js +119 -51
- package/dist/cjs/v2/BrowserSupport.js.map +1 -1
- package/dist/cjs/v2/Builder.js +17 -13
- package/dist/cjs/v2/Builder.js.map +1 -1
- package/dist/cjs/v2/CalendarView.js +2 -2
- package/dist/cjs/v2/Columns.js +1 -1
- package/dist/cjs/v2/ConfigurePageSidebar.js +1 -1
- package/dist/cjs/v2/DndTable.js +1 -0
- package/dist/cjs/v2/DndTable.js.map +1 -1
- package/dist/cjs/v2/DynamicVariables.js +17 -8
- package/dist/cjs/v2/DynamicVariables.js.map +1 -1
- package/dist/cjs/v2/EmailForm.js +97 -10
- package/dist/cjs/v2/EmailForm.js.map +1 -1
- package/dist/cjs/v2/EmailPreview.js +1 -1
- package/dist/cjs/v2/EmailPreview.js.map +1 -1
- package/dist/cjs/v2/Engagements.js +10 -7
- package/dist/cjs/v2/Engagements.js.map +1 -1
- package/dist/cjs/v2/FinderModal.js +104 -72
- package/dist/cjs/v2/FinderModal.js.map +1 -1
- package/dist/cjs/v2/FloatingActionMenu.js +267 -110
- package/dist/cjs/v2/FloatingActionMenu.js.map +1 -1
- package/dist/cjs/v2/IpRestriction.js +17 -7
- package/dist/cjs/v2/IpRestriction.js.map +1 -1
- package/dist/cjs/v2/MadeWith.js +5 -3
- package/dist/cjs/v2/MadeWith.js.map +1 -1
- package/dist/cjs/v2/MoreDropdown.js +5 -2
- package/dist/cjs/v2/MoreDropdown.js.map +1 -1
- package/dist/cjs/v2/OptionFields.js +1 -0
- package/dist/cjs/v2/OptionFields.js.map +1 -1
- package/dist/cjs/v2/PhoneNumber.js +1 -1
- package/dist/cjs/v2/ProductEmbed.js +25 -13
- package/dist/cjs/v2/ProductEmbed.js.map +1 -1
- package/dist/cjs/v2/SessionEnvironment.js +3 -16
- package/dist/cjs/v2/SessionEnvironment.js.map +1 -1
- package/dist/cjs/v2/Sidebar.js +95 -32
- package/dist/cjs/v2/Sidebar.js.map +1 -1
- package/dist/cjs/v2/StickyRibbonsContainer.js +29 -19
- package/dist/cjs/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/cjs/v2/SubHeader.js +1 -1
- package/dist/cjs/v2/Taxonomy.js +1 -1
- package/dist/mail-CkquKByM.js +18 -0
- package/dist/mail-CkquKByM.js.map +1 -0
- package/dist/performanceDiagnostics-DJcT0dfG.js +88 -0
- package/dist/performanceDiagnostics-DJcT0dfG.js.map +1 -0
- package/dist/{phone-number-ClrmOx58.js → phone-number-n0BLV3g6.js} +24 -5
- package/dist/phone-number-n0BLV3g6.js.map +1 -0
- package/dist/useWhatsNewChangesCount-C71JkNHv.js +96 -0
- package/dist/useWhatsNewChangesCount-C71JkNHv.js.map +1 -0
- package/dist/useWhatsNewChangesCount-CQxhUCpt.js +106 -0
- package/dist/useWhatsNewChangesCount-CQxhUCpt.js.map +1 -0
- package/dist/v2/BrowserSupport.js +116 -51
- package/dist/v2/BrowserSupport.js.map +1 -1
- package/dist/v2/Builder.js +17 -13
- package/dist/v2/Builder.js.map +1 -1
- package/dist/v2/CalendarView.js +2 -2
- package/dist/v2/Columns.js +1 -1
- package/dist/v2/ConfigurePageSidebar.js +1 -1
- package/dist/v2/DndTable.js +1 -0
- package/dist/v2/DndTable.js.map +1 -1
- package/dist/v2/DynamicVariables.js +18 -9
- package/dist/v2/DynamicVariables.js.map +1 -1
- package/dist/v2/EmailForm.js +100 -13
- package/dist/v2/EmailForm.js.map +1 -1
- package/dist/v2/EmailPreview.js +1 -1
- package/dist/v2/EmailPreview.js.map +1 -1
- package/dist/v2/Engagements.js +10 -7
- package/dist/v2/Engagements.js.map +1 -1
- package/dist/v2/FinderModal.js +105 -73
- package/dist/v2/FinderModal.js.map +1 -1
- package/dist/v2/FloatingActionMenu.js +238 -81
- package/dist/v2/FloatingActionMenu.js.map +1 -1
- package/dist/v2/IpRestriction.js +17 -7
- package/dist/v2/IpRestriction.js.map +1 -1
- package/dist/v2/MadeWith.js +5 -3
- package/dist/v2/MadeWith.js.map +1 -1
- package/dist/v2/MoreDropdown.js +5 -2
- package/dist/v2/MoreDropdown.js.map +1 -1
- package/dist/v2/OptionFields.js +1 -0
- package/dist/v2/OptionFields.js.map +1 -1
- package/dist/v2/PhoneNumber.js +2 -2
- package/dist/v2/ProductEmbed.js +26 -14
- package/dist/v2/ProductEmbed.js.map +1 -1
- package/dist/v2/SessionEnvironment.js +2 -15
- package/dist/v2/SessionEnvironment.js.map +1 -1
- package/dist/v2/Sidebar.js +95 -32
- package/dist/v2/Sidebar.js.map +1 -1
- package/dist/v2/StickyRibbonsContainer.js +27 -17
- package/dist/v2/StickyRibbonsContainer.js.map +1 -1
- package/dist/v2/SubHeader.js +1 -1
- package/dist/v2/Taxonomy.js +1 -1
- package/package.json +8 -8
- package/src/translations/ar.json +8 -3
- package/src/translations/bg.json +8 -3
- package/src/translations/ca.json +8 -3
- package/src/translations/cs.json +8 -3
- package/src/translations/da.json +8 -3
- package/src/translations/de.json +8 -3
- package/src/translations/en.json +18 -2
- package/src/translations/es-MX.json +8 -3
- package/src/translations/es.json +8 -3
- package/src/translations/et.json +8 -3
- package/src/translations/fi.json +8 -3
- package/src/translations/fil.json +8 -3
- package/src/translations/fr.json +8 -3
- package/src/translations/he.json +8 -3
- package/src/translations/hi.json +8 -3
- package/src/translations/hr.json +8 -3
- package/src/translations/hu.json +8 -3
- package/src/translations/id.json +8 -3
- package/src/translations/it.json +8 -3
- package/src/translations/ja.json +8 -3
- package/src/translations/ko.json +8 -3
- package/src/translations/lv.json +984 -0
- package/src/translations/nl.json +8 -3
- package/src/translations/pl.json +8 -3
- package/src/translations/pt-BR.json +8 -3
- package/src/translations/pt.json +8 -3
- package/src/translations/ro.json +8 -3
- package/src/translations/ru.json +8 -3
- package/src/translations/sk.json +8 -3
- package/src/translations/sl.json +8 -3
- package/src/translations/sv.json +8 -3
- package/src/translations/th.json +8 -3
- package/src/translations/tr.json +8 -3
- package/src/translations/uk.json +8 -3
- package/src/translations/vi.json +8 -3
- package/src/translations/zh-CN.json +8 -3
- package/src/translations/zh-TW.json +8 -3
- package/types/BrowserSupport.d.ts +128 -39
- package/types/v2/EmailForm.d.ts +1 -0
- package/types/v2/EmailFormProvider.d.ts +3 -1
- package/dist/Columns-C20zru7a.js.map +0 -1
- package/dist/ConfigureView-D-2SQf3j.js.map +0 -1
- package/dist/cjs/Columns-rqa7goJu.js.map +0 -1
- package/dist/cjs/ConfigureView-CNWEfiae.js.map +0 -1
- package/dist/cjs/phone-number-DVlbgxBG.js.map +0 -1
- package/dist/phone-number-ClrmOx58.js.map +0 -1
|
@@ -23,17 +23,20 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
23
23
|
var reactQuery = require('@tanstack/react-query');
|
|
24
24
|
var axios = require('axios');
|
|
25
25
|
var search = require('../search-DoXqXFel.js');
|
|
26
|
+
var performanceDiagnostics = require('../performanceDiagnostics-CS7NTxaH.js');
|
|
26
27
|
var useBreakpoints = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useBreakpoints');
|
|
27
|
-
var
|
|
28
|
+
var useWhatsNewChangesCount = require('../useWhatsNewChangesCount-BVkLLk7f.js');
|
|
28
29
|
var createLucideIcon = require('../createLucideIcon-BbuuRL2u.js');
|
|
29
30
|
var circleQuestionMark = require('../circle-question-mark-BijjM_4y.js');
|
|
30
31
|
var chevronRight = require('../chevron-right-BVivH_B-.js');
|
|
31
32
|
var user = require('../user-bZmvS8wE.js');
|
|
32
33
|
var useLocalStorage = require('@bigbinary/neeto-commons-frontend/v2/react-utils/useLocalStorage');
|
|
34
|
+
var i18next = require('i18next');
|
|
33
35
|
var utils = require('@bigbinary/neeto-commons-frontend/v2/utils');
|
|
34
36
|
var axios$1 = require('@bigbinary/neeto-commons-frontend/v2/utils/axios');
|
|
35
37
|
var general = require('@bigbinary/neeto-commons-frontend/v2/utils/general');
|
|
36
38
|
var v2_CopyToClipboardButton = require('./CopyToClipboardButton.js');
|
|
39
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
37
40
|
require('../useKeyboardShortcutsPaneState-DZUnpw9v.js');
|
|
38
41
|
require('zustand/shallow');
|
|
39
42
|
require('@bigbinary/neeto-commons-frontend/v2/react-utils/withImmutableActions');
|
|
@@ -70,7 +73,7 @@ var AppIcons__namespace = /*#__PURE__*/_interopNamespaceDefault(AppIcons);
|
|
|
70
73
|
*/
|
|
71
74
|
|
|
72
75
|
|
|
73
|
-
const __iconNode$
|
|
76
|
+
const __iconNode$c = [
|
|
74
77
|
[
|
|
75
78
|
"path",
|
|
76
79
|
{
|
|
@@ -79,7 +82,7 @@ const __iconNode$9 = [
|
|
|
79
82
|
}
|
|
80
83
|
]
|
|
81
84
|
];
|
|
82
|
-
const Activity = createLucideIcon.createLucideIcon("activity", __iconNode$
|
|
85
|
+
const Activity = createLucideIcon.createLucideIcon("activity", __iconNode$c);
|
|
83
86
|
|
|
84
87
|
/**
|
|
85
88
|
* @license lucide-react v1.24.0 - ISC
|
|
@@ -89,7 +92,7 @@ const Activity = createLucideIcon.createLucideIcon("activity", __iconNode$9);
|
|
|
89
92
|
*/
|
|
90
93
|
|
|
91
94
|
|
|
92
|
-
const __iconNode$
|
|
95
|
+
const __iconNode$b = [
|
|
93
96
|
["path", { d: "M12 7v14", key: "1akyts" }],
|
|
94
97
|
[
|
|
95
98
|
"path",
|
|
@@ -99,7 +102,7 @@ const __iconNode$8 = [
|
|
|
99
102
|
}
|
|
100
103
|
]
|
|
101
104
|
];
|
|
102
|
-
const BookOpen = createLucideIcon.createLucideIcon("book-open", __iconNode$
|
|
105
|
+
const BookOpen = createLucideIcon.createLucideIcon("book-open", __iconNode$b);
|
|
103
106
|
|
|
104
107
|
/**
|
|
105
108
|
* @license lucide-react v1.24.0 - ISC
|
|
@@ -109,11 +112,11 @@ const BookOpen = createLucideIcon.createLucideIcon("book-open", __iconNode$8);
|
|
|
109
112
|
*/
|
|
110
113
|
|
|
111
114
|
|
|
112
|
-
const __iconNode$
|
|
115
|
+
const __iconNode$a = [
|
|
113
116
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
114
117
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
115
118
|
];
|
|
116
|
-
const CircleCheck = createLucideIcon.createLucideIcon("circle-check", __iconNode$
|
|
119
|
+
const CircleCheck = createLucideIcon.createLucideIcon("circle-check", __iconNode$a);
|
|
117
120
|
|
|
118
121
|
/**
|
|
119
122
|
* @license lucide-react v1.24.0 - ISC
|
|
@@ -123,12 +126,12 @@ const CircleCheck = createLucideIcon.createLucideIcon("circle-check", __iconNode
|
|
|
123
126
|
*/
|
|
124
127
|
|
|
125
128
|
|
|
126
|
-
const __iconNode$
|
|
129
|
+
const __iconNode$9 = [
|
|
127
130
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
128
131
|
["path", { d: "m15 9-6 6", key: "1uzhvr" }],
|
|
129
132
|
["path", { d: "m9 9 6 6", key: "z0biqf" }]
|
|
130
133
|
];
|
|
131
|
-
const CircleX = createLucideIcon.createLucideIcon("circle-x", __iconNode$
|
|
134
|
+
const CircleX = createLucideIcon.createLucideIcon("circle-x", __iconNode$9);
|
|
132
135
|
|
|
133
136
|
/**
|
|
134
137
|
* @license lucide-react v1.24.0 - ISC
|
|
@@ -138,7 +141,7 @@ const CircleX = createLucideIcon.createLucideIcon("circle-x", __iconNode$6);
|
|
|
138
141
|
*/
|
|
139
142
|
|
|
140
143
|
|
|
141
|
-
const __iconNode$
|
|
144
|
+
const __iconNode$8 = [
|
|
142
145
|
[
|
|
143
146
|
"path",
|
|
144
147
|
{
|
|
@@ -148,7 +151,7 @@ const __iconNode$5 = [
|
|
|
148
151
|
],
|
|
149
152
|
["path", { d: "M5 21h14", key: "11awu3" }]
|
|
150
153
|
];
|
|
151
|
-
const Crown = createLucideIcon.createLucideIcon("crown", __iconNode$
|
|
154
|
+
const Crown = createLucideIcon.createLucideIcon("crown", __iconNode$8);
|
|
152
155
|
|
|
153
156
|
/**
|
|
154
157
|
* @license lucide-react v1.24.0 - ISC
|
|
@@ -158,12 +161,68 @@ const Crown = createLucideIcon.createLucideIcon("crown", __iconNode$5);
|
|
|
158
161
|
*/
|
|
159
162
|
|
|
160
163
|
|
|
161
|
-
const __iconNode$
|
|
164
|
+
const __iconNode$7 = [
|
|
165
|
+
["path", { d: "m12 14 4-4", key: "9kzdfg" }],
|
|
166
|
+
["path", { d: "M3.34 19a10 10 0 1 1 17.32 0", key: "19p75a" }]
|
|
167
|
+
];
|
|
168
|
+
const Gauge = createLucideIcon.createLucideIcon("gauge", __iconNode$7);
|
|
169
|
+
|
|
170
|
+
/**
|
|
171
|
+
* @license lucide-react v1.24.0 - ISC
|
|
172
|
+
*
|
|
173
|
+
* This source code is licensed under the ISC license.
|
|
174
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
175
|
+
*/
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
const __iconNode$6 = [
|
|
179
|
+
[
|
|
180
|
+
"path",
|
|
181
|
+
{
|
|
182
|
+
d: "M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",
|
|
183
|
+
key: "1gvzjb"
|
|
184
|
+
}
|
|
185
|
+
],
|
|
186
|
+
["path", { d: "M9 18h6", key: "x1upvd" }],
|
|
187
|
+
["path", { d: "M10 22h4", key: "ceow96" }]
|
|
188
|
+
];
|
|
189
|
+
const Lightbulb = createLucideIcon.createLucideIcon("lightbulb", __iconNode$6);
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* @license lucide-react v1.24.0 - ISC
|
|
193
|
+
*
|
|
194
|
+
* This source code is licensed under the ISC license.
|
|
195
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
196
|
+
*/
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
const __iconNode$5 = [
|
|
162
200
|
["path", { d: "m16 17 5-5-5-5", key: "1bji2h" }],
|
|
163
201
|
["path", { d: "M21 12H9", key: "dn1m92" }],
|
|
164
202
|
["path", { d: "M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4", key: "1uf3rs" }]
|
|
165
203
|
];
|
|
166
|
-
const LogOut = createLucideIcon.createLucideIcon("log-out", __iconNode$
|
|
204
|
+
const LogOut = createLucideIcon.createLucideIcon("log-out", __iconNode$5);
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* @license lucide-react v1.24.0 - ISC
|
|
208
|
+
*
|
|
209
|
+
* This source code is licensed under the ISC license.
|
|
210
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
211
|
+
*/
|
|
212
|
+
|
|
213
|
+
|
|
214
|
+
const __iconNode$4 = [
|
|
215
|
+
[
|
|
216
|
+
"path",
|
|
217
|
+
{
|
|
218
|
+
d: "M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z",
|
|
219
|
+
key: "169xi5"
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
["path", { d: "M15 5.764v15", key: "1pn4in" }],
|
|
223
|
+
["path", { d: "M9 3.236v15", key: "1uimfh" }]
|
|
224
|
+
];
|
|
225
|
+
const Map = createLucideIcon.createLucideIcon("map", __iconNode$4);
|
|
167
226
|
|
|
168
227
|
/**
|
|
169
228
|
* @license lucide-react v1.24.0 - ISC
|
|
@@ -530,39 +589,6 @@ var Modal = reactUtils.withT(function (_ref) {
|
|
|
530
589
|
});
|
|
531
590
|
});
|
|
532
591
|
|
|
533
|
-
var MY_ORGANIZATION_URL = "/auth/organization/edit";
|
|
534
|
-
var BILLING_URL = "/auth/admin_billing";
|
|
535
|
-
var DELETE_WORKSPACE_URL = "/auth/organization/delete";
|
|
536
|
-
var ENGAGE_WIDGET_TRIGGER_ID = "neetoengage-trigger";
|
|
537
|
-
var DEFAULT_MENU_LINK_PROPS = {
|
|
538
|
-
engageProps: {
|
|
539
|
-
id: ENGAGE_WIDGET_TRIGGER_ID,
|
|
540
|
-
label: i18next.t("neetoMolecules.sidebar.helpLinks.whatsNew"),
|
|
541
|
-
"data-testid": "help-link-engage-button"
|
|
542
|
-
},
|
|
543
|
-
keyboardShortcutProps: {
|
|
544
|
-
label: i18next.t("neetoMolecules.sidebar.helpLinks.keyboardShortcuts"),
|
|
545
|
-
"data-testid": "help-link-keyboard-shortcut-button"
|
|
546
|
-
}
|
|
547
|
-
};
|
|
548
|
-
|
|
549
|
-
// Theme switcher
|
|
550
|
-
var APP_THEME_LOCALSTORAGE_KEY = "appTheme";
|
|
551
|
-
var THEMES = {
|
|
552
|
-
LIGHT: "light",
|
|
553
|
-
DARK: "dark"
|
|
554
|
-
};
|
|
555
|
-
|
|
556
|
-
// Legacy neetoUI theme classes — kept until full migration is complete.
|
|
557
|
-
var LEGACY_THEMES = {
|
|
558
|
-
LIGHT: "neeto-ui-theme--light",
|
|
559
|
-
DARK: "neeto-ui-theme--dark"
|
|
560
|
-
};
|
|
561
|
-
var NEETO_AUTH_BILLING_INFO_URL = "/neeto_sso/api/v1/subscription/billing";
|
|
562
|
-
var MENU_ITEM_CLASSES = "gap-2.5 px-2.5 py-2 font-medium [&>[data-slot=menu-item-prefix]>svg]:!size-[18px] [&>[data-slot=menu-item-suffix]>svg]:!size-[18px]";
|
|
563
|
-
var THEME_BUTTON_BASE = "relative z-10 flex items-center justify-center gap-1 rounded-md px-2.5 py-1.5 text-xs font-medium transition-colors focus-visible:outline-none";
|
|
564
|
-
var THEME_ICON_BASE = "transition-transform duration-300 ease-out";
|
|
565
|
-
|
|
566
592
|
var _excluded$2 = ["className"];
|
|
567
593
|
function ownKeys$4(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; }
|
|
568
594
|
function _objectSpread$4(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$4(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
@@ -570,19 +596,19 @@ var MenuItem = /*#__PURE__*/React.forwardRef(function (_ref, forwardedRef) {
|
|
|
570
596
|
var className = _ref.className,
|
|
571
597
|
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
572
598
|
return /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.DropdownMenu.MenuItem, _objectSpread$4({
|
|
573
|
-
className: classnames(MENU_ITEM_CLASSES, className),
|
|
599
|
+
className: classnames(useWhatsNewChangesCount.MENU_ITEM_CLASSES, className),
|
|
574
600
|
ref: forwardedRef
|
|
575
601
|
}, props));
|
|
576
602
|
});
|
|
577
603
|
MenuItem.displayName = "FloatingActionMenu.MenuItem";
|
|
578
604
|
|
|
579
605
|
var HelpItems = reactUtils.withT(function (_ref) {
|
|
580
|
-
var
|
|
581
|
-
|
|
606
|
+
var t = _ref.t,
|
|
607
|
+
onReportSlowness = _ref.onReportSlowness;
|
|
582
608
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
583
609
|
children: [/*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
584
610
|
"data-testid": "help-link-help-articles-button",
|
|
585
|
-
href: "
|
|
611
|
+
href: "".concat(performanceDiagnostics.getNeetoUrl("help"), "/"),
|
|
586
612
|
prefix: /*#__PURE__*/jsxRuntime.jsx(BookOpen, {
|
|
587
613
|
size: 18
|
|
588
614
|
}),
|
|
@@ -609,6 +635,24 @@ var HelpItems = reactUtils.withT(function (_ref) {
|
|
|
609
635
|
rel: "noreferrer",
|
|
610
636
|
target: "_blank",
|
|
611
637
|
children: t("neetoMolecules.sidebar.helpLinks.askTheCommunity")
|
|
638
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
639
|
+
"data-testid": "help-link-request-feature-button",
|
|
640
|
+
href: "".concat(performanceDiagnostics.getNeetoUrl("engage"), "/feature-requests"),
|
|
641
|
+
prefix: /*#__PURE__*/jsxRuntime.jsx(Lightbulb, {
|
|
642
|
+
size: 18
|
|
643
|
+
}),
|
|
644
|
+
rel: "noreferrer",
|
|
645
|
+
target: "_blank",
|
|
646
|
+
children: t("neetoMolecules.sidebar.helpLinks.requestFeature")
|
|
647
|
+
}), /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
648
|
+
"data-testid": "help-link-roadmap-button",
|
|
649
|
+
href: "".concat(performanceDiagnostics.getNeetoUrl("engage"), "/product-roadmap"),
|
|
650
|
+
prefix: /*#__PURE__*/jsxRuntime.jsx(Map, {
|
|
651
|
+
size: 18
|
|
652
|
+
}),
|
|
653
|
+
rel: "noreferrer",
|
|
654
|
+
target: "_blank",
|
|
655
|
+
children: t("neetoMolecules.sidebar.helpLinks.roadmap")
|
|
612
656
|
}), /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
613
657
|
"data-testid": "help-link-status-button",
|
|
614
658
|
href: "https://neetostatus.com/",
|
|
@@ -618,11 +662,19 @@ var HelpItems = reactUtils.withT(function (_ref) {
|
|
|
618
662
|
rel: "noreferrer",
|
|
619
663
|
target: "_blank",
|
|
620
664
|
children: t("neetoMolecules.sidebar.helpLinks.systemStatus")
|
|
665
|
+
}), performanceDiagnostics.isPerformanceDiagnosticsEnabled() && /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
666
|
+
"data-testid": "help-link-report-slowness-button",
|
|
667
|
+
prefix: /*#__PURE__*/jsxRuntime.jsx(Gauge, {
|
|
668
|
+
size: 18
|
|
669
|
+
}),
|
|
670
|
+
onClick: onReportSlowness,
|
|
671
|
+
children: t("neetoMolecules.sidebar.helpLinks.reportSlowness")
|
|
621
672
|
})]
|
|
622
673
|
});
|
|
623
674
|
});
|
|
624
675
|
|
|
625
|
-
var MobileHelpMenu = function MobileHelpMenu() {
|
|
676
|
+
var MobileHelpMenu = function MobileHelpMenu(_ref) {
|
|
677
|
+
var onReportSlowness = _ref.onReportSlowness;
|
|
626
678
|
var _useTranslation = reactI18next.useTranslation(),
|
|
627
679
|
t = _useTranslation.t;
|
|
628
680
|
var _useState = React.useState(false),
|
|
@@ -635,7 +687,7 @@ var MobileHelpMenu = function MobileHelpMenu() {
|
|
|
635
687
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.CollapsibleTrigger, {
|
|
636
688
|
asChild: true,
|
|
637
689
|
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuItem, {
|
|
638
|
-
className: classnames("group", MENU_ITEM_CLASSES),
|
|
690
|
+
className: classnames("group", useWhatsNewChangesCount.MENU_ITEM_CLASSES),
|
|
639
691
|
"data-testid": "help-menu-button",
|
|
640
692
|
onSelect: function onSelect(e) {
|
|
641
693
|
return e.preventDefault();
|
|
@@ -652,21 +704,26 @@ var MobileHelpMenu = function MobileHelpMenu() {
|
|
|
652
704
|
})
|
|
653
705
|
}), /*#__PURE__*/jsxRuntime.jsx(primitives.CollapsibleContent, {
|
|
654
706
|
className: "flex flex-col gap-0.5 ps-6 pt-1",
|
|
655
|
-
children: /*#__PURE__*/jsxRuntime.jsx(HelpItems, {
|
|
707
|
+
children: /*#__PURE__*/jsxRuntime.jsx(HelpItems, {
|
|
708
|
+
onReportSlowness: onReportSlowness
|
|
709
|
+
})
|
|
656
710
|
})]
|
|
657
711
|
});
|
|
658
712
|
};
|
|
659
713
|
|
|
660
|
-
var HelpMenu = function HelpMenu() {
|
|
714
|
+
var HelpMenu = function HelpMenu(_ref) {
|
|
715
|
+
var onReportSlowness = _ref.onReportSlowness;
|
|
661
716
|
var _useBreakpoints = useBreakpoints(),
|
|
662
717
|
isSize = _useBreakpoints.isSize;
|
|
663
718
|
var isMobile = isSize("mobile");
|
|
664
719
|
var _useTranslation = reactI18next.useTranslation(),
|
|
665
720
|
t = _useTranslation.t;
|
|
666
|
-
if (isMobile) return /*#__PURE__*/jsxRuntime.jsx(MobileHelpMenu, {
|
|
721
|
+
if (isMobile) return /*#__PURE__*/jsxRuntime.jsx(MobileHelpMenu, {
|
|
722
|
+
onReportSlowness: onReportSlowness
|
|
723
|
+
});
|
|
667
724
|
return /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuSub, {
|
|
668
725
|
children: [/*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuSubTrigger, {
|
|
669
|
-
className: MENU_ITEM_CLASSES,
|
|
726
|
+
className: useWhatsNewChangesCount.MENU_ITEM_CLASSES,
|
|
670
727
|
"data-testid": "help-menu-button",
|
|
671
728
|
children: [/*#__PURE__*/jsxRuntime.jsx(circleQuestionMark.CircleQuestionMark, {
|
|
672
729
|
className: "size-[18px]"
|
|
@@ -678,7 +735,9 @@ var HelpMenu = function HelpMenu() {
|
|
|
678
735
|
className: "z-[99999]",
|
|
679
736
|
collisionPadding: 16,
|
|
680
737
|
sideOffset: 8,
|
|
681
|
-
children: /*#__PURE__*/jsxRuntime.jsx(HelpItems, {
|
|
738
|
+
children: /*#__PURE__*/jsxRuntime.jsx(HelpItems, {
|
|
739
|
+
onReportSlowness: onReportSlowness
|
|
740
|
+
})
|
|
682
741
|
})]
|
|
683
742
|
});
|
|
684
743
|
};
|
|
@@ -796,7 +855,7 @@ var MobileOrganizationSwitcher = function MobileOrganizationSwitcher(_ref) {
|
|
|
796
855
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.CollapsibleTrigger, {
|
|
797
856
|
asChild: true,
|
|
798
857
|
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuItem, {
|
|
799
|
-
className: classnames("group", MENU_ITEM_CLASSES),
|
|
858
|
+
className: classnames("group", useWhatsNewChangesCount.MENU_ITEM_CLASSES),
|
|
800
859
|
"data-testid": "organization-switcher-button",
|
|
801
860
|
onSelect: function onSelect(e) {
|
|
802
861
|
return e.preventDefault();
|
|
@@ -839,7 +898,7 @@ var OrganizationSwitcher = function OrganizationSwitcher() {
|
|
|
839
898
|
}
|
|
840
899
|
return /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuSub, {
|
|
841
900
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSubTrigger, {
|
|
842
|
-
className: MENU_ITEM_CLASSES,
|
|
901
|
+
className: useWhatsNewChangesCount.MENU_ITEM_CLASSES,
|
|
843
902
|
"data-testid": "organization-switcher-button",
|
|
844
903
|
children: /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
845
904
|
className: "flex-1",
|
|
@@ -861,7 +920,7 @@ var Dropdown = reactUtils.withT(function (_ref) {
|
|
|
861
920
|
var t = _ref.t;
|
|
862
921
|
return /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuSub, {
|
|
863
922
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSubTrigger, {
|
|
864
|
-
className: MENU_ITEM_CLASSES,
|
|
923
|
+
className: useWhatsNewChangesCount.MENU_ITEM_CLASSES,
|
|
865
924
|
"data-testid": "product-switcher-button",
|
|
866
925
|
children: t("neetoMolecules.sidebar.productSwitcher")
|
|
867
926
|
}), /*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSubContent, {
|
|
@@ -910,7 +969,7 @@ var ProfileItems = reactUtils.withT(function (_ref) {
|
|
|
910
969
|
children: t("neetoMolecules.sidebar.myProfile")
|
|
911
970
|
}), ((_window$globalProps = window.globalProps) === null || _window$globalProps === void 0 || (_window$globalProps = _window$globalProps.user) === null || _window$globalProps === void 0 ? void 0 : _window$globalProps.isOwner) && /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
912
971
|
"data-testid": "profile-cancel-account-button",
|
|
913
|
-
href: DELETE_WORKSPACE_URL,
|
|
972
|
+
href: useWhatsNewChangesCount.DELETE_WORKSPACE_URL,
|
|
914
973
|
prefix: /*#__PURE__*/jsxRuntime.jsx(CircleX, {
|
|
915
974
|
size: 18
|
|
916
975
|
}),
|
|
@@ -970,7 +1029,7 @@ var MobileProfileExpandMenu = function MobileProfileExpandMenu(_ref) {
|
|
|
970
1029
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.CollapsibleTrigger, {
|
|
971
1030
|
asChild: true,
|
|
972
1031
|
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuItem, {
|
|
973
|
-
className: classnames("group", MENU_ITEM_CLASSES),
|
|
1032
|
+
className: classnames("group", useWhatsNewChangesCount.MENU_ITEM_CLASSES),
|
|
974
1033
|
"data-testid": "profile-expand-menu-button",
|
|
975
1034
|
onSelect: function onSelect(e) {
|
|
976
1035
|
return e.preventDefault();
|
|
@@ -1010,7 +1069,7 @@ var ProfileExpandMenu = function ProfileExpandMenu(_ref) {
|
|
|
1010
1069
|
}
|
|
1011
1070
|
return /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuSub, {
|
|
1012
1071
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSubTrigger, {
|
|
1013
|
-
className: classnames("group items-center", MENU_ITEM_CLASSES),
|
|
1072
|
+
className: classnames("group items-center", useWhatsNewChangesCount.MENU_ITEM_CLASSES),
|
|
1014
1073
|
"data-testid": "profile-expand-menu-button",
|
|
1015
1074
|
children: /*#__PURE__*/jsxRuntime.jsx(ProfileHeader, {
|
|
1016
1075
|
profileInfo: profileInfo
|
|
@@ -1074,30 +1133,30 @@ var getProfileInfo = function getProfileInfo(profileInfoOverrides, isConsumer) {
|
|
|
1074
1133
|
// Theme switcher utils.
|
|
1075
1134
|
var setDarkTheme = function setDarkTheme() {
|
|
1076
1135
|
if (!document.body) return;
|
|
1077
|
-
document.body.classList.remove(THEMES.LIGHT, LEGACY_THEMES.LIGHT);
|
|
1078
|
-
document.body.classList.add(THEMES.DARK, LEGACY_THEMES.DARK);
|
|
1136
|
+
document.body.classList.remove(useWhatsNewChangesCount.THEMES.LIGHT, useWhatsNewChangesCount.LEGACY_THEMES.LIGHT);
|
|
1137
|
+
document.body.classList.add(useWhatsNewChangesCount.THEMES.DARK, useWhatsNewChangesCount.LEGACY_THEMES.DARK);
|
|
1079
1138
|
};
|
|
1080
1139
|
var setLightTheme = function setLightTheme() {
|
|
1081
1140
|
if (!document.body) return;
|
|
1082
|
-
document.body.classList.remove(THEMES.DARK, LEGACY_THEMES.DARK);
|
|
1083
|
-
document.body.classList.add(THEMES.LIGHT, LEGACY_THEMES.LIGHT);
|
|
1141
|
+
document.body.classList.remove(useWhatsNewChangesCount.THEMES.DARK, useWhatsNewChangesCount.LEGACY_THEMES.DARK);
|
|
1142
|
+
document.body.classList.add(useWhatsNewChangesCount.THEMES.LIGHT, useWhatsNewChangesCount.LEGACY_THEMES.LIGHT);
|
|
1084
1143
|
};
|
|
1085
1144
|
var setAppTheme = function setAppTheme() {
|
|
1086
|
-
var storedTheme = utils.getFromLocalStorage(APP_THEME_LOCALSTORAGE_KEY);
|
|
1087
|
-
var isDarkTheme = storedTheme === THEMES.DARK || storedTheme === LEGACY_THEMES.DARK;
|
|
1145
|
+
var storedTheme = utils.getFromLocalStorage(useWhatsNewChangesCount.APP_THEME_LOCALSTORAGE_KEY);
|
|
1146
|
+
var isDarkTheme = storedTheme === useWhatsNewChangesCount.THEMES.DARK || storedTheme === useWhatsNewChangesCount.LEGACY_THEMES.DARK;
|
|
1088
1147
|
isDarkTheme ? setDarkTheme() : setLightTheme();
|
|
1089
1148
|
};
|
|
1090
1149
|
|
|
1091
1150
|
var ThemeSwitcher = function ThemeSwitcher() {
|
|
1092
1151
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1093
1152
|
t = _useTranslation.t;
|
|
1094
|
-
var _useLocalStorage = useLocalStorage(APP_THEME_LOCALSTORAGE_KEY, THEMES.LIGHT),
|
|
1153
|
+
var _useLocalStorage = useLocalStorage(useWhatsNewChangesCount.APP_THEME_LOCALSTORAGE_KEY, useWhatsNewChangesCount.THEMES.LIGHT),
|
|
1095
1154
|
_useLocalStorage2 = _slicedToArray(_useLocalStorage, 2),
|
|
1096
1155
|
appTheme = _useLocalStorage2[0],
|
|
1097
1156
|
setAppTheme = _useLocalStorage2[1];
|
|
1098
|
-
var isDarkThemeSelected = appTheme === THEMES.DARK || appTheme === LEGACY_THEMES.DARK;
|
|
1157
|
+
var isDarkThemeSelected = appTheme === useWhatsNewChangesCount.THEMES.DARK || appTheme === useWhatsNewChangesCount.LEGACY_THEMES.DARK;
|
|
1099
1158
|
var switchTheme = function switchTheme(theme) {
|
|
1100
|
-
theme === THEMES.LIGHT ? setLightTheme() : setDarkTheme();
|
|
1159
|
+
theme === useWhatsNewChangesCount.THEMES.LIGHT ? setLightTheme() : setDarkTheme();
|
|
1101
1160
|
setAppTheme(theme);
|
|
1102
1161
|
};
|
|
1103
1162
|
return /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
@@ -1122,34 +1181,34 @@ var ThemeSwitcher = function ThemeSwitcher() {
|
|
|
1122
1181
|
asChild: true,
|
|
1123
1182
|
onSelect: function onSelect(e) {
|
|
1124
1183
|
e.preventDefault();
|
|
1125
|
-
switchTheme(THEMES.LIGHT);
|
|
1184
|
+
switchTheme(useWhatsNewChangesCount.THEMES.LIGHT);
|
|
1126
1185
|
},
|
|
1127
1186
|
children: /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
1128
1187
|
"aria-checked": !isDarkThemeSelected,
|
|
1129
1188
|
"data-testid": "theme-switcher-light-button",
|
|
1130
1189
|
role: "menuitemradio",
|
|
1131
1190
|
type: "button",
|
|
1132
|
-
className: classnames(THEME_BUTTON_BASE, isDarkThemeSelected ? "text-muted-foreground hover:text-foreground" : "text-foreground"),
|
|
1191
|
+
className: classnames(useWhatsNewChangesCount.THEME_BUTTON_BASE, isDarkThemeSelected ? "text-muted-foreground hover:text-foreground" : "text-foreground"),
|
|
1133
1192
|
children: [/*#__PURE__*/jsxRuntime.jsx(Sun, {
|
|
1134
1193
|
size: 13,
|
|
1135
|
-
className: classnames(THEME_ICON_BASE, isDarkThemeSelected ? "scale-90 -rotate-45" : "rotate-0")
|
|
1194
|
+
className: classnames(useWhatsNewChangesCount.THEME_ICON_BASE, isDarkThemeSelected ? "scale-90 -rotate-45" : "rotate-0")
|
|
1136
1195
|
}), t("neetoMolecules.sidebar.themeSwitcher.light")]
|
|
1137
1196
|
})
|
|
1138
1197
|
}), /*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuItem, {
|
|
1139
1198
|
asChild: true,
|
|
1140
1199
|
onSelect: function onSelect(e) {
|
|
1141
1200
|
e.preventDefault();
|
|
1142
|
-
switchTheme(THEMES.DARK);
|
|
1201
|
+
switchTheme(useWhatsNewChangesCount.THEMES.DARK);
|
|
1143
1202
|
},
|
|
1144
1203
|
children: /*#__PURE__*/jsxRuntime.jsxs("button", {
|
|
1145
1204
|
"aria-checked": isDarkThemeSelected,
|
|
1146
1205
|
"data-testid": "theme-switcher-dark-button",
|
|
1147
1206
|
role: "menuitemradio",
|
|
1148
1207
|
type: "button",
|
|
1149
|
-
className: classnames(THEME_BUTTON_BASE, isDarkThemeSelected ? "text-foreground" : "text-muted-foreground hover:text-foreground"),
|
|
1208
|
+
className: classnames(useWhatsNewChangesCount.THEME_BUTTON_BASE, isDarkThemeSelected ? "text-foreground" : "text-muted-foreground hover:text-foreground"),
|
|
1150
1209
|
children: [/*#__PURE__*/jsxRuntime.jsx(Moon, {
|
|
1151
1210
|
size: 13,
|
|
1152
|
-
className: classnames(THEME_ICON_BASE, isDarkThemeSelected ? "rotate-0" : "scale-90 rotate-45")
|
|
1211
|
+
className: classnames(useWhatsNewChangesCount.THEME_ICON_BASE, isDarkThemeSelected ? "rotate-0" : "scale-90 rotate-45")
|
|
1153
1212
|
}), t("neetoMolecules.sidebar.themeSwitcher.dark")]
|
|
1154
1213
|
})
|
|
1155
1214
|
})]
|
|
@@ -1186,13 +1245,13 @@ var WorkspaceItems = reactUtils.withT(function (_ref) {
|
|
|
1186
1245
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
1187
1246
|
children: [/*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
1188
1247
|
"data-testid": "profile-organization-settings-button",
|
|
1189
|
-
href: MY_ORGANIZATION_URL,
|
|
1248
|
+
href: useWhatsNewChangesCount.MY_ORGANIZATION_URL,
|
|
1190
1249
|
rel: "noreferrer",
|
|
1191
1250
|
target: "_blank",
|
|
1192
1251
|
children: t("neetoMolecules.sidebar.workspaceMenu.settings")
|
|
1193
1252
|
}), /*#__PURE__*/jsxRuntime.jsx(MenuItem, {
|
|
1194
1253
|
"data-testid": "profile-organization-billing-button",
|
|
1195
|
-
href: BILLING_URL,
|
|
1254
|
+
href: useWhatsNewChangesCount.BILLING_URL,
|
|
1196
1255
|
children: t("neetoMolecules.sidebar.workspaceMenu.billing")
|
|
1197
1256
|
}), ((_globalProps$organiza = initializers.globalProps.organization) === null || _globalProps$organiza === void 0 ? void 0 : _globalProps$organiza.subdomain) && /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
1198
1257
|
className: "border-border my-1 border-t"
|
|
@@ -1239,7 +1298,7 @@ var MobileWorkspaceMenu = function MobileWorkspaceMenu() {
|
|
|
1239
1298
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.CollapsibleTrigger, {
|
|
1240
1299
|
asChild: true,
|
|
1241
1300
|
children: /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuItem, {
|
|
1242
|
-
className: classnames("group items-center", MENU_ITEM_CLASSES),
|
|
1301
|
+
className: classnames("group items-center", useWhatsNewChangesCount.MENU_ITEM_CLASSES),
|
|
1243
1302
|
"data-testid": "workspace-display",
|
|
1244
1303
|
onSelect: function onSelect(e) {
|
|
1245
1304
|
return e.preventDefault();
|
|
@@ -1263,7 +1322,7 @@ var WorkspaceMenu = function WorkspaceMenu() {
|
|
|
1263
1322
|
if (isMobile) return /*#__PURE__*/jsxRuntime.jsx(MobileWorkspaceMenu, {});
|
|
1264
1323
|
return /*#__PURE__*/jsxRuntime.jsxs(primitives.DropdownMenuSub, {
|
|
1265
1324
|
children: [/*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSubTrigger, {
|
|
1266
|
-
className: classnames("group items-center", MENU_ITEM_CLASSES),
|
|
1325
|
+
className: classnames("group items-center", useWhatsNewChangesCount.MENU_ITEM_CLASSES),
|
|
1267
1326
|
"data-testid": "workspace-display",
|
|
1268
1327
|
children: /*#__PURE__*/jsxRuntime.jsx(TriggerContent, {})
|
|
1269
1328
|
}), /*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSubContent, {
|
|
@@ -1290,33 +1349,35 @@ var ProfileMenu = function ProfileMenu(_ref) {
|
|
|
1290
1349
|
isOrganizationSwitcherEnabled = _ref.isOrganizationSwitcherEnabled,
|
|
1291
1350
|
isConsumer = _ref.isConsumer,
|
|
1292
1351
|
enableSubscriptionUpgradeRequest = _ref.enableSubscriptionUpgradeRequest,
|
|
1293
|
-
openUpgradeModal = _ref.openUpgradeModal
|
|
1352
|
+
openUpgradeModal = _ref.openUpgradeModal,
|
|
1353
|
+
onReportSlowness = _ref.onReportSlowness;
|
|
1294
1354
|
var isAuthenticated = profileInfo.isAuthenticated;
|
|
1295
1355
|
var _useTranslation = reactI18next.useTranslation(),
|
|
1296
1356
|
t = _useTranslation.t;
|
|
1297
|
-
|
|
1298
|
-
|
|
1357
|
+
|
|
1358
|
+
// A paid plan can be named more than one thing, so the badge follows the
|
|
1359
|
+
// isPro flag the backend sends alongside the plan; the plan name is display
|
|
1360
|
+
// text only.
|
|
1361
|
+
var isPro = Boolean((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.isPro);
|
|
1299
1362
|
var isOwner = (_globalProps$user2 = globalProps.user) === null || _globalProps$user2 === void 0 ? void 0 : _globalProps$user2.isOwner;
|
|
1300
|
-
var showUpgradeModal =
|
|
1363
|
+
var showUpgradeModal = !isPro && enableSubscriptionUpgradeRequest && !isOwner;
|
|
1301
1364
|
var getSubscriptionPlanAction = function getSubscriptionPlanAction() {
|
|
1302
1365
|
if (showUpgradeModal) return {
|
|
1303
1366
|
onClick: openUpgradeModal
|
|
1304
1367
|
};
|
|
1305
|
-
if (
|
|
1306
|
-
var _globalProps$organiza;
|
|
1368
|
+
if (!isPro && isOwner && enableSubscriptionUpgradeRequest) {
|
|
1307
1369
|
return {
|
|
1308
|
-
href:
|
|
1370
|
+
href: performanceDiagnostics.getProductBillingUrl()
|
|
1309
1371
|
};
|
|
1310
1372
|
}
|
|
1311
1373
|
return {
|
|
1312
|
-
href: NEETO_AUTH_BILLING_INFO_URL
|
|
1374
|
+
href: useWhatsNewChangesCount.NEETO_AUTH_BILLING_INFO_URL
|
|
1313
1375
|
};
|
|
1314
1376
|
};
|
|
1315
|
-
var isProPlan = normalizedPlan === "pro";
|
|
1316
1377
|
var subscriptionPlanLink = _objectSpread$2({
|
|
1317
1378
|
label: /*#__PURE__*/jsxRuntime.jsxs("span", {
|
|
1318
1379
|
className: "flex items-center gap-2",
|
|
1319
|
-
children: [globalProps.appName,
|
|
1380
|
+
children: [globalProps.appName, isPro ? /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Badge, {
|
|
1320
1381
|
label: neetoCist.humanize((_globalProps$user3 = globalProps.user) === null || _globalProps$user3 === void 0 ? void 0 : _globalProps$user3.subscriptionPlan),
|
|
1321
1382
|
style: {
|
|
1322
1383
|
"--accent-foreground": "var(--color-amber-950)"
|
|
@@ -1360,7 +1421,9 @@ var ProfileMenu = function ProfileMenu(_ref) {
|
|
|
1360
1421
|
links: [subscriptionPlanLink]
|
|
1361
1422
|
}), showProductSwitcher && /*#__PURE__*/jsxRuntime.jsx(ProductSwitcher, {
|
|
1362
1423
|
toggleModal: toggleModal
|
|
1363
|
-
}), /*#__PURE__*/jsxRuntime.jsx(HelpMenu, {
|
|
1424
|
+
}), /*#__PURE__*/jsxRuntime.jsx(HelpMenu, {
|
|
1425
|
+
onReportSlowness: onReportSlowness
|
|
1426
|
+
}), /*#__PURE__*/jsxRuntime.jsx(primitives.DropdownMenuSeparator, {
|
|
1364
1427
|
className: "my-2"
|
|
1365
1428
|
})]
|
|
1366
1429
|
}), isAuthenticated && !isConsumer && /*#__PURE__*/jsxRuntime.jsx(ProfileExpandMenu, {
|
|
@@ -1375,6 +1438,103 @@ var ProfileMenu = function ProfileMenu(_ref) {
|
|
|
1375
1438
|
});
|
|
1376
1439
|
};
|
|
1377
1440
|
|
|
1441
|
+
function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = false, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = true, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), true), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
|
|
1442
|
+
function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
|
|
1443
|
+
var ReportSlownessModal = function ReportSlownessModal(_ref) {
|
|
1444
|
+
var reportedAt = _ref.reportedAt,
|
|
1445
|
+
onClose = _ref.onClose;
|
|
1446
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
1447
|
+
t = _useTranslation.t;
|
|
1448
|
+
var _useState = React.useState(""),
|
|
1449
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
1450
|
+
description = _useState2[0],
|
|
1451
|
+
setDescription = _useState2[1];
|
|
1452
|
+
var _useState3 = React.useState(false),
|
|
1453
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
1454
|
+
isSubmitting = _useState4[0],
|
|
1455
|
+
setIsSubmitting = _useState4[1];
|
|
1456
|
+
var handleClose = function handleClose() {
|
|
1457
|
+
setDescription("");
|
|
1458
|
+
onClose();
|
|
1459
|
+
};
|
|
1460
|
+
var handleSubmit = /*#__PURE__*/function () {
|
|
1461
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
|
|
1462
|
+
var report;
|
|
1463
|
+
return _regenerator().w(function (_context) {
|
|
1464
|
+
while (1) switch (_context.n) {
|
|
1465
|
+
case 0:
|
|
1466
|
+
setIsSubmitting(true);
|
|
1467
|
+
_context.n = 1;
|
|
1468
|
+
return performanceDiagnostics.reportSlowness({
|
|
1469
|
+
description: description.trim(),
|
|
1470
|
+
reportedAt: reportedAt
|
|
1471
|
+
});
|
|
1472
|
+
case 1:
|
|
1473
|
+
report = _context.v;
|
|
1474
|
+
setIsSubmitting(false);
|
|
1475
|
+
if (report) {
|
|
1476
|
+
_context.n = 2;
|
|
1477
|
+
break;
|
|
1478
|
+
}
|
|
1479
|
+
neetoAtoms.Toastr.error(t("neetoMolecules.reportSlowness.error"));
|
|
1480
|
+
return _context.a(2);
|
|
1481
|
+
case 2:
|
|
1482
|
+
neetoAtoms.Toastr.success(t("neetoMolecules.reportSlowness.success"), report.replay_url ? {
|
|
1483
|
+
buttonLabel: t("neetoMolecules.reportSlowness.viewReplay"),
|
|
1484
|
+
onClick: function onClick() {
|
|
1485
|
+
return window.open(report.replay_url, "_blank", "noopener,noreferrer");
|
|
1486
|
+
}
|
|
1487
|
+
} : {});
|
|
1488
|
+
handleClose();
|
|
1489
|
+
case 3:
|
|
1490
|
+
return _context.a(2);
|
|
1491
|
+
}
|
|
1492
|
+
}, _callee);
|
|
1493
|
+
}));
|
|
1494
|
+
return function handleSubmit() {
|
|
1495
|
+
return _ref2.apply(this, arguments);
|
|
1496
|
+
};
|
|
1497
|
+
}();
|
|
1498
|
+
return /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog, {
|
|
1499
|
+
"aria-describedby": undefined,
|
|
1500
|
+
closeOnEsc: !isSubmitting,
|
|
1501
|
+
closeOnOutsideClick: !isSubmitting,
|
|
1502
|
+
isOpen: Boolean(reportedAt),
|
|
1503
|
+
onClose: handleClose,
|
|
1504
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Header, {
|
|
1505
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Title, {
|
|
1506
|
+
children: t("neetoMolecules.reportSlowness.title")
|
|
1507
|
+
})
|
|
1508
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Dialog.Body, {
|
|
1509
|
+
children: /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Textarea, {
|
|
1510
|
+
dataTestId: "report-slowness-description",
|
|
1511
|
+
label: t("neetoMolecules.reportSlowness.descriptionLabel"),
|
|
1512
|
+
maxLength: useWhatsNewChangesCount.SLOWNESS_DESCRIPTION_MAX_LENGTH,
|
|
1513
|
+
value: description,
|
|
1514
|
+
placeholder: t("neetoMolecules.reportSlowness.descriptionPlaceholder"),
|
|
1515
|
+
onChange: function onChange(e) {
|
|
1516
|
+
return setDescription(e.target.value);
|
|
1517
|
+
}
|
|
1518
|
+
})
|
|
1519
|
+
}), /*#__PURE__*/jsxRuntime.jsxs(neetoAtoms.Dialog.Footer, {
|
|
1520
|
+
className: "flex gap-x-2",
|
|
1521
|
+
children: [/*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
1522
|
+
"data-testid": "report-slowness-cancel-button",
|
|
1523
|
+
disabled: isSubmitting,
|
|
1524
|
+
label: t("neetoMolecules.reportSlowness.cancel"),
|
|
1525
|
+
variant: "secondary",
|
|
1526
|
+
onClick: handleClose
|
|
1527
|
+
}), /*#__PURE__*/jsxRuntime.jsx(neetoAtoms.Button, {
|
|
1528
|
+
"data-testid": "report-slowness-submit-button",
|
|
1529
|
+
disabled: isSubmitting,
|
|
1530
|
+
label: t("neetoMolecules.reportSlowness.submit"),
|
|
1531
|
+
loading: isSubmitting,
|
|
1532
|
+
onClick: handleSubmit
|
|
1533
|
+
})]
|
|
1534
|
+
})]
|
|
1535
|
+
});
|
|
1536
|
+
};
|
|
1537
|
+
|
|
1378
1538
|
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; }
|
|
1379
1539
|
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; }
|
|
1380
1540
|
var ProfileButton = function ProfileButton(_ref) {
|
|
@@ -1403,8 +1563,9 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
1403
1563
|
setIsMenuOpen = _useState6[1];
|
|
1404
1564
|
var _useState7 = React.useState(null),
|
|
1405
1565
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
1406
|
-
|
|
1407
|
-
|
|
1566
|
+
slownessReportedAt = _useState8[0],
|
|
1567
|
+
setSlownessReportedAt = _useState8[1];
|
|
1568
|
+
var changesCount = useWhatsNewChangesCount.useWhatsNewChangesCount();
|
|
1408
1569
|
var _KeyboardShortcuts$us = v2_KeyboardShortcuts.usePaneState(),
|
|
1409
1570
|
_KeyboardShortcuts$us2 = _slicedToArray(_KeyboardShortcuts$us, 2),
|
|
1410
1571
|
setIsOpen = _KeyboardShortcuts$us2[1];
|
|
@@ -1414,21 +1575,9 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
1414
1575
|
mode: "global"
|
|
1415
1576
|
});
|
|
1416
1577
|
var profileInfo = getProfileInfo(profileInfoOverrides, isConsumer);
|
|
1417
|
-
React.useEffect(function () {
|
|
1418
|
-
var Nv = {
|
|
1419
|
-
onReceiveData: function onReceiveData(data) {
|
|
1420
|
-
if (!data.unreadCount) return;
|
|
1421
|
-
setChangesCount(data.unreadCount);
|
|
1422
|
-
},
|
|
1423
|
-
onShow: function onShow() {
|
|
1424
|
-
setChangesCount(null);
|
|
1425
|
-
}
|
|
1426
|
-
};
|
|
1427
|
-
window.Nv = window.Nv ? Object.assign(window.Nv, Nv) : Nv;
|
|
1428
|
-
}, []);
|
|
1429
1578
|
var newBottomLinks = [].concat(_toConsumableArray(getDefaultBottomLinks(profileInfo.isAuthenticated, isConsumer)), _toConsumableArray(bottomLinks));
|
|
1430
|
-
var defaultLinks = Object.keys(DEFAULT_MENU_LINK_PROPS).map(function (key) {
|
|
1431
|
-
return _objectSpread$1(_objectSpread$1(_objectSpread$1({}, DEFAULT_MENU_LINK_PROPS[key]), key === "keyboardShortcutProps" && {
|
|
1579
|
+
var defaultLinks = Object.keys(useWhatsNewChangesCount.DEFAULT_MENU_LINK_PROPS).map(function (key) {
|
|
1580
|
+
return _objectSpread$1(_objectSpread$1(_objectSpread$1({}, useWhatsNewChangesCount.DEFAULT_MENU_LINK_PROPS[key]), key === "keyboardShortcutProps" && {
|
|
1432
1581
|
onClick: function onClick() {
|
|
1433
1582
|
return setIsOpen(function (prev) {
|
|
1434
1583
|
return !prev;
|
|
@@ -1491,13 +1640,21 @@ var ProfileButton = function ProfileButton(_ref) {
|
|
|
1491
1640
|
openUpgradeModal: function openUpgradeModal() {
|
|
1492
1641
|
return setIsUpgradeModalOpen(true);
|
|
1493
1642
|
},
|
|
1494
|
-
toggleModal: setIsModalOpen
|
|
1643
|
+
toggleModal: setIsModalOpen,
|
|
1644
|
+
onReportSlowness: function onReportSlowness() {
|
|
1645
|
+
return setSlownessReportedAt(Date.now());
|
|
1646
|
+
}
|
|
1495
1647
|
})
|
|
1496
1648
|
})]
|
|
1497
1649
|
}), neetoCist.isPresent(changesCount) && /*#__PURE__*/jsxRuntime.jsx("span", {
|
|
1498
1650
|
className: "bg-foreground text-background pointer-events-none absolute end-0 top-0 z-[3] flex h-[0.9375rem] min-w-[0.9375rem] items-center justify-center rounded-full border border-white px-1 text-[10px] select-none",
|
|
1499
1651
|
"data-testid": "help-icon-changes-count",
|
|
1500
1652
|
children: changesCount
|
|
1653
|
+
}), /*#__PURE__*/jsxRuntime.jsx(ReportSlownessModal, {
|
|
1654
|
+
reportedAt: slownessReportedAt,
|
|
1655
|
+
onClose: function onClose() {
|
|
1656
|
+
return setSlownessReportedAt(null);
|
|
1657
|
+
}
|
|
1501
1658
|
}), /*#__PURE__*/jsxRuntime.jsx(Modal, {
|
|
1502
1659
|
isOpen: isModalOpen,
|
|
1503
1660
|
onClose: function onClose() {
|