@bigbinary/neeto-molecules 1.19.10 → 1.19.11

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 (262) hide show
  1. package/README.md +0 -2
  2. package/dist/Breadcrumbs.js +1 -1
  3. package/dist/Builder.js +5 -1
  4. package/dist/Builder.js.map +1 -1
  5. package/dist/CalendarView.js +8 -2
  6. package/dist/CalendarView.js.map +1 -1
  7. package/dist/{Chevron-c639aa31.js → Chevron-fe44fbdd.js} +2 -2
  8. package/dist/{Chevron-c639aa31.js.map → Chevron-fe44fbdd.js.map} +1 -1
  9. package/dist/Codeblock.js +1 -1
  10. package/dist/Columns.js +6 -2
  11. package/dist/Columns.js.map +1 -1
  12. package/dist/ConfigurePageSidebar.js +3 -2
  13. package/dist/ConfigurePageSidebar.js.map +1 -1
  14. package/dist/ConfirmationModal.js +5 -2
  15. package/dist/ConfirmationModal.js.map +1 -1
  16. package/dist/CopyToClipboardButton.js +1 -1
  17. package/dist/Currency.js +2 -2
  18. package/dist/CustomDomain.js +13 -3
  19. package/dist/CustomDomain.js.map +1 -1
  20. package/dist/CustomDomainDashboard.js +16 -4
  21. package/dist/CustomDomainDashboard.js.map +1 -1
  22. package/dist/DateFormat.js +2 -1
  23. package/dist/DateFormat.js.map +1 -1
  24. package/dist/DateRangeFilter.js +2 -1
  25. package/dist/DateRangeFilter.js.map +1 -1
  26. package/dist/DeleteArchiveModal.js +4 -1
  27. package/dist/DeleteArchiveModal.js.map +1 -1
  28. package/dist/DocumentEditor.js +2 -2
  29. package/dist/DownloadMobileAppCallout.js +1 -1
  30. package/dist/DynamicVariables.js +2 -1
  31. package/dist/DynamicVariables.js.map +1 -1
  32. package/dist/EmailForm.js +13 -2
  33. package/dist/EmailForm.js.map +1 -1
  34. package/dist/EmailPreview.js +2 -1
  35. package/dist/EmailPreview.js.map +1 -1
  36. package/dist/EmojiPicker.js +1 -1
  37. package/dist/EmojiReactions.js +2 -1
  38. package/dist/EmojiReactions.js.map +1 -1
  39. package/dist/ErrorPage.js +2 -1
  40. package/dist/ErrorPage.js.map +1 -1
  41. package/dist/FloatingActionMenu.js +8 -1
  42. package/dist/FloatingActionMenu.js.map +1 -1
  43. package/dist/Header.js +5 -1
  44. package/dist/Header.js.map +1 -1
  45. package/dist/HelpPopover.js +3 -1
  46. package/dist/HelpPopover.js.map +1 -1
  47. package/dist/IconPicker.js +6 -1
  48. package/dist/IconPicker.js.map +1 -1
  49. package/dist/InlineInput.js +2 -1
  50. package/dist/InlineInput.js.map +1 -1
  51. package/dist/Insights.js +6 -1
  52. package/dist/Insights.js.map +1 -1
  53. package/dist/IntegrationCard.js +6 -1
  54. package/dist/IntegrationCard.js.map +1 -1
  55. package/dist/IntegrationDisconnectAlert.js +1 -1
  56. package/dist/IntegrationWalkthroughModal.js +3 -1
  57. package/dist/IntegrationWalkthroughModal.js.map +1 -1
  58. package/dist/IpRestriction.js +10 -2
  59. package/dist/IpRestriction.js.map +1 -1
  60. package/dist/KeyboardShortcuts.js +3 -1
  61. package/dist/KeyboardShortcuts.js.map +1 -1
  62. package/dist/LoginPage.js +5 -2
  63. package/dist/LoginPage.js.map +1 -1
  64. package/dist/MenuBar.js +3 -1
  65. package/dist/MenuBar.js.map +1 -1
  66. package/dist/Metadata.js +2 -1
  67. package/dist/Metadata.js.map +1 -1
  68. package/dist/MoreDropdown.js +3 -1
  69. package/dist/MoreDropdown.js.map +1 -1
  70. package/dist/NavigationHeader.js +6 -1
  71. package/dist/NavigationHeader.js.map +1 -1
  72. package/dist/NeetoWidget.js +11 -2
  73. package/dist/NeetoWidget.js.map +1 -1
  74. package/dist/Onboarding.js +3 -1
  75. package/dist/Onboarding.js.map +1 -1
  76. package/dist/OptionFields.js +5 -1
  77. package/dist/OptionFields.js.map +1 -1
  78. package/dist/PageLoader.js +1 -1
  79. package/dist/PhoneNumber.js +4 -1
  80. package/dist/PhoneNumber.js.map +1 -1
  81. package/dist/ProductEmbed.js +11 -1
  82. package/dist/ProductEmbed.js.map +1 -1
  83. package/dist/PublishBlock.js +3 -1
  84. package/dist/PublishBlock.js.map +1 -1
  85. package/dist/PublishYourItem.js +1 -1
  86. package/dist/Rename.js +5 -1
  87. package/dist/Rename.js.map +1 -1
  88. package/dist/ResponsiveDevicePicker.js +1 -1
  89. package/dist/Schedule.js +8 -2
  90. package/dist/Schedule.js.map +1 -1
  91. package/dist/Search.js +1 -1
  92. package/dist/SendToFields.js +6 -2
  93. package/dist/SendToFields.js.map +1 -1
  94. package/dist/Settings.js +7 -1
  95. package/dist/Settings.js.map +1 -1
  96. package/dist/ShareRecordingPane.js +7 -1
  97. package/dist/ShareRecordingPane.js.map +1 -1
  98. package/dist/ShareViaEmail.js +12 -2
  99. package/dist/ShareViaEmail.js.map +1 -1
  100. package/dist/ShareViaLink.js +9 -2
  101. package/dist/ShareViaLink.js.map +1 -1
  102. package/dist/Sidebar.js +3 -2
  103. package/dist/Sidebar.js.map +1 -1
  104. package/dist/StickyRibbonsContainer.js +1 -1
  105. package/dist/SubHeader.js +7 -2
  106. package/dist/SubHeader.js.map +1 -1
  107. package/dist/SuffixedInput.js +2 -2
  108. package/dist/Taxonomy.js +16 -3
  109. package/dist/Taxonomy.js.map +1 -1
  110. package/dist/TimeFormat.js +2 -1
  111. package/dist/TimeFormat.js.map +1 -1
  112. package/dist/TimezoneMismatchModal.js +3 -1
  113. package/dist/TimezoneMismatchModal.js.map +1 -1
  114. package/dist/ToggleFeatureCard.js +6 -2
  115. package/dist/ToggleFeatureCard.js.map +1 -1
  116. package/dist/cjs/Breadcrumbs.js +3 -2
  117. package/dist/cjs/Breadcrumbs.js.map +1 -1
  118. package/dist/cjs/Builder.js +21 -14
  119. package/dist/cjs/Builder.js.map +1 -1
  120. package/dist/cjs/CalendarView.js +22 -12
  121. package/dist/cjs/CalendarView.js.map +1 -1
  122. package/dist/cjs/{Chevron-5fe59f57.js → Chevron-37ef38ee.js} +6 -5
  123. package/dist/cjs/{Chevron-5fe59f57.js.map → Chevron-37ef38ee.js.map} +1 -1
  124. package/dist/cjs/Codeblock.js +1 -1
  125. package/dist/cjs/Columns.js +6 -2
  126. package/dist/cjs/Columns.js.map +1 -1
  127. package/dist/cjs/ConfigurePageSidebar.js +5 -3
  128. package/dist/cjs/ConfigurePageSidebar.js.map +1 -1
  129. package/dist/cjs/ConfirmationModal.js +17 -9
  130. package/dist/cjs/ConfirmationModal.js.map +1 -1
  131. package/dist/cjs/CopyToClipboardButton.js +3 -2
  132. package/dist/cjs/CopyToClipboardButton.js.map +1 -1
  133. package/dist/cjs/Currency.js +6 -4
  134. package/dist/cjs/Currency.js.map +1 -1
  135. package/dist/cjs/CustomDomain.js +19 -6
  136. package/dist/cjs/CustomDomain.js.map +1 -1
  137. package/dist/cjs/CustomDomainDashboard.js +25 -9
  138. package/dist/cjs/CustomDomainDashboard.js.map +1 -1
  139. package/dist/cjs/DateFormat.js +6 -3
  140. package/dist/cjs/DateFormat.js.map +1 -1
  141. package/dist/cjs/DateRangeFilter.js +6 -3
  142. package/dist/cjs/DateRangeFilter.js.map +1 -1
  143. package/dist/cjs/DeleteArchiveModal.js +15 -8
  144. package/dist/cjs/DeleteArchiveModal.js.map +1 -1
  145. package/dist/cjs/DocumentEditor.js +6 -4
  146. package/dist/cjs/DocumentEditor.js.map +1 -1
  147. package/dist/cjs/DownloadMobileAppCallout.js +3 -2
  148. package/dist/cjs/DownloadMobileAppCallout.js.map +1 -1
  149. package/dist/cjs/DynamicVariables.js +7 -4
  150. package/dist/cjs/DynamicVariables.js.map +1 -1
  151. package/dist/cjs/EmailForm.js +29 -11
  152. package/dist/cjs/EmailForm.js.map +1 -1
  153. package/dist/cjs/EmailPreview.js +12 -9
  154. package/dist/cjs/EmailPreview.js.map +1 -1
  155. package/dist/cjs/EmojiPicker.js +3 -2
  156. package/dist/cjs/EmojiPicker.js.map +1 -1
  157. package/dist/cjs/EmojiReactions.js +6 -3
  158. package/dist/cjs/EmojiReactions.js.map +1 -1
  159. package/dist/cjs/ErrorPage.js +8 -5
  160. package/dist/cjs/ErrorPage.js.map +1 -1
  161. package/dist/cjs/FloatingActionMenu.js +40 -27
  162. package/dist/cjs/FloatingActionMenu.js.map +1 -1
  163. package/dist/cjs/Header.js +7 -2
  164. package/dist/cjs/Header.js.map +1 -1
  165. package/dist/cjs/HelpPopover.js +11 -6
  166. package/dist/cjs/HelpPopover.js.map +1 -1
  167. package/dist/cjs/IconPicker.js +20 -9
  168. package/dist/cjs/IconPicker.js.map +1 -1
  169. package/dist/cjs/InlineInput.js +7 -4
  170. package/dist/cjs/InlineInput.js.map +1 -1
  171. package/dist/cjs/Insights.js +18 -11
  172. package/dist/cjs/Insights.js.map +1 -1
  173. package/dist/cjs/IntegrationCard.js +18 -8
  174. package/dist/cjs/IntegrationCard.js.map +1 -1
  175. package/dist/cjs/IntegrationDisconnectAlert.js +3 -2
  176. package/dist/cjs/IntegrationDisconnectAlert.js.map +1 -1
  177. package/dist/cjs/IntegrationWalkthroughModal.js +10 -5
  178. package/dist/cjs/IntegrationWalkthroughModal.js.map +1 -1
  179. package/dist/cjs/IpRestriction.js +43 -25
  180. package/dist/cjs/IpRestriction.js.map +1 -1
  181. package/dist/cjs/KeyboardShortcuts.js +13 -8
  182. package/dist/cjs/KeyboardShortcuts.js.map +1 -1
  183. package/dist/cjs/LoginPage.js +21 -13
  184. package/dist/cjs/LoginPage.js.map +1 -1
  185. package/dist/cjs/MenuBar.js +15 -10
  186. package/dist/cjs/MenuBar.js.map +1 -1
  187. package/dist/cjs/Metadata.js +10 -7
  188. package/dist/cjs/Metadata.js.map +1 -1
  189. package/dist/cjs/MoreDropdown.js +14 -9
  190. package/dist/cjs/MoreDropdown.js.map +1 -1
  191. package/dist/cjs/NavigationHeader.js +10 -3
  192. package/dist/cjs/NavigationHeader.js.map +1 -1
  193. package/dist/cjs/NeetoWidget.js +52 -32
  194. package/dist/cjs/NeetoWidget.js.map +1 -1
  195. package/dist/cjs/Onboarding.js +16 -11
  196. package/dist/cjs/Onboarding.js.map +1 -1
  197. package/dist/cjs/OptionFields.js +25 -16
  198. package/dist/cjs/OptionFields.js.map +1 -1
  199. package/dist/cjs/PageLoader.js +3 -2
  200. package/dist/cjs/PageLoader.js.map +1 -1
  201. package/dist/cjs/PhoneNumber.js +13 -6
  202. package/dist/cjs/PhoneNumber.js.map +1 -1
  203. package/dist/cjs/ProductEmbed.js +53 -32
  204. package/dist/cjs/ProductEmbed.js.map +1 -1
  205. package/dist/cjs/PublishBlock.js +12 -7
  206. package/dist/cjs/PublishBlock.js.map +1 -1
  207. package/dist/cjs/PublishYourItem.js +4 -3
  208. package/dist/cjs/PublishYourItem.js.map +1 -1
  209. package/dist/cjs/Rename.js +12 -5
  210. package/dist/cjs/Rename.js.map +1 -1
  211. package/dist/cjs/ResponsiveDevicePicker.js +3 -2
  212. package/dist/cjs/ResponsiveDevicePicker.js.map +1 -1
  213. package/dist/cjs/Schedule.js +37 -23
  214. package/dist/cjs/Schedule.js.map +1 -1
  215. package/dist/cjs/Search.js +3 -2
  216. package/dist/cjs/Search.js.map +1 -1
  217. package/dist/cjs/SendToFields.js +30 -20
  218. package/dist/cjs/SendToFields.js.map +1 -1
  219. package/dist/cjs/Settings.js +15 -6
  220. package/dist/cjs/Settings.js.map +1 -1
  221. package/dist/cjs/ShareRecordingPane.js +21 -9
  222. package/dist/cjs/ShareRecordingPane.js.map +1 -1
  223. package/dist/cjs/ShareViaEmail.js +33 -15
  224. package/dist/cjs/ShareViaEmail.js.map +1 -1
  225. package/dist/cjs/ShareViaLink.js +37 -23
  226. package/dist/cjs/ShareViaLink.js.map +1 -1
  227. package/dist/cjs/Sidebar.js +7 -4
  228. package/dist/cjs/Sidebar.js.map +1 -1
  229. package/dist/cjs/StickyRibbonsContainer.js +3 -2
  230. package/dist/cjs/StickyRibbonsContainer.js.map +1 -1
  231. package/dist/cjs/SubHeader.js +11 -5
  232. package/dist/cjs/SubHeader.js.map +1 -1
  233. package/dist/cjs/SuffixedInput.js +4 -3
  234. package/dist/cjs/SuffixedInput.js.map +1 -1
  235. package/dist/cjs/Taxonomy.js +44 -21
  236. package/dist/cjs/Taxonomy.js.map +1 -1
  237. package/dist/cjs/TimeFormat.js +2 -1
  238. package/dist/cjs/TimeFormat.js.map +1 -1
  239. package/dist/cjs/TimezoneMismatchModal.js +15 -10
  240. package/dist/cjs/TimezoneMismatchModal.js.map +1 -1
  241. package/dist/cjs/ToggleFeatureCard.js +22 -12
  242. package/dist/cjs/ToggleFeatureCard.js.map +1 -1
  243. package/dist/cjs/{index-9b0c3047.js → index-5189db17.js} +36 -20
  244. package/dist/cjs/{index-9b0c3047.js.map → index-5189db17.js.map} +1 -1
  245. package/dist/cjs/{useColumns-9978cf70.js → useColumns-5660bfea.js} +19 -10
  246. package/dist/cjs/{useColumns-9978cf70.js.map → useColumns-5660bfea.js.map} +1 -1
  247. package/dist/{index-8fd0cad5.js → index-e29acf27.js} +10 -3
  248. package/dist/{index-8fd0cad5.js.map → index-e29acf27.js.map} +1 -1
  249. package/dist/{useColumns-751e9192.js → useColumns-cec6e827.js} +6 -2
  250. package/dist/{useColumns-751e9192.js.map → useColumns-cec6e827.js.map} +1 -1
  251. package/package.json +24 -3
  252. package/src/translations/en.json +0 -84
  253. package/dist/Security.js +0 -341
  254. package/dist/Security.js.map +0 -1
  255. package/dist/ThemeSidebar.js +0 -1410
  256. package/dist/ThemeSidebar.js.map +0 -1
  257. package/dist/cjs/Security.js +0 -372
  258. package/dist/cjs/Security.js.map +0 -1
  259. package/dist/cjs/ThemeSidebar.js +0 -1443
  260. package/dist/cjs/ThemeSidebar.js.map +0 -1
  261. package/types/Security.d.ts +0 -35
  262. package/types/themeSidebar.d.ts +0 -80
