@bigbinary/neeto-access-control-frontend 0.0.7 → 0.1.0-beta1

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/README.md CHANGED
@@ -1 +1,223 @@
1
1
  # neeto-access-control-nano
2
+
3
+ The `neeto-access-control-nano` manages access control across neeto products. The nano exports the `@bigbinary/neeto-access-control-frontend` NPM package and `neeto-access-control-engine` Rails engine for development.
4
+
5
+ # Contents
6
+
7
+ 1. [Development with Host Application](#development-with-host-application)
8
+ - [Engine](#engine)
9
+ - [Installation](#installation)
10
+ - [Frontend package](#frontend-package)
11
+ - [Installation](#installation-1)
12
+ - [Components](#components)
13
+ 2. [Instructions for Publishing](#instructions-for-publishing)
14
+ 3. [Releasing beta versions](#releasing-beta-versions)
15
+
16
+ # Development with Host Application
17
+
18
+ ## Engine
19
+
20
+ The engine is used to manage access control across neeto products.
21
+
22
+ ### Installation
23
+
24
+ 1. Add the gem in `Gemfile`
25
+
26
+ ```ruby
27
+ source "NEETO_GEM_SERVER_URL" do
28
+ # ..existing gems
29
+
30
+ gem "neeto-access-control-engine"
31
+ end
32
+ ```
33
+
34
+ 2. Install the gem
35
+
36
+ ```shell
37
+ bundle install
38
+ ```
39
+
40
+ 3. Add required migrations in the `db/migrate` folder.
41
+ Run the following commands to copy the migrations from the engine to the host application.
42
+ Ex: [neetoForm](https://github.com/bigbinary/neeto-form-web/blob/main/db/migrate/20240315162544_create_neeto_access_control_engine_configurations.neeto_access_control_engine.rb)
43
+
44
+ ```shell
45
+ bundle exec rails neeto_access_control_engine:install:migrations
46
+ bundle exec rails db:migrate
47
+ ```
48
+
49
+ 4. Add this line to your application's `config/routes.rb` file:
50
+
51
+ ```ruby
52
+ mount NeetoAccessControlEngine::Engine => "/secure"
53
+ ```
54
+
55
+ 5. Add `has_one` association to the model you want to add the access control configuration.
56
+ For Example - The organization only needs single access control.
57
+
58
+ ```ruby
59
+ class Organization < ApplicationRecord
60
+ has_one :access_control_configuration, as: :owner, class_name: "NeetoAccessControlEngine::Configuration", dependent: :destroy
61
+ end
62
+ ```
63
+
64
+ 6. Your controller must include the concern and access_control_configuration method.
65
+
66
+ ```ruby
67
+ class PublicController < ApplicationController
68
+ .
69
+ .
70
+ include NeetoAccessControlEngine::Authenticate
71
+ .
72
+ private
73
+
74
+ def access_control_configuration
75
+ @_access_control_configuration ||= @organization.access_control_configuration
76
+ end
77
+ end
78
+ ```
79
+
80
+ 7. Add overrides for the following files:
81
+
82
+ - 7.1. google_controller_override.rb
83
+
84
+ ```ruby
85
+ NeetoAccessControlEngine::GoogleController.class_eval do
86
+ private
87
+
88
+ def access_control_configuration
89
+ @_access_control_configuration ||= @organization.access_control_configuration
90
+ end
91
+ end
92
+ ```
93
+
94
+ - 7.2. guest_sessions_controller_override.rb
95
+
96
+ ```ruby
97
+ NeetoAccessControlEngine::GuestSessionsController.class_eval do
98
+ private
99
+
100
+ def access_control_configuration
101
+ @_access_control_configuration ||= @organization.access_control_configuration
102
+ end
103
+ end
104
+ ```
105
+
106
+ - 7.3. configurations_controller_override.rb
107
+
108
+ ```ruby
109
+ NeetoAccessControlEngine::Api::V1::ConfigurationsController.class_eval do
110
+
111
+ private
112
+
113
+ def owner
114
+ @organization
115
+ end
116
+ end
117
+ ```
118
+
119
+ 8. Add Google OAuth support
120
+
121
+ - 8.1. Create Google OAuth account
122
+ [Watch the demo video](https://sandip-mane.neetorecord.com/watch/2bf5c48e-9fce-4eef-a225-21b9ea6b3a33) for step-by-step instructions on creating a Google OAuth account.
123
+ Add the authorised redirect URI: `https://connect.neetokb.net/secure/google_oauth2/callback`
124
+
125
+ - 8.2. Set the env variables
126
+ Add the following secret values to `config/secrets.yml`.
127
+
128
+ ```yaml
129
+ google:
130
+ client_id: <%= ENV['GOOGLE_OAUTH_CLIENT_ID'] %>
131
+ client_secret: <%= ENV['GOOGLE_OAUTH_CLIENT_SECRET'] %>
132
+ ```
133
+
134
+ ## Frontend package
135
+
136
+ ### Installation
137
+
138
+ 1. Install the latest `neeto-access-control-frontend` package using the below command:
139
+ ```zsh
140
+ yarn add @bigbinary/neeto-access-control-frontend
141
+ ```
142
+
143
+ ### Components
144
+
145
+ #### 1. `Configuration` ([source code](/app/javascript/src/components/Configuration/index.jsx))
146
+
147
+ **Props**
148
+
149
+ - `ownerId`: To specify the ID of the instance of the model. The ID is used to fetch and update access control configuration.
150
+ - `ownerType`: Type of the model.
151
+ - `onReset`: Callback function that is triggered when the reset button is clicked.
152
+ - `onSuccess`: Callback function that is triggered when the configuration is successfully updated.
153
+ - `handleCancel`: Callback function that is triggered when the cancel button is clicked.
154
+ - `headerProps`: Props passed to the [`Header`](https://neeto-molecules.neeto.com/?path=/docs/layouts-header--docs) component from neetoMolecules.
155
+ - `className`: Additional classes to be added to the form.
156
+
157
+ **Usage**
158
+
159
+ This is an example usage in neetoKB
160
+
161
+ ```jsx
162
+ import React from "react";
163
+
164
+ import { Configuration } from "@bigbinary/neeto-access-control-frontend";
165
+
166
+ import { HELP_SECURITY_DOC_URL } from "src/constants/urls";
167
+
168
+ import { buildDefaultBreadcrumbs } from "./utils";
169
+
170
+ const AccessControl = () => {
171
+ return (
172
+ <Configuration
173
+ className="mx-auto max-w-3xl md:px-0 lg:px-6"
174
+ handleCancel={() => {}}
175
+ headerProps={{
176
+ title: "Access control",
177
+ description: "Access control description",
178
+ helpLink: HELP_SECURITY_DOC_URL,
179
+ breadcrumbs: buildDefaultBreadcrumbs({
180
+ title: "Access control",
181
+ }),
182
+ }}
183
+ />
184
+ );
185
+ };
186
+
187
+ export default AccessControl;
188
+ ```
189
+
190
+ ### Customize option labels in the host application with translations
191
+
192
+ To customize option labels for authentication, you can set the translations from the host application.
193
+ To set the translations from the host application:
194
+ - Open the `en.json` file.
195
+ - Add translations for the auth option labels under the `neetoAccessControl.auth` namespace.
196
+ For Example:
197
+ ```js
198
+ {
199
+ "neetoAccessControl": {
200
+ "auth": {
201
+ "no": "No auth label",
202
+ "basic": "Basic auth label",
203
+ "email": "Email auth label"
204
+ "session": "Session auth label"
205
+ }
206
+ }
207
+ }
208
+ ```
209
+
210
+ # Instructions for Publishing
211
+
212
+ Consult the [building and releasing packages](https://neeto-engineering.neetokb.com/articles/building-and-releasing-packages) guide for details on how to publish.
213
+
214
+ # Releasing beta versions
215
+
216
+ - Push the changes to a target branch for releasing the beta version.
217
+ - Update the package version to `{latest-version}-beta` (if `1.2.34` is the current latest version, it will be `1.2.34-beta`) in the target branch for beta release.
218
+ - [Draft a new release](https://github.com/bigbinary/neeto-access-control-nano/releases/new) from the repo with the target branch.
219
+ - Add a new tag and title in the format: version prefixed with `v`, eg: `v1.2.34-beta`.
220
+ - Generate release notes.
221
+ - Set the release as a pre-release and publish the release.
222
+
223
+ If we are releasing a beta version of a product, we have to inform the compliance team as well to avoid overwriting the version with the latest version on the next compliance release.
package/dist/index.cjs.js CHANGED
@@ -2,24 +2,29 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var React = require('react');
5
+ var react = require('react');
6
6
  var classNames = require('classnames');
7
7
  var neetoCist = require('@bigbinary/neeto-cist');
8
8
  var Container = require('@bigbinary/neeto-molecules/Container');
9
9
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
10
10
  var Scrollable = require('@bigbinary/neeto-molecules/Scrollable');
11
- var neetoui = require('@bigbinary/neetoui');
12
- var formik$1 = require('@bigbinary/neetoui/formik');
11
+ var Label = require('@bigbinary/neetoui/Label');
12
+ var ActionBlock = require('@bigbinary/neetoui/formik/ActionBlock');
13
+ var Form = require('@bigbinary/neetoui/formik/Form');
14
+ var Input = require('@bigbinary/neetoui/formik/Input');
15
+ var Radio = require('@bigbinary/neetoui/formik/Radio');
13
16
  var reactI18next = require('react-i18next');
17
+ var reactQuery = require('@tanstack/react-query');
14
18
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
15
19
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
16
20
  var ramda = require('ramda');
17
- var reactQuery = require('react-query');
18
21
  var axios = require('axios');
19
22
  var formik = require('formik');
20
23
  var neetoIcons = require('@bigbinary/neeto-icons');
24
+ var Button = require('@bigbinary/neetoui/Button');
21
25
  var i18next = require('i18next');
22
26
  var yup = require('yup');
27
+ var jsxRuntime = require('react/jsx-runtime');
23
28
  var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
24
29
  var HelpPopover = require('@bigbinary/neeto-molecules/HelpPopover');
25
30
 
@@ -43,31 +48,21 @@ function _interopNamespace(e) {
43
48
  return Object.freeze(n);
44
49
  }
45
50
 
46
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
47
51
  var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
48
52
  var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
49
53
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
50
54
  var Scrollable__default = /*#__PURE__*/_interopDefaultLegacy(Scrollable);
55
+ var Label__default = /*#__PURE__*/_interopDefaultLegacy(Label);
56
+ var ActionBlock__default = /*#__PURE__*/_interopDefaultLegacy(ActionBlock);
57
+ var Form__default = /*#__PURE__*/_interopDefaultLegacy(Form);
58
+ var Input__default = /*#__PURE__*/_interopDefaultLegacy(Input);
59
+ var Radio__default = /*#__PURE__*/_interopDefaultLegacy(Radio);
51
60
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
61
+ var Button__default = /*#__PURE__*/_interopDefaultLegacy(Button);
52
62
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
53
63
  var NeetoHeader__default = /*#__PURE__*/_interopDefaultLegacy(NeetoHeader);
54
64
  var HelpPopover__default = /*#__PURE__*/_interopDefaultLegacy(HelpPopover);
55
65
 
56
- function _extends() {
57
- _extends = Object.assign ? Object.assign.bind() : function (target) {
58
- for (var i = 1; i < arguments.length; i++) {
59
- var source = arguments[i];
60
- for (var key in source) {
61
- if (Object.prototype.hasOwnProperty.call(source, key)) {
62
- target[key] = source[key];
63
- }
64
- }
65
- }
66
- return target;
67
- };
68
- return _extends.apply(this, arguments);
69
- }
70
-
71
66
  function _typeof(o) {
72
67
  "@babel/helpers - typeof";
73
68
 
@@ -139,19 +134,20 @@ var QUERY_KEYS = {
139
134
  ACCESS_CONTROL_CONFIGURATION: "access-control-configuration"
140
135
  };
141
136
 
142
- 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; }
143
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
137
+ function ownKeys$2(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; }
138
+ function _objectSpread$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
144
139
  var ACCESS_CONTROL_CONFIGURATION = QUERY_KEYS.ACCESS_CONTROL_CONFIGURATION;
145
140
  var useShowConfiguration = function useShowConfiguration(_ref) {
146
141
  var ownerId = _ref.ownerId,
147
142
  ownerType = _ref.ownerType;
148
- var queryKey = [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId];
149
- return reactQuery.useQuery(queryKey, function () {
150
- return configurationsApi.show({
151
- ownerType: ownerType,
152
- ownerId: ownerId
153
- });
154
- }, {
143
+ return reactQuery.useQuery({
144
+ queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],
145
+ queryFn: function queryFn() {
146
+ return configurationsApi.show({
147
+ ownerType: ownerType,
148
+ ownerId: ownerId
149
+ });
150
+ },
155
151
  select: ramda.prop("configuration"),
156
152
  staleTime: constants.DEFAULT_STALE_TIME
157
153
  });
@@ -165,7 +161,7 @@ var useUpdateConfiguration = function useUpdateConfiguration(_ref2, options) {
165
161
  ownerType: ownerType,
166
162
  payload: payload
167
163
  });
168
- }, _objectSpread({
164
+ }, _objectSpread$2({
169
165
  keysToInvalidate: [[ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId]]
170
166
  }, options));
171
167
  };
@@ -249,66 +245,75 @@ var AllowedKeywords = reactUtils.withT(function (_ref) {
249
245
  name = _ref.name,
250
246
  _ref$label = _ref.label,
251
247
  label = _ref$label === void 0 ? "" : _ref$label;
252
- return /*#__PURE__*/React__default["default"].createElement(formik.FieldArray, {
253
- name: name
254
- }, function (arrayHelpers) {
255
- var allowedKeywords = arrayHelpers.form.values[name];
256
- var showDeleteButton = allowedKeywords.length > 1 || neetoCist.isNotEmpty(allowedKeywords[0]);
257
- return /*#__PURE__*/React__default["default"].createElement("div", {
258
- className: "space-y-4"
259
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, null, label), /*#__PURE__*/React__default["default"].createElement("div", {
260
- className: "neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6"
261
- }, allowedKeywords.map(function (_, index) {
262
- return /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
263
- className: "w-full",
264
- key: index,
265
- name: "".concat(name, ".").concat(index),
266
- placeholder: t("neetoAccessControl.inputs.placeholders.enterKeyword"),
267
- suffix: showDeleteButton && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
268
- "data-cy": "allowed-keyword-delete-button",
269
- icon: neetoIcons.Delete,
270
- size: "small",
271
- style: "text",
272
- onClick: function onClick() {
273
- return removeKeyword({
274
- index: index,
275
- allowedKeywords: allowedKeywords,
276
- arrayHelpers: arrayHelpers
277
- });
278
- }
279
- })
248
+ return /*#__PURE__*/jsxRuntime.jsx(formik.FieldArray, {
249
+ name: name,
250
+ children: function children(arrayHelpers) {
251
+ var allowedKeywords = arrayHelpers.form.values[name];
252
+ var showDeleteButton = allowedKeywords.length > 1 || neetoCist.isNotEmpty(allowedKeywords[0]);
253
+ return /*#__PURE__*/jsxRuntime.jsxs("div", {
254
+ className: "space-y-4",
255
+ children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
256
+ children: label
257
+ }), /*#__PURE__*/jsxRuntime.jsxs("div", {
258
+ className: "neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6",
259
+ children: [allowedKeywords.map(function (_, index) {
260
+ return /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
261
+ className: "w-full",
262
+ name: "".concat(name, ".").concat(index),
263
+ placeholder: t("neetoAccessControl.inputs.placeholders.enterKeyword"),
264
+ suffix: showDeleteButton && /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
265
+ "data-cy": "allowed-keyword-delete-button",
266
+ icon: neetoIcons.Delete,
267
+ size: "small",
268
+ style: "text",
269
+ onClick: function onClick() {
270
+ return removeKeyword({
271
+ index: index,
272
+ allowedKeywords: allowedKeywords,
273
+ arrayHelpers: arrayHelpers
274
+ });
275
+ }
276
+ })
277
+ }, index);
278
+ }), /*#__PURE__*/jsxRuntime.jsx(Button__default["default"], {
279
+ className: "pt-2",
280
+ "data-cy": "add-allowed-keyword-button",
281
+ label: t("neetoAccessControl.actions.addKeyword"),
282
+ style: "link",
283
+ onClick: function onClick() {
284
+ return arrayHelpers.push("");
285
+ }
286
+ })]
287
+ })]
280
288
  });
281
- }), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
282
- className: "pt-2",
283
- "data-cy": "add-allowed-keyword-button",
284
- label: t("neetoAccessControl.actions.addKeyword"),
285
- style: "link",
286
- onClick: function onClick() {
287
- return arrayHelpers.push("");
288
- }
289
- })));
289
+ }
290
290
  });
291
291
  });
292
292
 
293
+ 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; }
294
+ 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), !0).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; }
293
295
  var Header = function Header(_ref) {
294
296
  var headerProps = _ref.headerProps;
295
297
  var title = headerProps.title,
296
298
  helpLink = headerProps.helpLink,
297
299
  description = headerProps.description;
298
- return /*#__PURE__*/React__default["default"].createElement(NeetoHeader__default["default"], _extends({}, headerProps, {
299
- title: /*#__PURE__*/React__default["default"].createElement("span", {
300
- className: "flex"
301
- }, title, /*#__PURE__*/React__default["default"].createElement(HelpPopover__default["default"], {
302
- description: description,
303
- title: title,
304
- className: "ml-2 self-center",
305
- helpLinkProps: {
306
- href: helpLink
307
- }
308
- }))
300
+ return /*#__PURE__*/jsxRuntime.jsx(NeetoHeader__default["default"], _objectSpread$1(_objectSpread$1({}, headerProps), {}, {
301
+ title: /*#__PURE__*/jsxRuntime.jsxs("span", {
302
+ className: "flex",
303
+ children: [title, /*#__PURE__*/jsxRuntime.jsx(HelpPopover__default["default"], {
304
+ description: description,
305
+ title: title,
306
+ className: "ml-2 self-center",
307
+ helpLinkProps: {
308
+ href: helpLink
309
+ }
310
+ })]
311
+ })
309
312
  }));
310
313
  };
311
314
 
315
+ 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; }
316
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
312
317
  var Configuration = function Configuration(_ref) {
313
318
  var ownerId = _ref.ownerId,
314
319
  ownerType = _ref.ownerType,
@@ -344,53 +349,58 @@ var Configuration = function Configuration(_ref) {
344
349
  }
345
350
  });
346
351
  };
347
- return /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(Header, {
348
- headerProps: headerProps
349
- }), isLoading ? /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(Scrollable__default["default"], {
350
- className: "w-full"
351
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
352
- className: classNames__default["default"]("space-y-6", className),
353
- formikProps: {
354
- initialValues: configurationInitialValues,
355
- validationSchema: CONFIGURATION_VALIDATION_SCHEMA,
356
- onSubmit: handleSubmit,
357
- onReset: onReset,
358
- enableReinitialize: true
359
- }
360
- }, function (_ref3) {
361
- var values = _ref3.values;
362
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
363
- className: "neeto-ui-text-base"
364
- }, t("neetoAccessControl.inputs.labels.visibility")), /*#__PURE__*/React__default["default"].createElement(formik$1.Radio, {
365
- stacked: true,
366
- name: "auth"
367
- }, AUTH_OPTIONS.map(function (props) {
368
- return /*#__PURE__*/React__default["default"].createElement(formik$1.Radio.Item, _extends({}, props, {
369
- key: props.value
370
- }));
371
- })), values.auth === AUTH.BASIC && /*#__PURE__*/React__default["default"].createElement("div", {
372
- className: "space-y-4 pb-2"
373
- }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
374
- autoFocus: true,
375
- required: true,
376
- unlimitedChars: true,
377
- className: "w-7/12",
378
- label: t("neetoAccessControl.inputs.labels.password"),
379
- name: "password",
380
- placeholder: t("neetoAccessControl.inputs.placeholders.enterPassword")
381
- })), values.auth === AUTH.EMAIL && /*#__PURE__*/React__default["default"].createElement(AllowedKeywords, {
382
- label: t("neetoAccessControl.inputs.labels.keywords"),
383
- name: "allowedKeywords"
384
- }), /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
385
- className: "space-x-2",
386
- cancelButtonProps: {
387
- disabled: false,
388
- onClick: function onClick() {
389
- return handleCancel();
352
+ return /*#__PURE__*/jsxRuntime.jsxs(Container__default["default"], {
353
+ children: [/*#__PURE__*/jsxRuntime.jsx(Header, {
354
+ headerProps: headerProps
355
+ }), isLoading ? /*#__PURE__*/jsxRuntime.jsx(PageLoader__default["default"], {}) : /*#__PURE__*/jsxRuntime.jsx(Scrollable__default["default"], {
356
+ className: "w-full",
357
+ children: /*#__PURE__*/jsxRuntime.jsx(Form__default["default"], {
358
+ className: classNames__default["default"]("space-y-6", className),
359
+ formikProps: {
360
+ initialValues: configurationInitialValues,
361
+ validationSchema: CONFIGURATION_VALIDATION_SCHEMA,
362
+ onSubmit: handleSubmit,
363
+ onReset: onReset,
364
+ enableReinitialize: true
365
+ },
366
+ children: function children(_ref3) {
367
+ var values = _ref3.values;
368
+ return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
369
+ children: [/*#__PURE__*/jsxRuntime.jsx(Label__default["default"], {
370
+ className: "neeto-ui-text-base",
371
+ children: t("neetoAccessControl.inputs.labels.visibility")
372
+ }), /*#__PURE__*/jsxRuntime.jsx(Radio__default["default"], {
373
+ stacked: true,
374
+ name: "auth",
375
+ children: AUTH_OPTIONS.map(function (props) {
376
+ return /*#__PURE__*/react.createElement(Radio__default["default"].Item, _objectSpread(_objectSpread({}, props), {}, {
377
+ key: props.value
378
+ }));
379
+ })
380
+ }), values.auth === AUTH.BASIC && /*#__PURE__*/jsxRuntime.jsx("div", {
381
+ className: "space-y-4 pb-2",
382
+ children: /*#__PURE__*/jsxRuntime.jsx(Input__default["default"], {
383
+ autoFocus: true,
384
+ required: true,
385
+ unlimitedChars: true,
386
+ className: "w-7/12",
387
+ label: t("neetoAccessControl.inputs.labels.password"),
388
+ name: "password",
389
+ placeholder: t("neetoAccessControl.inputs.placeholders.enterPassword")
390
+ })
391
+ }), values.auth === AUTH.EMAIL && /*#__PURE__*/jsxRuntime.jsx(AllowedKeywords, {
392
+ label: t("neetoAccessControl.inputs.labels.keywords"),
393
+ name: "allowedKeywords"
394
+ }), /*#__PURE__*/jsxRuntime.jsx(ActionBlock__default["default"], {
395
+ cancelButtonProps: {
396
+ onClick: handleCancel
397
+ }
398
+ })]
399
+ });
390
400
  }
391
- }
392
- }));
393
- })));
401
+ })
402
+ })]
403
+ });
394
404
  };