@@ -1,372 +0,0 @@
1
- 'use strict';
2
-
3
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
- var React = require('react');
5
- require('@bigbinary/neeto-cist');
6
- var formik$1 = require('@bigbinary/neetoui/formik');
7
- var Container = require('./Container.js');
8
- var Header = require('./Header.js');
9
- var PageLoader = require('./PageLoader.js');
10
- var Scrollable = require('./Scrollable.js');
11
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
12
- var formik = require('formik');
13
- var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
14
- var neetoui = require('@bigbinary/neetoui');
15
- var ramda = require('ramda');
16
- var reactI18next = require('react-i18next');
17
- var classnames = require('classnames');
18
- var neetoIcons = require('@bigbinary/neeto-icons');
19
- var i18next = require('i18next');
20
- var yup = require('yup');
21
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
22
- var useMutationWithInvalidation = require('@bigbinary/neeto-commons-frontend/react-utils/useMutationWithInvalidation');
23
- var reactQuery = require('react-query');
24
- var axios = require('axios');
25
- require('./index-248c4f4c.js');
26
- require('./inject-css-80a5faa3.js');
27
- require('@babel/runtime/helpers/extends');
28
- require('@babel/runtime/helpers/objectWithoutProperties');
29
- require('./Breadcrumbs.js');
30
- require('@bigbinary/neeto-commons-frontend/utils/general');
31
- require('react-router-dom');
32
- require('./MoreDropdown.js');
33
- require('./Search.js');
34
- require('@bigbinary/neeto-commons-frontend/react-utils/useFuncDebounce');
35
- require('@bigbinary/neeto-commons-frontend/react-utils/useQueryParams');
36
- require('@bigbinary/neeto-commons-frontend/react-utils/useUpdateEffect');
37
- require('@bigbinary/neeto-commons-frontend/utils');
38
-
39
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
-
41
- function _interopNamespace(e) {
42
- if (e && e.__esModule) return e;
43
- var n = Object.create(null);
44
- if (e) {
45
- Object.keys(e).forEach(function (k) {
46
- if (k !== 'default') {
47
- var d = Object.getOwnPropertyDescriptor(e, k);
48
- Object.defineProperty(n, k, d.get ? d : {
49
- enumerable: true,
50
- get: function () { return e[k]; }
51
- });
52
- }
53
- });
54
- }
55
- n["default"] = e;
56
- return Object.freeze(n);
57
- }
58
-
59
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
60
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
61
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
62
- var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
63
- var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
64
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
65
- var useMutationWithInvalidation__default = /*#__PURE__*/_interopDefaultLegacy(useMutationWithInvalidation);
66
- var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
67
-
68
- var Add = function Add() {
69
- var _useTranslation = reactI18next.useTranslation(),
70
- t = _useTranslation.t;
71
- var _useFormikContext = formik.useFormikContext(),
72
- setFieldValue = _useFormikContext.setFieldValue,
73
- allowedKeywords = _useFormikContext.values.allowedKeywords;
74
- var removeKeyword = function removeKeyword(index) {
75
- return setFieldValue("allowedKeywords", ramda.remove(index, 1, allowedKeywords));
76
- };
77
- if (!allowedKeywords) return null;
78
- return allowedKeywords.map(function (_, index) {
79
- return /*#__PURE__*/React__default["default"].createElement("div", {
80
- className: classnames__default["default"]("flex w-full items-start justify-between gap-x-2"),
81
- key: index
82
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
83
- autoFocus: true,
84
- "data-cy": "keyword-input-field-".concat(index),
85
- name: "allowedKeywords[".concat(index, "]"),
86
- placeholder: t("neetoMolecules.security.placeholders.enterKeyword")
87
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
88
- "data-cy": "keyword-remove-button-".concat(index),
89
- icon: neetoIcons.Delete,
90
- style: "text",
91
- onClick: function onClick() {
92
- return removeKeyword(index);
93
- }
94
- }));
95
- });
96
- };
97
-
98
- 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; }
99
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](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; }
100
- var buildSecuritySettings = function buildSecuritySettings(settings) {
101
- return _objectSpread(_objectSpread({}, settings.setting), {}, {
102
- addEmail: false
103
- });
104
- };
105
- var findKeywordDuplicates = function findKeywordDuplicates(list, message, createError) {
106
- var duplicates = {};
107
- list === null || list === void 0 ? void 0 : list.forEach(function (value, index) {
108
- if (duplicates[value]) {
109
- duplicates[value].push(index);
110
- } else {
111
- duplicates[value] = [index];
112
- }
113
- });
114
- var errors = Object.values(duplicates).map(function (index) {
115
- return index.length > 1 && new yup__namespace.ValidationError(message, list[index.at(-1)], "setting.allowedKeywords[".concat(index.at(-1), "]"));
116
- });
117
- if (ramda.isEmpty(errors)) {
118
- return true;
119
- }
120
- return createError({
121
- message: function message() {
122
- return errors;
123
- }
124
- });
125
- };
126
-
127
- var NOT_SECURED = "no_auth";
128
- var SESSION_AUTH = "session_auth";
129
- yup__namespace.addMethod(yup__namespace.array, "unique", function (message) {
130
- var mapper = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ramda.identity;
131
- return this.test("unique", message, function (list, _ref) {
132
- var authKind = _ref.parent.authKind;
133
- return authKind === OTP_ENABLED && (list === null || list === void 0 ? void 0 : list.length) === new Set(list === null || list === void 0 ? void 0 : list.map(mapper)).size ? true : findKeywordDuplicates(list, message, this.createError);
134
- });
135
- });
136
- var QUERY_KEYS = {
137
- SETTINGS_LIST: "settings-list",
138
- GETTING_STARTED: "getting-started",
139
- INTEGRATION_SETTINGS: "integration_settings",
140
- THEMES_SETTINGS: "themes_setting"
141
- };
142
- var SETTINGS_STALE_TIME = 900000; // 15 mins
143
- var PASSWORD_ENABLED = "basic_auth";
144
- var OTP_ENABLED = "otp_auth";
145
- var APP_NAME = {
146
- neetoKB: "KB",
147
- neetoCourse: "Course"
148
- };
149
- [{
150
- label: i18next.t("neetoMolecules.security.labels.notSecured"),
151
- value: NOT_SECURED
152
- }, {
153
- label: i18next.t("neetoMolecules.security.labels.passwordEnabled"),
154
- value: PASSWORD_ENABLED
155
- }, {
156
- label: i18next.t("neetoMolecules.security.labels.otpEnabled"),
157
- value: OTP_ENABLED
158
- }, {
159
- label: i18next.t("neetoMolecules.security.labels.private"),
160
- value: SESSION_AUTH
161
- }];
162
- var SECURITY_SETTINGS_VALIDATION_SCHEMA = yup__namespace.object({
163
- password: yup__namespace.string().when("authKind", {
164
- is: PASSWORD_ENABLED,
165
- then: yup__namespace.string().required(i18next.t("neetoMolecules.security.validation.required", {
166
- what: i18next.t("neetoMolecules.security.labels.password")
167
- })).min(4, i18next.t("neetoMolecules.security.validation.min", {
168
- entity: i18next.t("neetoMolecules.security.labels.password"),
169
- min: 4
170
- }))
171
- }),
172
- allowedKeywords: yup__namespace.array().when("authKind", {
173
- is: OTP_ENABLED,
174
- then: yup__namespace.array().of(yup__namespace.string().trim().required(i18next.t("neetoMolecules.security.validation.required", {
175
- what: i18next.t("neetoMolecules.security.labels.keyword")
176
- }))).unique(i18next.t("neetoMolecules.security.placeholders.exists", {
177
- what: i18next.t("neetoMolecules.security.labels.keyword")
178
- }))
179
- })
180
- });
181
-
182
- var AllowedKeywords = function AllowedKeywords() {
183
- var _useTranslation = reactI18next.useTranslation(),
184
- t = _useTranslation.t;
185
- var _useFormikContext = formik.useFormikContext(),
186
- setFieldValue = _useFormikContext.setFieldValue,
187
- _useFormikContext$val = _useFormikContext.values,
188
- allowedKeywords = _useFormikContext$val.allowedKeywords,
189
- authKind = _useFormikContext$val.authKind;
190
- if (authKind !== OTP_ENABLED) return null;
191
- var appName = APP_NAME[initializers.globalProps.appName];
192
- return /*#__PURE__*/React__default["default"].createElement("div", {
193
- className: "flex-col space-y-2 py-2"
194
- }, appName && /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, t("neetoMolecules.security.labels.keywordForm.".concat(appName))), /*#__PURE__*/React__default["default"].createElement("div", {
195
- className: "neeto-ui-bg-pastel-blue neeto-ui-rounded-sm w-full space-y-4 p-6"
196
- }, /*#__PURE__*/React__default["default"].createElement(Add, null), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
197
- "data-cy": "add-allowed-keyword-button",
198
- "data-testid": "add-allowed-keyword-button",
199
- label: t("neetoMolecules.security.labels.addKeyWord"),
200
- style: "link",
201
- onClick: function onClick() {
202
- return setFieldValue("allowedKeywords", [].concat(_toConsumableArray__default["default"](allowedKeywords), [""]));
203
- }
204
- })), ramda.isEmpty(allowedKeywords) && /*#__PURE__*/React__default["default"].createElement(formik.ErrorMessage, {
205
- className: "neeto-ui-text-error-600",
206
- component: "div",
207
- name: "allowedKeywords"
208
- }));
209
- };
210
-
211
- var Password = function Password() {
212
- var _useTranslation = reactI18next.useTranslation(),
213
- t = _useTranslation.t;
214
- var _useFormikContext = formik.useFormikContext(),
215
- authKind = _useFormikContext.values.authKind,
216
- getFieldProps = _useFormikContext.getFieldProps;
217
- if (authKind !== PASSWORD_ENABLED) return null;
218
- var _getFieldProps = getFieldProps("password"),
219
- onPasswordChange = _getFieldProps.onChange;
220
- return /*#__PURE__*/React__default["default"].createElement("div", {
221
- className: "space-y-4 pb-2"
222
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
223
- autoFocus: true,
224
- unlimitedChars: true,
225
- className: "w-7/12",
226
- "data-testid": "password-block",
227
- label: t("neetoMolecules.security.labels.password"),
228
- name: "password",
229
- placeholder: t("neetoMolecules.security.placeholders.enterPassword"),
230
- onChange: function onChange(e) {
231
- e.target.value = e.target.value.trim();
232
- onPasswordChange(e);
233
- }
234
- }));
235
- };
236
-
237
- var RadioBlock = function RadioBlock(_ref) {
238
- var radioItems = _ref.radioItems;
239
- var _useFormikContext = formik.useFormikContext(),
240
- _useFormikContext$val = _useFormikContext.values.allowedKeywords,
241
- allowedKeywords = _useFormikContext$val === void 0 ? [] : _useFormikContext$val,
242
- setFieldValue = _useFormikContext.setFieldValue;
243
- var handleRadioChange = function handleRadioChange(_ref2) {
244
- var value = _ref2.event.target.value,
245
- allowedKeywords = _ref2.allowedKeywords;
246
- var allowedKeywordsValue = value === OTP_ENABLED ? [].concat(_toConsumableArray__default["default"](allowedKeywords), [""]) : [];
247
- setFieldValue("allowedKeywords", allowedKeywordsValue);
248
- setFieldValue("authKind", value);
249
- };
250
- return /*#__PURE__*/React__default["default"].createElement(formik$1.Radio, {
251
- stacked: true,
252
- name: "authKind",
253
- onChange: function onChange(event) {
254
- return handleRadioChange({
255
- event: event,
256
- allowedKeywords: allowedKeywords
257
- });
258
- }
259
- }, radioItems.map(function (_ref3) {
260
- var label = _ref3.label,
261
- value = _ref3.value;
262
- return /*#__PURE__*/React__default["default"].createElement(formik$1.Radio.Item, {
263
- key: value,
264
- label: label,
265
- value: value
266
- });
267
- }));
268
- };
269
-
270
- var fetch = function fetch(url) {
271
- return axios__default["default"].get(url);
272
- };
273
- var update = function update(url, payload) {
274
- return axios__default["default"].put(url, payload);
275
- };
276
- var settingsApi = {
277
- fetch: fetch,
278
- update: update
279
- };
280
-
281
- var SETTINGS_LIST = QUERY_KEYS.SETTINGS_LIST,
282
- GETTING_STARTED = QUERY_KEYS.GETTING_STARTED,
283
- THEMES_SETTINGS = QUERY_KEYS.THEMES_SETTINGS;
284
- var useFetchSettings = function useFetchSettings(url) {
285
- return reactQuery.useQuery(SETTINGS_LIST, function () {
286
- return settingsApi.fetch(url);
287
- }, {
288
- staleTime: SETTINGS_STALE_TIME
289
- });
290
- };
291
- var useUpdateSetting = function useUpdateSetting(url) {
292
- return useMutationWithInvalidation__default["default"](function (payload) {
293
- return settingsApi.update(url, payload);
294
- }, {
295
- keysToInvalidate: [SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS]
296
- });
297
- };
298
-
299
- var Security = function Security(_ref) {
300
- var url = _ref.url,
301
- breadcrumbs = _ref.breadcrumbs,
302
- title = _ref.title,
303
- radioItems = _ref.radioItems;
304
- var _useFetchSettings = useFetchSettings(url),
305
- _useFetchSettings$dat = _useFetchSettings.data,
306
- settings = _useFetchSettings$dat === void 0 ? {} : _useFetchSettings$dat,
307
- isLoading = _useFetchSettings.isLoading;
308
- var _useUpdateSetting = useUpdateSetting(url),
309
- updateSettings = _useUpdateSetting.mutate;
310
- var _useState = React.useState(false),
311
- _useState2 = _slicedToArray__default["default"](_useState, 2),
312
- isMobileScreen = _useState2[0],
313
- setIsMobileScreen = _useState2[1];
314
- var isLargerScreen = function isLargerScreen() {
315
- return window.innerWidth > 1024;
316
- };
317
- var handleSubmit = function handleSubmit(values, _ref2) {
318
- var setSubmitting = _ref2.setSubmitting;
319
- updateSettings(values, {
320
- onSettled: function onSettled() {
321
- return setSubmitting(false);
322
- }
323
- });
324
- };
325
- React.useEffect(function () {
326
- var handleResize = function handleResize() {
327
- if (isLargerScreen()) setIsMobileScreen(false);else setIsMobileScreen(true);
328
- };
329
- window.addEventListener("resize", handleResize);
330
- return function () {
331
- return window.removeEventListener("resize", handleResize);
332
- };
333
- }, []);
334
- if (isLoading) return /*#__PURE__*/React__default["default"].createElement(PageLoader, null);
335
- return /*#__PURE__*/React__default["default"].createElement(Container, {
336
- isHeaderFixed: true
337
- }, /*#__PURE__*/React__default["default"].createElement(Header, {
338
- breadcrumbs: breadcrumbs,
339
- title: title,
340
- "data-cy": "general-settings-heading",
341
- size: isMobileScreen ? "small" : "large"
342
- }), /*#__PURE__*/React__default["default"].createElement(Scrollable, {
343
- className: "w-full pb-6"
344
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
345
- className: "mx-auto w-full max-w-3xl space-y-6 md:px-0 lg:px-6",
346
- formikProps: {
347
- initialValues: buildSecuritySettings(settings),
348
- validationSchema: SECURITY_SETTINGS_VALIDATION_SCHEMA,
349
- onSubmit: handleSubmit,
350
- enableReinitialize: true
351
- }
352
- }, function (_ref3) {
353
- var dirty = _ref3.dirty,
354
- isSubmitting = _ref3.isSubmitting;
355
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(RadioBlock, {
356
- radioItems: radioItems
357
- }), /*#__PURE__*/React__default["default"].createElement(Password, null), /*#__PURE__*/React__default["default"].createElement(AllowedKeywords, null), /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
358
- cancelButtonProps: {
359
- disabled: false,
360
- className: "ml-3"
361
- },
362
- className: "mt-6 w-full justify-start",
363
- submitButtonProps: {
364
- loading: isSubmitting,
365
- disabled: !dirty || isSubmitting
366
- }
367
- }));
368
- })));
369
- };
370
-
371
- module.exports = Security;
372
- //# sourceMappingURL=Security.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Security.js","sources":["../../src/components/Security/AllowedKeywords/Add.jsx","../../src/components/Security/utils.js","../../src/components/Security/constants.js","../../src/components/Security/AllowedKeywords/index.jsx","../../src/components/Security/PasswordBlock.jsx","../../src/components/Security/RadioBlock.jsx","../../src/components/Security/api.js","../../src/components/Security/useSecurityApi.js","../../src/components/Security/index.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { useFormikContext } from \"formik\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\nimport { remove } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Add = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords },\n } = useFormikContext();\n\n const removeKeyword = index =>\n setFieldValue(\"allowedKeywords\", remove(index, 1, allowedKeywords));\n\n if (!allowedKeywords) return null;\n\n return allowedKeywords.map((_, index) => (\n <div\n className={classNames(\"flex w-full items-start justify-between gap-x-2\")}\n key={index}\n >\n <Input\n autoFocus\n data-cy={`keyword-input-field-${index}`}\n name={`allowedKeywords[${index}]`}\n placeholder={t(\"neetoMolecules.security.placeholders.enterKeyword\")}\n />\n <Button\n data-cy={`keyword-remove-button-${index}`}\n icon={Delete}\n style=\"text\"\n onClick={() => removeKeyword(index)}\n />\n </div>\n ));\n};\n\nexport default Add;\n","import { isEmpty } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const buildSecuritySettings = settings => ({\n ...settings.setting,\n addEmail: false,\n});\n\nexport const findKeywordDuplicates = (list, message, createError) => {\n const duplicates = {};\n\n list?.forEach((value, index) => {\n if (duplicates[value]) {\n duplicates[value].push(index);\n } else {\n duplicates[value] = [index];\n }\n });\n\n const errors = Object.values(duplicates).map(\n index =>\n index.length > 1 &&\n new yup.ValidationError(\n message,\n list[index.at(-1)],\n `setting.allowedKeywords[${index.at(-1)}]`\n )\n );\n\n if (isEmpty(errors)) {\n return true;\n }\n\n return createError({ message: () => errors });\n};\n","import { t } from \"i18next\";\nimport { identity } from \"ramda\";\nimport * as yup from \"yup\";\n\nimport { findKeywordDuplicates } from \"./utils\";\n\nconst NOT_SECURED = \"no_auth\";\nconst SESSION_AUTH = \"session_auth\";\n\nyup.addMethod(yup.array, \"unique\", function (message, mapper = identity) {\n return this.test(\n \"unique\",\n message,\n function (list, { parent: { authKind } }) {\n return authKind === OTP_ENABLED &&\n list?.length === new Set(list?.map(mapper)).size\n ? true\n : findKeywordDuplicates(list, message, this.createError);\n }\n );\n});\n\nexport const QUERY_KEYS = {\n SETTINGS_LIST: \"settings-list\",\n GETTING_STARTED: \"getting-started\",\n INTEGRATION_SETTINGS: \"integration_settings\",\n THEMES_SETTINGS: \"themes_setting\",\n};\nexport const SETTINGS_STALE_TIME = 900_000; // 15 mins\nexport const PASSWORD_ENABLED = \"basic_auth\";\nexport const OTP_ENABLED = \"otp_auth\";\n\nexport const APP_NAME = { neetoKB: \"KB\", neetoCourse: \"Course\" };\n\nexport const AUTH_KINDS = [\n {\n label: t(\"neetoMolecules.security.labels.notSecured\"),\n value: NOT_SECURED,\n },\n {\n label: t(\"neetoMolecules.security.labels.passwordEnabled\"),\n value: PASSWORD_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.otpEnabled\"),\n value: OTP_ENABLED,\n },\n {\n label: t(\"neetoMolecules.security.labels.private\"),\n value: SESSION_AUTH,\n },\n];\n\nexport const SECURITY_SETTINGS_VALIDATION_SCHEMA = yup.object({\n password: yup.string().when(\"authKind\", {\n is: PASSWORD_ENABLED,\n then: yup\n .string()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.password\"),\n })\n )\n .min(\n 4,\n t(\"neetoMolecules.security.validation.min\", {\n entity: t(\"neetoMolecules.security.labels.password\"),\n min: 4,\n })\n ),\n }),\n allowedKeywords: yup.array().when(\"authKind\", {\n is: OTP_ENABLED,\n then: yup\n .array()\n .of(\n yup\n .string()\n .trim()\n .required(\n t(\"neetoMolecules.security.validation.required\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n )\n )\n .unique(\n t(\"neetoMolecules.security.placeholders.exists\", {\n what: t(\"neetoMolecules.security.labels.keyword\"),\n })\n ),\n }),\n});\n","import React from \"react\";\n\nimport { ErrorMessage, useFormikContext } from \"formik\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Button, Label } from \"neetoui\";\nimport { isEmpty } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport Add from \"./Add\";\n\nimport { OTP_ENABLED, APP_NAME } from \"../constants\";\n\nconst AllowedKeywords = () => {\n const { t } = useTranslation();\n const {\n setFieldValue,\n values: { allowedKeywords, authKind },\n } = useFormikContext();\n\n if (authKind !== OTP_ENABLED) return null;\n\n const appName = APP_NAME[globalProps.appName];\n\n return (\n <div className=\"flex-col space-y-2 py-2\">\n {appName && (\n <Label>\n {t(`neetoMolecules.security.labels.keywordForm.${appName}`)}\n </Label>\n )}\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm w-full space-y-4 p-6\">\n <Add />\n <Button\n data-cy=\"add-allowed-keyword-button\"\n data-testid=\"add-allowed-keyword-button\"\n label={t(\"neetoMolecules.security.labels.addKeyWord\")}\n style=\"link\"\n onClick={() =>\n setFieldValue(\"allowedKeywords\", [...allowedKeywords, \"\"])\n }\n />\n </div>\n {isEmpty(allowedKeywords) && (\n <ErrorMessage\n className=\"neeto-ui-text-error-600\"\n component=\"div\"\n name=\"allowedKeywords\"\n />\n )}\n </div>\n );\n};\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Input } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { PASSWORD_ENABLED } from \"./constants\";\n\nconst Password = () => {\n const { t } = useTranslation();\n const {\n values: { authKind },\n getFieldProps,\n } = useFormikContext();\n\n if (authKind !== PASSWORD_ENABLED) return null;\n\n const { onChange: onPasswordChange } = getFieldProps(\"password\");\n\n return (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n unlimitedChars\n className=\"w-7/12\"\n data-testid=\"password-block\"\n label={t(\"neetoMolecules.security.labels.password\")}\n name=\"password\"\n placeholder={t(\"neetoMolecules.security.placeholders.enterPassword\")}\n onChange={e => {\n e.target.value = e.target.value.trim();\n onPasswordChange(e);\n }}\n />\n </div>\n );\n};\n\nexport default Password;\n","import React from \"react\";\n\nimport { useFormikContext } from \"formik\";\nimport { Radio } from \"neetoui/formik\";\n\nimport { OTP_ENABLED } from \"./constants\";\n\nconst RadioBlock = ({ radioItems }) => {\n const {\n values: { allowedKeywords = [] },\n setFieldValue,\n } = useFormikContext();\n\n const handleRadioChange = ({\n event: {\n target: { value },\n },\n allowedKeywords,\n }) => {\n const allowedKeywordsValue =\n value === OTP_ENABLED ? [...allowedKeywords, \"\"] : [];\n setFieldValue(\"allowedKeywords\", allowedKeywordsValue);\n setFieldValue(\"authKind\", value);\n };\n\n return (\n <Radio\n stacked\n name=\"authKind\"\n onChange={event => handleRadioChange({ event, allowedKeywords })}\n >\n {radioItems.map(({ label, value }) => (\n <Radio.Item key={value} {...{ label, value }} />\n ))}\n </Radio>\n );\n};\n\nexport default RadioBlock;\n","import axios from \"axios\";\n\nconst fetch = url => axios.get(url);\n\nconst update = (url, payload) => axios.put(url, payload);\n\nconst settingsApi = { fetch, update };\n\nexport default settingsApi;\n","import useMutationWithInvalidation from \"neetocommons/react-utils/useMutationWithInvalidation\";\nimport { useQuery } from \"react-query\";\n\nimport settingsApi from \"./api\";\nimport { QUERY_KEYS, SETTINGS_STALE_TIME } from \"./constants\";\n\nconst { SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS } = QUERY_KEYS;\n\nconst useFetchSettings = url =>\n useQuery(SETTINGS_LIST, () => settingsApi.fetch(url), {\n staleTime: SETTINGS_STALE_TIME,\n });\n\nconst useUpdateSetting = url =>\n useMutationWithInvalidation(payload => settingsApi.update(url, payload), {\n keysToInvalidate: [SETTINGS_LIST, GETTING_STARTED, THEMES_SETTINGS],\n });\n\nexport { useFetchSettings, useUpdateSetting };\n","import React, { useState, useEffect } from \"react\";\n\nimport { toLabelAndValue } from \"neetocist\";\nimport { Form, ActionBlock } from \"neetoui/formik\";\nimport PropTypes from \"prop-types\";\n\nimport Container from \"components/Container\";\nimport Header from \"components/Header\";\nimport PageLoader from \"components/PageLoader\";\nimport Scrollable from \"components/Scrollable\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport { SECURITY_SETTINGS_VALIDATION_SCHEMA } from \"./constants\";\nimport Password from \"./PasswordBlock\";\nimport RadioBlock from \"./RadioBlock\";\nimport { useFetchSettings, useUpdateSetting } from \"./useSecurityApi\";\nimport { buildSecuritySettings } from \"./utils\";\n\nconst Security = ({ url, breadcrumbs, title, radioItems }) => {\n const { data: settings = {}, isLoading } = useFetchSettings(url);\n const { mutate: updateSettings } = useUpdateSetting(url);\n\n const [isMobileScreen, setIsMobileScreen] = useState(false);\n\n const isLargerScreen = () => window.innerWidth > 1024;\n\n const handleSubmit = (values, { setSubmitting }) => {\n updateSettings(values, { onSettled: () => setSubmitting(false) });\n };\n\n useEffect(() => {\n const handleResize = () => {\n if (isLargerScreen()) setIsMobileScreen(false);\n else setIsMobileScreen(true);\n };\n window.addEventListener(\"resize\", handleResize);\n\n return () => window.removeEventListener(\"resize\", handleResize);\n }, []);\n\n if (isLoading) return <PageLoader />;\n\n return (\n <Container isHeaderFixed>\n <Header\n {...{ breadcrumbs, title }}\n data-cy=\"general-settings-heading\"\n size={isMobileScreen ? \"small\" : \"large\"}\n />\n <Scrollable className=\"w-full pb-6\">\n <Form\n className=\"mx-auto w-full max-w-3xl space-y-6 md:px-0 lg:px-6\"\n formikProps={{\n initialValues: buildSecuritySettings(settings),\n validationSchema: SECURITY_SETTINGS_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n enableReinitialize: true,\n }}\n >\n {({ dirty, isSubmitting }) => (\n <>\n <RadioBlock {...{ radioItems }} />\n <Password />\n <AllowedKeywords />\n <ActionBlock\n cancelButtonProps={{ disabled: false, className: \"ml-3\" }}\n className=\"mt-6 w-full justify-start\"\n submitButtonProps={{\n loading: isSubmitting,\n disabled: !dirty || isSubmitting,\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n </Container>\n );\n};\n\nSecurity.propTypes = {\n /**\n * To set a title in the Header section.\n */\n title: PropTypes.node,\n /**\n * API path to manage security record.\n */\n url: PropTypes.string,\n /**\n * To show breadcrumbs in the Header section. `text` accepts a text string to be shown as the breadcrumb and `link` accepts relative URL path for the breadcrumb.\n */\n breadcrumbs: PropTypes.arrayOf(\n PropTypes.shape({\n text: PropTypes.string,\n link: PropTypes.string,\n })\n ),\n radioItems: PropTypes.arrayOf(\n PropTypes.shape(toLabelAndValue(PropTypes.string))\n ),\n};\n\nexport default Security;\n"],"names":["Add","_useTranslation","useTranslation","t","_useFormikContext","useFormikContext","setFieldValue","allowedKeywords","values","removeKeyword","index","remove","map","_","React","createElement","className","classNames","key","Input","autoFocus","concat","name","placeholder","Button","icon","Delete","style","onClick","buildSecuritySettings","settings","_objectSpread","setting","addEmail","findKeywordDuplicates","list","message","createError","duplicates","forEach","value","push","errors","Object","length","yup","ValidationError","at","isEmpty","NOT_SECURED","SESSION_AUTH","addMethod","array","mapper","arguments","undefined","identity","test","_ref","authKind","parent","OTP_ENABLED","Set","size","QUERY_KEYS","SETTINGS_LIST","GETTING_STARTED","INTEGRATION_SETTINGS","THEMES_SETTINGS","SETTINGS_STALE_TIME","PASSWORD_ENABLED","APP_NAME","neetoKB","neetoCourse","label","SECURITY_SETTINGS_VALIDATION_SCHEMA","object","password","string","when","is","then","required","what","min","entity","of","trim","unique","AllowedKeywords","_useFormikContext$val","appName","globalProps","Label","_toConsumableArray","ErrorMessage","component","Password","getFieldProps","_getFieldProps","onPasswordChange","onChange","unlimitedChars","e","target","RadioBlock","radioItems","handleRadioChange","_ref2","event","allowedKeywordsValue","Radio","stacked","_ref3","Item","fetch","url","axios","get","update","payload","put","settingsApi","useFetchSettings","useQuery","staleTime","useUpdateSetting","useMutationWithInvalidation","keysToInvalidate","Security","breadcrumbs","title","_useFetchSettings","_useFetchSettings$dat","data","isLoading","_useUpdateSetting","updateSettings","mutate","_useState","useState","_useState2","_slicedToArray","isMobileScreen","setIsMobileScreen","isLargerScreen","window","innerWidth","handleSubmit","setSubmitting","onSettled","useEffect","handleResize","addEventListener","removeEventListener","PageLoader","Container","isHeaderFixed","Header","Scrollable","Form","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","dirty","isSubmitting","Fragment","ActionBlock","cancelButtonProps","disabled","submitButtonProps","loading"],"mappings":"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"}