395
405
 
396
406
  exports.Configuration = Configuration;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/configurations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.js","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n};\n","import { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\nimport { useQuery } from \"react-query\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION } = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) => {\n const queryKey = [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId];\n\n return useQuery(\n queryKey,\n () => configurationsApi.show({ ownerType, ownerId }),\n { select: prop(\"configuration\"), staleTime: DEFAULT_STALE_TIME }\n );\n};\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [[ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId]],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { hyphenate } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.no\")),\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.basic\")),\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.email\")),\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.session\")),\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { isEmpty, pick, pipe, reject, trim } from \"ramda\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport { buildConfigurationInitialValues, buildPayload } from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n}) => {\n const { t } = useTranslation();\n\n const { data: configuration = {}, isLoading } = useShowConfiguration({\n ownerId,\n ownerType,\n });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n { onSuccess }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <PageLoader />\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item {...props} key={props.value} />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock\n className=\"space-x-2\"\n cancelButtonProps={{\n disabled: false,\n onClick: () => handleCancel(),\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n"],"names":["toPrimitive","toPropertyKey","ACCESS_CONTROL_BASE_PATH","configurationPath","concat","show","params","axios","get","update","_ref","ownerId","ownerType","payload","put","configuration","configurationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","useShowConfiguration","queryKey","useQuery","select","prop","staleTime","DEFAULT_STALE_TIME","useUpdateConfiguration","_ref2","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","AUTH","NO","EMAIL","BASIC","SESSION","AUTH_OPTIONS","label","t","value","hyphenate","CONFIGURATION_VALIDATION_SCHEMA","yup","object","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","array","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","isEmpty","push","removeKeyword","arrayHelpers","index","length","remove","buildPayload","values","pick","rejectEmptyKeywords","reject","pipe","AllowedKeywords","withT","name","_ref$label","React","createElement","FieldArray","form","showDeleteButton","isNotEmpty","className","Label","map","_","Input","key","placeholder","suffix","Button","icon","Delete","size","style","onClick","Header","headerProps","title","helpLink","description","NeetoHeader","_extends","HelpPopover","helpLinkProps","href","Configuration","onReset","onSuccess","_ref$handleCancel","handleCancel","noop","_useTranslation","useTranslation","_useShowConfiguration","_useShowConfiguration2","data","isLoading","configurationInitialValues","_useUpdateConfigurati","updateConfiguration","mutate","handleSubmit","setSubmitting","onSettled","Container","PageLoader","Scrollable","Form","classNames","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","_ref3","Fragment","Radio","stacked","props","Item","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/configurations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.js","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION } = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [[ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId]],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { hyphenate } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.no\")),\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.basic\")),\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.email\")),\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.session\")),\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { isEmpty, pick, pipe, reject, trim } from \"ramda\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport { buildConfigurationInitialValues, buildPayload } from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n}) => {\n const { t } = useTranslation();\n\n const { data: configuration = {}, isLoading } = useShowConfiguration({\n ownerId,\n ownerType,\n });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n { onSuccess }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <PageLoader />\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item {...props} key={props.value} />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock cancelButtonProps={{ onClick: handleCancel }} />\n </>\n )}\n </Form>\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n"],"names":["toPrimitive","toPropertyKey","ACCESS_CONTROL_BASE_PATH","configurationPath","concat","show","params","axios","get","update","_ref","ownerId","ownerType","payload","put","configuration","configurationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","useShowConfiguration","useQuery","queryKey","queryFn","select","prop","staleTime","DEFAULT_STALE_TIME","useUpdateConfiguration","_ref2","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","AUTH","NO","EMAIL","BASIC","SESSION","AUTH_OPTIONS","label","t","value","hyphenate","CONFIGURATION_VALIDATION_SCHEMA","yup","object","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","array","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","isEmpty","push","removeKeyword","arrayHelpers","index","length","remove","buildPayload","values","pick","rejectEmptyKeywords","reject","pipe","AllowedKeywords","withT","name","_ref$label","_jsx","FieldArray","children","form","showDeleteButton","isNotEmpty","_jsxs","className","Label","map","_","Input","placeholder","suffix","Button","icon","Delete","size","style","onClick","Header","headerProps","title","helpLink","description","NeetoHeader","HelpPopover","helpLinkProps","href","Configuration","onReset","onSuccess","_ref$handleCancel","handleCancel","noop","_useTranslation","useTranslation","_useShowConfiguration","_useShowConfiguration2","data","isLoading","configurationInitialValues","_useUpdateConfigurati","updateConfiguration","mutate","handleSubmit","setSubmitting","onSettled","Container","PageLoader","Scrollable","Form","classNames","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","_ref3","_Fragment","Radio","stacked","props","_createElement","Item","key","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,39 +1,29 @@
1
- import React from 'react';
1
+ import { createElement } from 'react';
2
2
  import classNames from 'classnames';
3
3
  import { hyphenate, isNotEmpty, noop } from '@bigbinary/neeto-cist';
4
4
  import Container from '@bigbinary/neeto-molecules/Container';
5
5
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
6
6
  import Scrollable from '@bigbinary/neeto-molecules/Scrollable';
7
- import { Label, Button } from '@bigbinary/neetoui';
8
- import { Input, Form, Radio, ActionBlock } from '@bigbinary/neetoui/formik';
7
+ import Label from '@bigbinary/neetoui/Label';
8
+ import ActionBlock from '@bigbinary/neetoui/formik/ActionBlock';
9
+ import Form from '@bigbinary/neetoui/formik/Form';
10
+ import Input from '@bigbinary/neetoui/formik/Input';
11
+ import Radio from '@bigbinary/neetoui/formik/Radio';
9
12
  import { useTranslation } from 'react-i18next';
13
+ import { useQuery } from '@tanstack/react-query';
10
14
  import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
11
15
  import { useMutationWithInvalidation, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
12
16
  import { prop, equals, isEmpty, pick, reject, pipe, trim } from 'ramda';
13
- import { useQuery } from 'react-query';
14
17
  import axios from 'axios';
15
18
  import { FieldArray } from 'formik';
16
19
  import { Delete } from '@bigbinary/neeto-icons';
20
+ import Button from '@bigbinary/neetoui/Button';
17
21
  import { t } from 'i18next';
18
22
  import * as yup from 'yup';
23
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
19
24
  import NeetoHeader from '@bigbinary/neeto-molecules/Header';
20
25
  import HelpPopover from '@bigbinary/neeto-molecules/HelpPopover';
21
26
 
22
- function _extends() {
23
- _extends = Object.assign ? Object.assign.bind() : function (target) {
24
- for (var i = 1; i < arguments.length; i++) {
25
- var source = arguments[i];
26
- for (var key in source) {
27
- if (Object.prototype.hasOwnProperty.call(source, key)) {
28
- target[key] = source[key];
29
- }
30
- }
31
- }
32
- return target;
33
- };
34
- return _extends.apply(this, arguments);
35
- }
36
-
37
27
  function _typeof(o) {
38
28
  "@babel/helpers - typeof";
39
29
 
@@ -105,19 +95,20 @@ var QUERY_KEYS = {
105
95
  ACCESS_CONTROL_CONFIGURATION: "access-control-configuration"
106
96
  };
107
97
 
108
- 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; }
109
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
98
+ function ownKeys$2(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$2(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$2(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
110
100
  var ACCESS_CONTROL_CONFIGURATION = QUERY_KEYS.ACCESS_CONTROL_CONFIGURATION;
111
101
  var useShowConfiguration = function useShowConfiguration(_ref) {
112
102
  var ownerId = _ref.ownerId,
113
103
  ownerType = _ref.ownerType;
114
- var queryKey = [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId];
115
- return useQuery(queryKey, function () {
116
- return configurationsApi.show({
117
- ownerType: ownerType,
118
- ownerId: ownerId
119
- });
120
- }, {
104
+ return useQuery({
105
+ queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],
106
+ queryFn: function queryFn() {
107
+ return configurationsApi.show({
108
+ ownerType: ownerType,
109
+ ownerId: ownerId
110
+ });
111
+ },
121
112
  select: prop("configuration"),
122
113
  staleTime: DEFAULT_STALE_TIME
123
114
  });
@@ -131,7 +122,7 @@ var useUpdateConfiguration = function useUpdateConfiguration(_ref2, options) {
131
122
  ownerType: ownerType,
132
123
  payload: payload
133
124
  });
134
- }, _objectSpread({
125
+ }, _objectSpread$2({
135
126
  keysToInvalidate: [[ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId]]
136
127
  }, options));
137
128
  };
@@ -215,66 +206,75 @@ var AllowedKeywords = withT(function (_ref) {
215
206
  name = _ref.name,
216
207
  _ref$label = _ref.label,
217
208
  label = _ref$label === void 0 ? "" : _ref$label;
218
- return /*#__PURE__*/React.createElement(FieldArray, {
219
- name: name
220
- }, function (arrayHelpers) {
221
- var allowedKeywords = arrayHelpers.form.values[name];
222
- var showDeleteButton = allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);
223
- return /*#__PURE__*/React.createElement("div", {
224
- className: "space-y-4"
225
- }, /*#__PURE__*/React.createElement(Label, null, label), /*#__PURE__*/React.createElement("div", {
226
- className: "neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6"
227
- }, allowedKeywords.map(function (_, index) {
228
- return /*#__PURE__*/React.createElement(Input, {
229
- className: "w-full",
230
- key: index,
231
- name: "".concat(name, ".").concat(index),
232
- placeholder: t("neetoAccessControl.inputs.placeholders.enterKeyword"),
233
- suffix: showDeleteButton && /*#__PURE__*/React.createElement(Button, {
234
- "data-cy": "allowed-keyword-delete-button",
235
- icon: Delete,
236
- size: "small",
237
- style: "text",
238
- onClick: function onClick() {
239
- return removeKeyword({
240
- index: index,
241
- allowedKeywords: allowedKeywords,
242
- arrayHelpers: arrayHelpers
243
- });
244
- }
245
- })
209
+ return /*#__PURE__*/jsx(FieldArray, {
210
+ name: name,
211
+ children: function children(arrayHelpers) {
212
+ var allowedKeywords = arrayHelpers.form.values[name];
213
+ var showDeleteButton = allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);
214
+ return /*#__PURE__*/jsxs("div", {
215
+ className: "space-y-4",
216
+ children: [/*#__PURE__*/jsx(Label, {
217
+ children: label
218
+ }), /*#__PURE__*/jsxs("div", {
219
+ className: "neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6",
220
+ children: [allowedKeywords.map(function (_, index) {
221
+ return /*#__PURE__*/jsx(Input, {
222
+ className: "w-full",
223
+ name: "".concat(name, ".").concat(index),
224
+ placeholder: t("neetoAccessControl.inputs.placeholders.enterKeyword"),
225
+ suffix: showDeleteButton && /*#__PURE__*/jsx(Button, {
226
+ "data-cy": "allowed-keyword-delete-button",
227
+ icon: Delete,
228
+ size: "small",
229
+ style: "text",
230
+ onClick: function onClick() {
231
+ return removeKeyword({
232
+ index: index,
233
+ allowedKeywords: allowedKeywords,
234
+ arrayHelpers: arrayHelpers
235
+ });
236
+ }
237
+ })
238
+ }, index);
239
+ }), /*#__PURE__*/jsx(Button, {
240
+ className: "pt-2",
241
+ "data-cy": "add-allowed-keyword-button",
242
+ label: t("neetoAccessControl.actions.addKeyword"),
243
+ style: "link",
244
+ onClick: function onClick() {
245
+ return arrayHelpers.push("");
246
+ }
247
+ })]
248
+ })]
246
249
  });
247
- }), /*#__PURE__*/React.createElement(Button, {
248
- className: "pt-2",
249
- "data-cy": "add-allowed-keyword-button",
250
- label: t("neetoAccessControl.actions.addKeyword"),
251
- style: "link",
252
- onClick: function onClick() {
253
- return arrayHelpers.push("");
254
- }
255
- })));
250
+ }
256
251
  });
257
252
  });
258
253
 
254
+ 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; }
255
+ 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), !0).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; }
259
256
  var Header = function Header(_ref) {
260
257
  var headerProps = _ref.headerProps;
261
258
  var title = headerProps.title,
262
259
  helpLink = headerProps.helpLink,
263
260
  description = headerProps.description;
264
- return /*#__PURE__*/React.createElement(NeetoHeader, _extends({}, headerProps, {
265
- title: /*#__PURE__*/React.createElement("span", {
266
- className: "flex"
267
- }, title, /*#__PURE__*/React.createElement(HelpPopover, {
268
- description: description,
269
- title: title,
270
- className: "ml-2 self-center",
271
- helpLinkProps: {
272
- href: helpLink
273
- }
274
- }))
261
+ return /*#__PURE__*/jsx(NeetoHeader, _objectSpread$1(_objectSpread$1({}, headerProps), {}, {
262
+ title: /*#__PURE__*/jsxs("span", {
263
+ className: "flex",
264
+ children: [title, /*#__PURE__*/jsx(HelpPopover, {
265
+ description: description,
266
+ title: title,
267
+ className: "ml-2 self-center",
268
+ helpLinkProps: {
269
+ href: helpLink
270
+ }
271
+ })]
272
+ })
275
273
  }));
276
274
  };
277
275
 
276
+ 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; }
277
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
278
278
  var Configuration = function Configuration(_ref) {
279
279
  var ownerId = _ref.ownerId,
280
280
  ownerType = _ref.ownerType,
@@ -310,53 +310,58 @@ var Configuration = function Configuration(_ref) {
310
310
  }
311
311
  });
312
312
  };
313
- return /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, {
314
- headerProps: headerProps
315
- }), isLoading ? /*#__PURE__*/React.createElement(PageLoader, null) : /*#__PURE__*/React.createElement(Scrollable, {
316
- className: "w-full"
317
- }, /*#__PURE__*/React.createElement(Form, {
318
- className: classNames("space-y-6", className),
319
- formikProps: {
320
- initialValues: configurationInitialValues,
321
- validationSchema: CONFIGURATION_VALIDATION_SCHEMA,
322
- onSubmit: handleSubmit,
323
- onReset: onReset,
324
- enableReinitialize: true
325
- }
326
- }, function (_ref3) {
327
- var values = _ref3.values;
328
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Label, {
329
- className: "neeto-ui-text-base"
330
- }, t("neetoAccessControl.inputs.labels.visibility")), /*#__PURE__*/React.createElement(Radio, {
331
- stacked: true,
332
- name: "auth"
333
- }, AUTH_OPTIONS.map(function (props) {
334
- return /*#__PURE__*/React.createElement(Radio.Item, _extends({}, props, {
335
- key: props.value
336
- }));
337
- })), values.auth === AUTH.BASIC && /*#__PURE__*/React.createElement("div", {
338
- className: "space-y-4 pb-2"
339
- }, /*#__PURE__*/React.createElement(Input, {
340
- autoFocus: true,
341
- required: true,
342
- unlimitedChars: true,
343
- className: "w-7/12",
344
- label: t("neetoAccessControl.inputs.labels.password"),
345
- name: "password",
346
- placeholder: t("neetoAccessControl.inputs.placeholders.enterPassword")
347
- })), values.auth === AUTH.EMAIL && /*#__PURE__*/React.createElement(AllowedKeywords, {
348
- label: t("neetoAccessControl.inputs.labels.keywords"),
349
- name: "allowedKeywords"
350
- }), /*#__PURE__*/React.createElement(ActionBlock, {
351
- className: "space-x-2",
352
- cancelButtonProps: {
353
- disabled: false,
354
- onClick: function onClick() {
355
- return handleCancel();
313
+ return /*#__PURE__*/jsxs(Container, {
314
+ children: [/*#__PURE__*/jsx(Header, {
315
+ headerProps: headerProps
316
+ }), isLoading ? /*#__PURE__*/jsx(PageLoader, {}) : /*#__PURE__*/jsx(Scrollable, {
317
+ className: "w-full",
318
+ children: /*#__PURE__*/jsx(Form, {
319
+ className: classNames("space-y-6", className),
320
+ formikProps: {
321
+ initialValues: configurationInitialValues,
322
+ validationSchema: CONFIGURATION_VALIDATION_SCHEMA,
323
+ onSubmit: handleSubmit,
324
+ onReset: onReset,
325
+ enableReinitialize: true
326
+ },
327
+ children: function children(_ref3) {
328
+ var values = _ref3.values;
329
+ return /*#__PURE__*/jsxs(Fragment, {
330
+ children: [/*#__PURE__*/jsx(Label, {
331
+ className: "neeto-ui-text-base",
332
+ children: t("neetoAccessControl.inputs.labels.visibility")
333
+ }), /*#__PURE__*/jsx(Radio, {
334
+ stacked: true,
335
+ name: "auth",
336
+ children: AUTH_OPTIONS.map(function (props) {
337
+ return /*#__PURE__*/createElement(Radio.Item, _objectSpread(_objectSpread({}, props), {}, {
338
+ key: props.value
339
+ }));
340
+ })
341
+ }), values.auth === AUTH.BASIC && /*#__PURE__*/jsx("div", {
342
+ className: "space-y-4 pb-2",
343
+ children: /*#__PURE__*/jsx(Input, {
344
+ autoFocus: true,
345
+ required: true,
346
+ unlimitedChars: true,
347
+ className: "w-7/12",
348
+ label: t("neetoAccessControl.inputs.labels.password"),
349
+ name: "password",
350
+ placeholder: t("neetoAccessControl.inputs.placeholders.enterPassword")
351
+ })
352
+ }), values.auth === AUTH.EMAIL && /*#__PURE__*/jsx(AllowedKeywords, {
353
+ label: t("neetoAccessControl.inputs.labels.keywords"),
354
+ name: "allowedKeywords"
355
+ }), /*#__PURE__*/jsx(ActionBlock, {
356
+ cancelButtonProps: {
357
+ onClick: handleCancel
358
+ }
359
+ })]
360
+ });
356
361
  }
357
- }
358
- }));
359
- })));
362
+ })
363
+ })]
364
+ });
360
365
  };
361
366
 
362
367
  export { Configuration };
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../node_modules/@babel/runtime/helpers/esm/extends.js","../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/configurations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.js","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx"],"sourcesContent":["export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n};\n","import { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\nimport { useQuery } from \"react-query\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION } = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) => {\n const queryKey = [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId];\n\n return useQuery(\n queryKey,\n () => configurationsApi.show({ ownerType, ownerId }),\n { select: prop(\"configuration\"), staleTime: DEFAULT_STALE_TIME }\n );\n};\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [[ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId]],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { hyphenate } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.no\")),\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.basic\")),\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.email\")),\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.session\")),\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { isEmpty, pick, pipe, reject, trim } from \"ramda\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport { buildConfigurationInitialValues, buildPayload } from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n}) => {\n const { t } = useTranslation();\n\n const { data: configuration = {}, isLoading } = useShowConfiguration({\n ownerId,\n ownerType,\n });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n { onSuccess }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <PageLoader />\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item {...props} key={props.value} />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock\n className=\"space-x-2\"\n cancelButtonProps={{\n disabled: false,\n onClick: () => handleCancel(),\n }}\n />\n </>\n )}\n </Form>\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n"],"names":["toPrimitive","toPropertyKey","ACCESS_CONTROL_BASE_PATH","configurationPath","concat","show","params","axios","get","update","_ref","ownerId","ownerType","payload","put","configuration","configurationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","useShowConfiguration","queryKey","useQuery","select","prop","staleTime","DEFAULT_STALE_TIME","useUpdateConfiguration","_ref2","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","AUTH","NO","EMAIL","BASIC","SESSION","AUTH_OPTIONS","label","t","value","hyphenate","CONFIGURATION_VALIDATION_SCHEMA","yup","object","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","array","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","isEmpty","push","removeKeyword","arrayHelpers","index","length","remove","buildPayload","values","pick","rejectEmptyKeywords","reject","pipe","AllowedKeywords","withT","name","_ref$label","React","createElement","FieldArray","form","showDeleteButton","isNotEmpty","className","Label","map","_","Input","key","placeholder","suffix","Button","icon","Delete","size","style","onClick","Header","headerProps","title","helpLink","description","NeetoHeader","_extends","HelpPopover","helpLinkProps","href","Configuration","onReset","onSuccess","_ref$handleCancel","handleCancel","noop","_useTranslation","useTranslation","_useShowConfiguration","_useShowConfiguration2","data","isLoading","configurationInitialValues","_useUpdateConfigurati","updateConfiguration","mutate","handleSubmit","setSubmitting","onSettled","Container","PageLoader","Scrollable","Form","classNames","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","_ref3","Fragment","Radio","stacked","props","Item","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps","disabled"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../app/javascript/src/constants/index.js","../app/javascript/src/apis/configurations.js","../app/javascript/src/constants/query.js","../app/javascript/src/hooks/reactQuery/useConfigurationsApi.js","../app/javascript/src/components/Configuration/constants.js","../app/javascript/src/components/Configuration/utils.js","../app/javascript/src/components/Configuration/AllowedKeywords.jsx","../app/javascript/src/components/Configuration/Header.jsx","../app/javascript/src/components/Configuration/index.jsx"],"sourcesContent":["export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export const ACCESS_CONTROL_BASE_PATH = \"/secure/api/v1\";\n","import axios from \"axios\";\n\nimport { ACCESS_CONTROL_BASE_PATH } from \"src/constants\";\n\nconst configurationPath = `${ACCESS_CONTROL_BASE_PATH}/configuration`;\n\nconst show = params => axios.get(configurationPath, { params });\n\nconst update = ({ ownerId, ownerType, payload }) =>\n axios.put(\n configurationPath,\n { configuration: payload },\n { params: { ownerId, ownerType } }\n );\n\nconst configurationsApi = { show, update };\n\nexport default configurationsApi;\n","export const QUERY_KEYS = {\n ACCESS_CONTROL_CONFIGURATION: \"access-control-configuration\",\n};\n","import { useQuery } from \"@tanstack/react-query\";\nimport { DEFAULT_STALE_TIME } from \"neetocommons/constants\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\nimport { prop } from \"ramda\";\n\nimport configurationsApi from \"apis/configurations\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst { ACCESS_CONTROL_CONFIGURATION } = QUERY_KEYS;\n\nexport const useShowConfiguration = ({ ownerId, ownerType }) =>\n useQuery({\n queryKey: [ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId],\n queryFn: () => configurationsApi.show({ ownerType, ownerId }),\n select: prop(\"configuration\"),\n staleTime: DEFAULT_STALE_TIME,\n });\n\nexport const useUpdateConfiguration = ({ ownerId, ownerType }, options) =>\n useMutationWithInvalidation(\n payload => configurationsApi.update({ ownerId, ownerType, payload }),\n {\n keysToInvalidate: [[ACCESS_CONTROL_CONFIGURATION, ownerType, ownerId]],\n ...options,\n }\n );\n","import { t } from \"i18next\";\nimport { hyphenate } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport * as yup from \"yup\";\n\nexport const AUTH = {\n NO: \"no\",\n EMAIL: \"email\",\n BASIC: \"basic\",\n SESSION: \"session\",\n};\n\nexport const AUTH_OPTIONS = [\n {\n label: t(\"neetoAccessControl.auth.no\"),\n value: AUTH.NO,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.no\")),\n },\n {\n label: t(\"neetoAccessControl.auth.basic\"),\n value: AUTH.BASIC,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.basic\")),\n },\n {\n label: t(\"neetoAccessControl.auth.email\"),\n value: AUTH.EMAIL,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.email\")),\n },\n {\n label: t(\"neetoAccessControl.auth.session\"),\n value: AUTH.SESSION,\n \"data-cy\": hyphenate(t(\"neetoAccessControl.auth.session\")),\n },\n];\n\nexport const CONFIGURATION_VALIDATION_SCHEMA = yup.object({\n auth: yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.authRequired\")),\n password: yup\n .string()\n .nullable()\n .when(\"auth\", {\n is: equals(AUTH.BASIC),\n then: yup\n .string()\n .nullable()\n .trim()\n .min(4, t(\"neetoAccessControl.inputs.validation.passwordMinLength\"))\n .required(t(\"neetoAccessControl.inputs.validation.passwordRequired\")),\n }),\n allowedKeywords: yup.array().when(\"auth\", {\n is: equals(AUTH.EMAIL),\n then: yup\n .array()\n .of(\n yup\n .string()\n .required(t(\"neetoAccessControl.inputs.validation.keywordRequired\"))\n ),\n }),\n});\n\nexport const DEFAULT_CONFIGURATION_VALUES = {\n auth: AUTH.NO,\n password: \"\",\n allowedKeywords: [\"\"],\n};\n","import { isEmpty, pick, pipe, reject, trim } from \"ramda\";\n\nimport { AUTH, DEFAULT_CONFIGURATION_VALUES } from \"./constants\";\n\nexport const buildConfigurationInitialValues = configuration => {\n if (configuration.auth === AUTH.NO) {\n return DEFAULT_CONFIGURATION_VALUES;\n }\n\n if (isEmpty(configuration.allowedKeywords)) {\n configuration.allowedKeywords.push(\"\");\n }\n\n return configuration;\n};\n\nexport const removeKeyword = ({ arrayHelpers, index, allowedKeywords }) => {\n if (allowedKeywords.length === 1) {\n arrayHelpers.remove(index);\n arrayHelpers.push(\"\");\n\n return;\n }\n arrayHelpers.remove(index);\n};\n\nexport const buildPayload = values => {\n const payload = pick([\"auth\"], values);\n\n if (values.auth === AUTH.BASIC) {\n payload[\"password\"] = values.password;\n\n return payload;\n }\n\n if (values.auth === AUTH.EMAIL) {\n const rejectEmptyKeywords = reject(pipe(trim, isEmpty));\n payload[\"allowedKeywords\"] = rejectEmptyKeywords(values.allowedKeywords);\n\n return payload;\n }\n\n return payload;\n};\n","import React from \"react\";\n\nimport { FieldArray } from \"formik\";\nimport { isNotEmpty } from \"neetocist\";\nimport { withT } from \"neetocommons/react-utils\";\nimport { Delete } from \"neetoicons\";\nimport { Button, Label } from \"neetoui\";\nimport { Input } from \"neetoui/formik\";\n\nimport { removeKeyword } from \"./utils\";\n\nconst AllowedKeywords = withT(({ t, name, label = \"\" }) => (\n <FieldArray {...{ name }}>\n {arrayHelpers => {\n const allowedKeywords = arrayHelpers.form.values[name];\n const showDeleteButton =\n allowedKeywords.length > 1 || isNotEmpty(allowedKeywords[0]);\n\n return (\n <div className=\"space-y-4\">\n <Label>{label}</Label>\n <div className=\"neeto-ui-bg-pastel-blue neeto-ui-rounded-sm space-y-4 p-6\">\n {allowedKeywords.map((_, index) => (\n <Input\n className=\"w-full\"\n key={index}\n name={`${name}.${index}`}\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterKeyword\"\n )}\n suffix={\n showDeleteButton && (\n <Button\n data-cy=\"allowed-keyword-delete-button\"\n icon={Delete}\n size=\"small\"\n style=\"text\"\n onClick={() =>\n removeKeyword({\n index,\n allowedKeywords,\n arrayHelpers,\n })\n }\n />\n )\n }\n />\n ))}\n <Button\n className=\"pt-2\"\n data-cy=\"add-allowed-keyword-button\"\n label={t(\"neetoAccessControl.actions.addKeyword\")}\n style=\"link\"\n onClick={() => arrayHelpers.push(\"\")}\n />\n </div>\n </div>\n );\n }}\n </FieldArray>\n));\n\nexport default AllowedKeywords;\n","import React from \"react\";\n\nimport NeetoHeader from \"neetomolecules/Header\";\nimport HelpPopover from \"neetomolecules/HelpPopover\";\n\nconst Header = ({ headerProps }) => {\n const { title, helpLink, description } = headerProps;\n\n return (\n <NeetoHeader\n {...headerProps}\n title={\n <span className=\"flex\">\n {title}\n <HelpPopover\n {...{ description, title }}\n className=\"ml-2 self-center\"\n helpLinkProps={{ href: helpLink }}\n />\n </span>\n }\n />\n );\n};\n\nexport default Header;\n","import React from \"react\";\n\nimport classNames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport Container from \"neetomolecules/Container\";\nimport PageLoader from \"neetomolecules/PageLoader\";\nimport Scrollable from \"neetomolecules/Scrollable\";\nimport { Label } from \"neetoui\";\nimport { ActionBlock, Form, Input, Radio } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n useShowConfiguration,\n useUpdateConfiguration,\n} from \"hooks/reactQuery/useConfigurationsApi\";\n\nimport AllowedKeywords from \"./AllowedKeywords\";\nimport {\n AUTH,\n AUTH_OPTIONS,\n CONFIGURATION_VALIDATION_SCHEMA,\n} from \"./constants\";\nimport Header from \"./Header\";\nimport { buildConfigurationInitialValues, buildPayload } from \"./utils\";\n\nconst Configuration = ({\n ownerId,\n ownerType,\n onReset,\n onSuccess,\n headerProps,\n className,\n handleCancel = noop,\n}) => {\n const { t } = useTranslation();\n\n const { data: configuration = {}, isLoading } = useShowConfiguration({\n ownerId,\n ownerType,\n });\n\n const configurationInitialValues =\n buildConfigurationInitialValues(configuration);\n\n const { mutate: updateConfiguration } = useUpdateConfiguration(\n { ownerId, ownerType },\n { onSuccess }\n );\n\n const handleSubmit = (values, { setSubmitting }) => {\n const payload = buildPayload(values);\n\n updateConfiguration(payload, { onSettled: () => setSubmitting(false) });\n };\n\n return (\n <Container>\n <Header {...{ headerProps }} />\n {isLoading ? (\n <PageLoader />\n ) : (\n <Scrollable className=\"w-full\">\n <Form\n className={classNames(\"space-y-6\", className)}\n formikProps={{\n initialValues: configurationInitialValues,\n validationSchema: CONFIGURATION_VALIDATION_SCHEMA,\n onSubmit: handleSubmit,\n onReset,\n enableReinitialize: true,\n }}\n >\n {({ values }) => (\n <>\n <Label className=\"neeto-ui-text-base\">\n {t(\"neetoAccessControl.inputs.labels.visibility\")}\n </Label>\n <Radio stacked name=\"auth\">\n {AUTH_OPTIONS.map(props => (\n <Radio.Item {...props} key={props.value} />\n ))}\n </Radio>\n {values.auth === AUTH.BASIC && (\n <div className=\"space-y-4 pb-2\">\n <Input\n autoFocus\n required\n unlimitedChars\n className=\"w-7/12\"\n label={t(\"neetoAccessControl.inputs.labels.password\")}\n name=\"password\"\n placeholder={t(\n \"neetoAccessControl.inputs.placeholders.enterPassword\"\n )}\n />\n </div>\n )}\n {values.auth === AUTH.EMAIL && (\n <AllowedKeywords\n label={t(\"neetoAccessControl.inputs.labels.keywords\")}\n name=\"allowedKeywords\"\n />\n )}\n <ActionBlock cancelButtonProps={{ onClick: handleCancel }} />\n </>\n )}\n </Form>\n </Scrollable>\n )}\n </Container>\n );\n};\nexport default Configuration;\n"],"names":["toPrimitive","toPropertyKey","ACCESS_CONTROL_BASE_PATH","configurationPath","concat","show","params","axios","get","update","_ref","ownerId","ownerType","payload","put","configuration","configurationsApi","QUERY_KEYS","ACCESS_CONTROL_CONFIGURATION","useShowConfiguration","useQuery","queryKey","queryFn","select","prop","staleTime","DEFAULT_STALE_TIME","useUpdateConfiguration","_ref2","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","AUTH","NO","EMAIL","BASIC","SESSION","AUTH_OPTIONS","label","t","value","hyphenate","CONFIGURATION_VALIDATION_SCHEMA","yup","object","auth","string","required","password","nullable","when","is","equals","then","trim","min","allowedKeywords","array","of","DEFAULT_CONFIGURATION_VALUES","buildConfigurationInitialValues","isEmpty","push","removeKeyword","arrayHelpers","index","length","remove","buildPayload","values","pick","rejectEmptyKeywords","reject","pipe","AllowedKeywords","withT","name","_ref$label","_jsx","FieldArray","children","form","showDeleteButton","isNotEmpty","_jsxs","className","Label","map","_","Input","placeholder","suffix","Button","icon","Delete","size","style","onClick","Header","headerProps","title","helpLink","description","NeetoHeader","HelpPopover","helpLinkProps","href","Configuration","onReset","onSuccess","_ref$handleCancel","handleCancel","noop","_useTranslation","useTranslation","_useShowConfiguration","_useShowConfiguration2","data","isLoading","configurationInitialValues","_useUpdateConfigurati","updateConfiguration","mutate","handleSubmit","setSubmitting","onSettled","Container","PageLoader","Scrollable","Form","classNames","formikProps","initialValues","validationSchema","onSubmit","enableReinitialize","_ref3","_Fragment","Radio","stacked","props","_createElement","Item","key","autoFocus","unlimitedChars","ActionBlock","cancelButtonProps"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-access-control-frontend",
3
- "version": "0.0.7",
3
+ "version": "0.1.0-beta1",
4
4
  "description": "Neeto access control",
5
5
  "license": "UNLICENSED",
6
6
  "homepage": "https://github.com/bigbinary/neeto-access-control-nano",
@@ -48,14 +48,14 @@
48
48
  "@babel/preset-typescript": "7.23.2",
49
49
  "@babel/runtime": "7.23.2",
50
50
  "@bigbinary/babel-preset-neeto": "1.0.6",
51
- "@bigbinary/eslint-plugin-neeto": "1.5.0",
52
- "@bigbinary/neeto-audit-frontend": "2.0.9",
51
+ "@bigbinary/eslint-plugin-neeto": "1.5.1",
52
+ "@bigbinary/neeto-audit-frontend": "2.0.11",
53
53
  "@bigbinary/neeto-cist": "1.0.9",
54
- "@bigbinary/neeto-commons-frontend": "3.3.0",
55
- "@bigbinary/neeto-filters-frontend": "3.3.1",
56
- "@bigbinary/neeto-icons": "1.18.4",
57
- "@bigbinary/neeto-molecules": "1.15.15",
58
- "@bigbinary/neetoui": "6.5.10",
54
+ "@bigbinary/neeto-commons-frontend": "3.5.5",
55
+ "@bigbinary/neeto-filters-frontend": "3.3.4",
56
+ "@bigbinary/neeto-icons": "1.18.9",
57
+ "@bigbinary/neeto-molecules": "1.19.4",
58
+ "@bigbinary/neetoui": "6.5.13",
59
59
  "@emotion/is-prop-valid": "1.2.0",
60
60
  "@faker-js/faker": "8.2.0",
61
61
  "@honeybadger-io/js": "6.5.3",
@@ -67,6 +67,7 @@
67
67
  "@rollup/plugin-node-resolve": "15.2.3",
68
68
  "@rollup/plugin-replace": "5.0.4",
69
69
  "@svgr/rollup": "8.1.0",
70
+ "@tanstack/react-query": "5.40.0",
70
71
  "antd": "5.10.2",
71
72
  "autoprefixer": "10.4.16",
72
73
  "axios": "1.6.0",
@@ -124,7 +125,6 @@
124
125
  "react-dom": "18.2.0",
125
126
  "react-helmet": "6.1.0",
126
127
  "react-i18next": "13.3.1",
127
- "react-query": "3.39.3",
128
128
  "react-router-dom": "5.3.4",
129
129
  "react-toastify": "8.2.0",
130
130
  "react_ujs": "^3.1.1",
@@ -153,14 +153,15 @@
153
153
  },
154
154
  "peerDependencies": {
155
155
  "@bigbinary/neeto-cist": "latest",
156
- "@bigbinary/neeto-commons-frontend": "3.3.0",
156
+ "@bigbinary/neeto-commons-frontend": "3.5.5",
157
157
  "@bigbinary/neeto-editor": "^1.26.3",
158
- "@bigbinary/neeto-filters-frontend": "3.3.1",
159
- "@bigbinary/neeto-icons": "1.18.4",
160
- "@bigbinary/neeto-molecules": "1.15.15",
161
- "@bigbinary/neetoui": "6.5.10",
158
+ "@bigbinary/neeto-filters-frontend": "3.3.4",
159
+ "@bigbinary/neeto-icons": "1.18.9",
160
+ "@bigbinary/neeto-molecules": "1.19.4",
161
+ "@bigbinary/neetoui": "6.5.13",
162
162
  "@honeybadger-io/js": "^6.5.3",
163
163
  "@honeybadger-io/react": "^6.1.9",
164
+ "@tanstack/react-query": "5.40.0",
164
165
  "axios": "^1.6.0",
165
166
  "classnames": "^2.3.2",
166
167
  "formik": "^2.4.5",
@@ -172,7 +173,6 @@
172
173
  "react-dom": "^18.2.0",
173
174
  "react-helmet": "^6.1.0",
174
175
  "react-i18next": "^13.3.1",
175
- "react-query": "^3.39.3",
176
176
  "react-router-dom": "^5.3.4",
177
177
  "react-toastify": "^8.2.0",
178
178
  "yup": "^0.32.11",
@@ -187,6 +187,7 @@
187
187
  "yarn": ">=1.22"
188
188
  },
189
189
  "dependencies": {
190
+ "babel-plugin-transform-imports": "^2.0.0",
190
191
  "react-router-nav-prompt": "0.4.1",
191
192
  "source-map-loader": "^4.0.1",
192
193
  "zustand": "4.3.2"