react-generic-user 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.css +1 -1
- package/dist/components.js +81 -54
- package/dist/context.js +5 -4
- package/dist/harness.js +0 -0
- package/dist/index.css +1 -1
- package/dist/index.js +30 -24
- package/dist/redux.js +8 -7
- package/dist/type.js +0 -0
- package/package.json +15 -35
package/dist/components.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* !/usr/bin/env css
|
|
2
|
-
-*- coding: utf-8 -*- */.login{display:grid;grid-gap:20px;grid-gap:var(--w-default-space,20px);gap:20px;gap:var(--w-default-space,20px);grid-template-columns:1fr;margin:0 auto;width:400px}.login .login__status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#018786;color:var(--mdc-theme-secondary,#018786);font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline2-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:3.75rem;font-size:var(--mdc-typography-headline2-font-size,3.75rem);font-weight:300;font-weight:var(--mdc-typography-headline2-font-weight,300);letter-spacing:-.
|
|
2
|
+
-*- coding: utf-8 -*- */.login{display:grid;grid-gap:20px;grid-gap:var(--w-default-space,20px);gap:20px;gap:var(--w-default-space,20px);grid-template-columns:1fr;margin:0 auto;width:400px}.login .login__status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#018786;color:var(--mdc-theme-secondary,#018786);font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline2-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:3.75rem;font-size:var(--mdc-typography-headline2-font-size,3.75rem);font-weight:300;font-weight:var(--mdc-typography-headline2-font-weight,300);letter-spacing:-.0083em;letter-spacing:var(--mdc-typography-headline2-letter-spacing,-.0083em);line-height:3.75rem;line-height:var(--mdc-typography-headline2-line-height,3.75rem);text-align:center}.login .login__button,.login .login__name,.login .login__password{visibility:visible}
|
package/dist/components.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
if(typeof window==='undefined'||window===null)var window=(typeof globalThis==='undefined'||globalThis===null)?{}:globalThis;import
|
|
1
|
+
if(typeof window==='undefined'||window===null)var window=(typeof globalThis==='undefined'||globalThis===null)?{}:globalThis;import { default as __WEBPACK_EXTERNAL_MODULE_react_input_material_components_TextInput_e3667393_default__ } from "react-input-material/components/TextInput";
|
|
2
|
+
import { Button as __WEBPACK_EXTERNAL_MODULE__rmwc_button_e0454fea_Button__ } from "@rmwc/button";
|
|
3
|
+
import * as __WEBPACK_EXTERNAL_MODULE_clientnode__ from "clientnode";
|
|
2
4
|
import * as __WEBPACK_EXTERNAL_MODULE_react__ from "react";
|
|
3
5
|
import * as __WEBPACK_EXTERNAL_MODULE_react_generic_tools_67824958__ from "react-generic-tools";
|
|
4
6
|
import * as __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__ from "react/jsx-runtime";
|
|
5
|
-
import { TextInput as __WEBPACK_EXTERNAL_MODULE_react_input_material_bf884f53_TextInput__ } from "react-input-material";
|
|
6
|
-
import { Button as __WEBPACK_EXTERNAL_MODULE__rmwc_button_e0454fea_Button__ } from "@rmwc/button";
|
|
7
7
|
/******/ var __webpack_modules__ = ([
|
|
8
8
|
/* 0 */,
|
|
9
9
|
/* 1 */
|
|
@@ -17,6 +17,13 @@ module.exports = x({ ["memo"]: function() { return __WEBPACK_EXTERNAL_MODULE_rea
|
|
|
17
17
|
|
|
18
18
|
/***/ }),
|
|
19
19
|
/* 2 */
|
|
20
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__) {
|
|
21
|
+
|
|
22
|
+
// extracted by mini-css-extract-plugin
|
|
23
|
+
/* harmony default export */ __webpack_exports__.A = ({"login":"login","loginStatus":"login__status","loginButton":"login__button","loginName":"login__name","loginPassword":"login__password"});
|
|
24
|
+
|
|
25
|
+
/***/ }),
|
|
26
|
+
/* 3 */
|
|
20
27
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
21
28
|
|
|
22
29
|
var x = function(y) {
|
|
@@ -26,11 +33,67 @@ var y = function(x) { return function() { return x; }; }
|
|
|
26
33
|
module.exports = x({ ["Fragment"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.Fragment; }, ["jsx"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.jsx; }, ["jsxs"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.jsxs; } });
|
|
27
34
|
|
|
28
35
|
/***/ }),
|
|
29
|
-
/* 3 */,
|
|
30
36
|
/* 4 */,
|
|
31
|
-
/* 5
|
|
37
|
+
/* 5 */
|
|
38
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
// EXPORTS
|
|
42
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
43
|
+
sr: function() { return /* binding */ CSS_CLASS_NAMES; },
|
|
44
|
+
WV: function() { return /* binding */ componentFactory; },
|
|
45
|
+
Ay: function() { return /* binding */ components; }
|
|
46
|
+
});
|
|
47
|
+
|
|
48
|
+
// EXTERNAL MODULE: external "clientnode"
|
|
49
|
+
var external_clientnode_ = __webpack_require__(8);
|
|
50
|
+
// EXTERNAL MODULE: external "react"
|
|
51
|
+
var external_react_ = __webpack_require__(1);
|
|
52
|
+
;// external "react-input-material/components/TextInput"
|
|
53
|
+
|
|
54
|
+
// EXTERNAL MODULE: external "react-generic-tools"
|
|
55
|
+
var external_react_generic_tools_ = __webpack_require__(9);
|
|
56
|
+
;// external "@rmwc/button"
|
|
57
|
+
|
|
58
|
+
// EXTERNAL MODULE: ./src/style.module.css
|
|
59
|
+
var style_module = __webpack_require__(2);
|
|
60
|
+
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
61
|
+
var jsx_runtime_ = __webpack_require__(3);
|
|
62
|
+
;// ./src/components.tsx
|
|
63
|
+
// #!/usr/bin/env babel-node
|
|
64
|
+
// -*- coding: utf-8 -*-
|
|
65
|
+
/** @module index *//* !
|
|
66
|
+
region header
|
|
67
|
+
[Project page](https://tsickert.com/react-generic-user)
|
|
68
|
+
|
|
69
|
+
Copyright Torben Sickert (info["~at~"]tsickert.com) 16.12.2012
|
|
70
|
+
endregion
|
|
71
|
+
*/// region imports
|
|
72
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",a=o.toStringTag||"@@toStringTag";function i(o,n,a,i){var u=n&&n.prototype instanceof Generator?n:Generator,f=Object.create(u.prototype);return _regeneratorDefine2(f,"_invoke",function(t,o,n){var a,i,u,f=0,p=n||[],y=!1,G={p:0,n:0,v:r,a:l,f:l.bind(r,4),d:function d(t,e){return a=t,i=0,u=r,G.n=e,c}};function l(t,o){for(i=t,u=o,e=0;!y&&f&&!n&&e<p.length;e++){var n,a=p[e],l=G.p,F=a[2];t>3?(n=F===o)&&(u=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=r):a[0]<=l&&((n=t<2&&l<a[1])?(i=0,G.v=o,G.n=a[1]):l<F&&(n=t<3||a[0]>o||o>F)&&(a[4]=t,a[5]=o,G.n=F,i=0))}if(n||t>1)return c;throw y=!0,o}return function(n,p,F){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&l(p,F),i=p,u=F;(e=i<2?r:u)||!y;){a||(i?i<3?(i>1&&(G.n=-1),l(i,u)):G.n=u:G.v=u);try{if(f=2,a){if(i||(n="next"),e=a[n]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,i<2&&(i=0)}else 1===i&&(e=a.return)&&e.call(a),i<2&&(u=TypeError("The iterator does not provide a '"+n+"' method"),i=1);a=r}else if((e=(y=G.n<0)?u:t.call(o,G))!==c)break}catch(t){a=r,i=1,u=t}finally{f=1}}return{value:e,done:y}}}(o,a,i),!0),f}var c={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}e=Object.getPrototypeOf;var u=[][n]?e(e([][n]())):(_regeneratorDefine2(e={},n,function(){return this}),e),f=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(u);function p(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,GeneratorFunctionPrototype):(r.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(r,a,"GeneratorFunction")),r.prototype=Object.create(f),r}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(f,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,a,"GeneratorFunction"),_regeneratorDefine2(f),_regeneratorDefine2(f,a,"Generator"),_regeneratorDefine2(f,n,function(){return this}),_regeneratorDefine2(f,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:p}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _slicedToArray(e,i){return _iterableToArrayLimit(e,i)||_unsupportedIterableToArray(e,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,t){var e=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(Array.isArray(r)&&(null==e||e===("undefined"!=typeof Symbol&&[][Symbol.iterator])||e===[]["@@iterator"]))return r;if(null!=e){var l,n,i,a,u=[],o=!0,f=!1;try{if(i=(e=e.call(r)).next,0===t){if(Object(e)!==e)return;o=!1}else for(;!(o=(l=i.call(e)).done)&&(u.push(l.value),u.length!==t);o=!0);}catch(r){f=!0,n=r}finally{try{if(!o&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw n}}return u}}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}function _objectSpread(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(o),!0).forEach(function(t){_defineProperty(r,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function _defineProperty(r,t,o){return(t=_toPropertyKey(t))in r?Object.defineProperty(r,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[t]=o,r}function _toPropertyKey(r){var o=_toPrimitive(r,"string");return"symbol"==_typeof(o)?o:o+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var r;if("undefined"!=typeof Symbol&&void 0!==(r=t[Symbol.toPrimitive])){var i=r.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)};// endregion
|
|
73
|
+
var CSS_CLASS_NAMES=style_module/* default */.A;/**
|
|
74
|
+
* Creates components to protect content and to log in.
|
|
75
|
+
* NOTE: User hook should either be a "ContextUserHook" or "ReduxUserHook".
|
|
76
|
+
* @param useUser - Hook to retrieve current user.
|
|
77
|
+
* @param routing - Integration of the used routing library.
|
|
78
|
+
* @param routing.Redirect - Component redirecting to given location.
|
|
79
|
+
* @param routing.useLocation - Hook to determine current location.
|
|
80
|
+
* @returns Components.
|
|
81
|
+
*/var componentFactory=function componentFactory(useUser,_ref){var Redirect=_ref.Redirect,useLocation=_ref.useLocation;return{/**
|
|
82
|
+
* @param options - Options for given component.
|
|
83
|
+
* @param options.children - Content to render when authenticated.
|
|
84
|
+
* @param options.fallbackLocation - Location to redirect to when
|
|
85
|
+
* authentication was unsuccessful.
|
|
86
|
+
* @param options.loadingFallback - String to show when determining
|
|
87
|
+
* authentication result.
|
|
88
|
+
* @returns An content to be rendered.
|
|
89
|
+
* A wrapper for <Route> that redirects to the login screen if you're
|
|
90
|
+
* not yet authenticated.
|
|
91
|
+
*/Authenticated:/*#__PURE__*/(0,external_react_.memo)(function(_ref2){var _fallbackLocation;var children=_ref2.children,fallbackLocation=_ref2.fallbackLocation,_ref2$loadingFallback=_ref2.loadingFallback,loadingFallback=_ref2$loadingFallback===void 0?"loading...":_ref2$loadingFallback;var location=useLocation();var user=useUser();(0,external_react_.useEffect)(function(){if(user.session.authenticated===null)user.authenticate()},[user.session.authenticated]);fallbackLocation=(0,external_react_generic_tools_.useMemorizedValue)(typeof fallbackLocation==="string"?{pathname:fallbackLocation}:fallbackLocation,fallbackLocation);var loginTarget=(0,external_react_generic_tools_.useMemorizedValue)(_objectSpread({},fallbackLocation),fallbackLocation);if(user.session.authenticated){if((0,external_clientnode_.isFunction)(children))return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children({fallbackLocation:fallbackLocation,location:location,user:user})});return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children})}if(user.session.authenticated===null)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:loadingFallback!==null&&loadingFallback!==void 0?loadingFallback:""});if(((_fallbackLocation=fallbackLocation)===null||_fallbackLocation===void 0?void 0:_fallbackLocation.pathname)===location.pathname)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{});return/*#__PURE__*/(0,jsx_runtime_.jsx)(Redirect,{replace:true,state:{from:location},to:loginTarget})}),Login:function Login(_ref3){var buttonProperties=_ref3.buttonProperties,inputProperties=_ref3.inputProperties,loginProperties=_ref3.loginProperties,passwordProperties=_ref3.passwordProperties,children=_ref3.children,onSubmitted=_ref3.onSubmitted,onSuccess=_ref3.onSuccess;var user=useUser();var _useState=(0,external_react_.useState)(_objectSpread(_objectSpread({},loginProperties),{},{invalid:true})),_useState2=_slicedToArray(_useState,2),loginInput=_useState2[0],setLoginInput=_useState2[1];var _useState3=(0,external_react_.useState)(_objectSpread(_objectSpread({},passwordProperties),{},{invalid:true})),_useState4=_slicedToArray(_useState3,2),passwordInput=_useState4[0],setPasswordInput=_useState4[1];var _useState5=(0,external_react_.useState)(false),_useState6=_slicedToArray(_useState5,2),submitted=_useState6[0],setSubmitted=_useState6[1];var _useState7=(0,external_react_.useState)(false),_useState8=_slicedToArray(_useState7,2),sent=_useState8[0],setSent=_useState8[1];(0,external_react_.useEffect)(function(){if(user.session.authenticated&&onSuccess)onSuccess(user)},[user.session.authenticated,onSuccess]);var login=(0,external_react_generic_tools_.useMemorizedValue)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event){var _loginInput$value,_passwordInput$value;var result,_loginInput$value2,_passwordInput$value2,_result;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:event.preventDefault();result=onSubmitted&&onSubmitted((_loginInput$value=loginInput.value)!==null&&_loginInput$value!==void 0?_loginInput$value:null,(_passwordInput$value=passwordInput.value)!==null&&_passwordInput$value!==void 0?_passwordInput$value:null);if(!(typeof result!=="boolean"||result)){_context.n=1;break}setSubmitted(true);if(!(loginInput.valid&&passwordInput.valid)){_context.n=1;break}_result=user.login({login:(_loginInput$value2=loginInput.value)!==null&&_loginInput$value2!==void 0?_loginInput$value2:null,password:(_passwordInput$value2=passwordInput.value)!==null&&_passwordInput$value2!==void 0?_passwordInput$value2:null});setSent(true);if(!(onSuccess&&_result!==null&&_result!==void 0&&_result.then)){_context.n=1;break}_context.n=1;return _result.then(function(){onSuccess(user)});case 1:return _context.a(2)}},_callee)})),onSubmitted,onSuccess,loginInput.value,loginInput.valid,passwordInput.value,passwordInput.valid,setSent,setSubmitted);var renderStatus=(0,external_react_generic_tools_.useMemorizedValue)((0,external_clientnode_.isFunction)(children)?children:children?function(){return children}:function(_ref5){var sent=_ref5.sent,submitted=_ref5.submitted,pending=_ref5.pending,authenticated=_ref5.authenticated,loginInput=_ref5.loginInput,passwordInput=_ref5.passwordInput;return pending?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,children:"authenticating..."}):submitted&&!authenticated&&(sent||loginInput.invalid||passwordInput.invalid)?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,role:"alert",children:loginInput.invalid?"Please type valid login.":passwordInput.invalid?"Please type valid password.":"Invalid credentials!"}):""},children);var setSentToFalse=(0,external_react_generic_tools_.useMemorizedValue)(function(){setSent(false)},setSent);return/*#__PURE__*/(0,jsx_runtime_.jsxs)("form",{className:CSS_CLASS_NAMES.login,children:[renderStatus({sent:sent,submitted:submitted,pending:Boolean(user.session.authenticating),authenticated:Boolean(user.session.authenticated),loginInput:loginInput,passwordInput:passwordInput}),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE_react_input_material_components_TextInput_e3667393_default__,_objectSpread(_objectSpread({className:CSS_CLASS_NAMES.loginName,componentProperties:(0,external_react_generic_tools_.useMemorizedValue)({autoComplete:"username"}),name:"login",onChange:setLoginInput,onChangeValue:setSentToFalse,required:true,trailingIcon:"account_circle"},(0,external_react_generic_tools_.useMemorizedValue)(inputProperties||{},inputProperties)),(0,external_react_generic_tools_.useMemorizedValue)(loginProperties||{},inputProperties))),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE_react_input_material_components_TextInput_e3667393_default__,_objectSpread(_objectSpread({className:CSS_CLASS_NAMES.loginPassword,componentProperties:(0,external_react_generic_tools_.useMemorizedValue)({autoComplete:"current-password"}),name:"password",onChange:setPasswordInput,onChangeValue:setSentToFalse,required:true,trailingIcon:"password_preset"},(0,external_react_generic_tools_.useMemorizedValue)(inputProperties||{},inputProperties)),(0,external_react_generic_tools_.useMemorizedValue)(passwordProperties||{},passwordProperties))),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE__rmwc_button_e0454fea_Button__,_objectSpread({children:"Log in",className:CSS_CLASS_NAMES.loginButton,onClick:(0,external_react_generic_tools_.useMemorizedValue)(function(event){void login(event)},login),trailingIcon:"input"},(0,external_react_generic_tools_.useMemorizedValue)(buttonProperties||{},buttonProperties)))]})}}};/* harmony default export */ var components = (componentFactory);
|
|
92
|
+
|
|
93
|
+
/***/ }),
|
|
32
94
|
/* 6 */,
|
|
33
|
-
/* 7
|
|
95
|
+
/* 7 */,
|
|
96
|
+
/* 8 */
|
|
34
97
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
35
98
|
|
|
36
99
|
var x = function(y) {
|
|
@@ -40,7 +103,7 @@ var y = function(x) { return function() { return x; }; }
|
|
|
40
103
|
module.exports = x({ ["isFunction"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.isFunction; } });
|
|
41
104
|
|
|
42
105
|
/***/ }),
|
|
43
|
-
/*
|
|
106
|
+
/* 9 */
|
|
44
107
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
45
108
|
|
|
46
109
|
var x = function(y) {
|
|
@@ -91,50 +154,14 @@ module.exports = x({ ["useMemorizedValue"]: function() { return __WEBPACK_EXTERN
|
|
|
91
154
|
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); };
|
|
92
155
|
/******/
|
|
93
156
|
/************************************************************************/
|
|
94
|
-
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
//
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
var
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
;// ./src/style.module.css
|
|
106
|
-
// extracted by mini-css-extract-plugin
|
|
107
|
-
/* harmony default export */ var style_module = ({"login":"login","loginStatus":"login__status","loginButton":"login__button","loginName":"login__name","loginPassword":"login__password"});
|
|
108
|
-
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
109
|
-
var jsx_runtime_ = __webpack_require__(2);
|
|
110
|
-
;// ./src/components.tsx
|
|
111
|
-
// #!/usr/bin/env babel-node
|
|
112
|
-
// -*- coding: utf-8 -*-
|
|
113
|
-
/** @module index *//* !
|
|
114
|
-
region header
|
|
115
|
-
[Project page](https://tsickert.com/react-generic-user)
|
|
116
|
-
|
|
117
|
-
Copyright Torben Sickert (info["~at~"]tsickert.com) 16.12.2012
|
|
118
|
-
endregion
|
|
119
|
-
*/// region imports
|
|
120
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",a=o.toStringTag||"@@toStringTag";function i(o,n,a,i){var u=n&&n.prototype instanceof Generator?n:Generator,f=Object.create(u.prototype);return _regeneratorDefine2(f,"_invoke",function(t,o,n){var a,i,u,f=0,p=n||[],y=!1,G={p:0,n:0,v:r,a:l,f:l.bind(r,4),d:function d(t,e){return a=t,i=0,u=r,G.n=e,c}};function l(t,o){for(i=t,u=o,e=0;!y&&f&&!n&&e<p.length;e++){var n,a=p[e],l=G.p,F=a[2];t>3?(n=F===o)&&(u=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=r):a[0]<=l&&((n=t<2&&l<a[1])?(i=0,G.v=o,G.n=a[1]):l<F&&(n=t<3||a[0]>o||o>F)&&(a[4]=t,a[5]=o,G.n=F,i=0))}if(n||t>1)return c;throw y=!0,o}return function(n,p,F){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&l(p,F),i=p,u=F;(e=i<2?r:u)||!y;){a||(i?i<3?(i>1&&(G.n=-1),l(i,u)):G.n=u:G.v=u);try{if(f=2,a){if(i||(n="next"),e=a[n]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,i<2&&(i=0)}else 1===i&&(e=a.return)&&e.call(a),i<2&&(u=TypeError("The iterator does not provide a '"+n+"' method"),i=1);a=r}else if((e=(y=G.n<0)?u:t.call(o,G))!==c)break}catch(t){a=r,i=1,u=t}finally{f=1}}return{value:e,done:y}}}(o,a,i),!0),f}var c={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}e=Object.getPrototypeOf;var u=[][n]?e(e([][n]())):(_regeneratorDefine2(e={},n,function(){return this}),e),f=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(u);function p(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,GeneratorFunctionPrototype):(r.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(r,a,"GeneratorFunction")),r.prototype=Object.create(f),r}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(f,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,a,"GeneratorFunction"),_regeneratorDefine2(f),_regeneratorDefine2(f,a,"Generator"),_regeneratorDefine2(f,n,function(){return this}),_regeneratorDefine2(f,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:p}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _slicedToArray(e,i){return _iterableToArrayLimit(e,i)||_unsupportedIterableToArray(e,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,t){var e=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(Array.isArray(r)&&(null==e||e===("undefined"!=typeof Symbol&&[][Symbol.iterator])||e===[]["@@iterator"]))return r;if(null!=e){var l,n,i,a,u=[],o=!0,f=!1;try{if(i=(e=e.call(r)).next,0===t){if(Object(e)!==e)return;o=!1}else for(;!(o=(l=i.call(e)).done)&&(u.push(l.value),u.length!==t);o=!0);}catch(r){f=!0,n=r}finally{try{if(!o&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw n}}return u}}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}function _objectSpread(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(o),!0).forEach(function(t){_defineProperty(r,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function _defineProperty(r,t,o){return(t=_toPropertyKey(t))in r?Object.defineProperty(r,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[t]=o,r}function _toPropertyKey(r){var o=_toPrimitive(r,"string");return"symbol"==_typeof(o)?o:o+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var r;if("undefined"!=typeof Symbol&&void 0!==(r=t[Symbol.toPrimitive])){var i=r.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)};// endregion
|
|
121
|
-
var CSS_CLASS_NAMES=style_module;/**
|
|
122
|
-
* Creates components to protect content and to log in.
|
|
123
|
-
* NOTE: User hook should either be a "ContextUserHook" or "ReduxUserHook".
|
|
124
|
-
* @param useUser - Hook to retrieve current user.
|
|
125
|
-
* @param routing - Integration of the used routing library.
|
|
126
|
-
* @param routing.Redirect - Component redirecting to given location.
|
|
127
|
-
* @param routing.useLocation - Hook to determine current location.
|
|
128
|
-
* @returns Components.
|
|
129
|
-
*/var componentFactory=function componentFactory(useUser,_ref){var Redirect=_ref.Redirect,useLocation=_ref.useLocation;return{/**
|
|
130
|
-
* @param options - Options for given component.
|
|
131
|
-
* @param options.children - Content to render when authenticated.
|
|
132
|
-
* @param options.fallbackLocation - Location to redirect to when
|
|
133
|
-
* authentication was unsuccessful.
|
|
134
|
-
* @param options.loadingFallback - String to show when determining
|
|
135
|
-
* authentication result.
|
|
136
|
-
* @returns An content to be rendered.
|
|
137
|
-
* A wrapper for <Route> that redirects to the login screen if you're
|
|
138
|
-
* not yet authenticated.
|
|
139
|
-
*/Authenticated:/*#__PURE__*/(0,external_react_.memo)(function(_ref2){var _fallbackLocation;var children=_ref2.children,fallbackLocation=_ref2.fallbackLocation,_ref2$loadingFallback=_ref2.loadingFallback,loadingFallback=_ref2$loadingFallback===void 0?"loading...":_ref2$loadingFallback;var location=useLocation();var user=useUser();(0,external_react_.useEffect)(function(){if(user.session.authenticated===null)user.authenticate()},[user.session.authenticated]);fallbackLocation=(0,external_react_generic_tools_.useMemorizedValue)(typeof fallbackLocation==="string"?{pathname:fallbackLocation}:fallbackLocation,fallbackLocation);var loginTarget=(0,external_react_generic_tools_.useMemorizedValue)(_objectSpread({},fallbackLocation),fallbackLocation);if(user.session.authenticated){if((0,external_clientnode_.isFunction)(children))return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children({fallbackLocation:fallbackLocation,location:location,user:user})});return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children})}if(user.session.authenticated===null)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:loadingFallback!==null&&loadingFallback!==void 0?loadingFallback:""});if(((_fallbackLocation=fallbackLocation)===null||_fallbackLocation===void 0?void 0:_fallbackLocation.pathname)===location.pathname)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{});return/*#__PURE__*/(0,jsx_runtime_.jsx)(Redirect,{replace:true,state:{from:location},to:loginTarget})}),Login:function Login(_ref3){var buttonProperties=_ref3.buttonProperties,inputProperties=_ref3.inputProperties,loginProperties=_ref3.loginProperties,passwordProperties=_ref3.passwordProperties,children=_ref3.children,onSubmitted=_ref3.onSubmitted,onSuccess=_ref3.onSuccess;var user=useUser();var _useState=(0,external_react_.useState)(_objectSpread(_objectSpread({},loginProperties),{},{invalid:true})),_useState2=_slicedToArray(_useState,2),loginInput=_useState2[0],setLoginInput=_useState2[1];var _useState3=(0,external_react_.useState)(_objectSpread(_objectSpread({},passwordProperties),{},{invalid:true})),_useState4=_slicedToArray(_useState3,2),passwordInput=_useState4[0],setPasswordInput=_useState4[1];var _useState5=(0,external_react_.useState)(false),_useState6=_slicedToArray(_useState5,2),submitted=_useState6[0],setSubmitted=_useState6[1];var _useState7=(0,external_react_.useState)(false),_useState8=_slicedToArray(_useState7,2),sent=_useState8[0],setSent=_useState8[1];(0,external_react_.useEffect)(function(){if(user.session.authenticated&&onSuccess)onSuccess(user)},[user.session.authenticated,onSuccess]);var login=(0,external_react_generic_tools_.useMemorizedValue)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event){var _loginInput$value,_passwordInput$value;var result,_loginInput$value2,_passwordInput$value2,_result;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:event.preventDefault();result=onSubmitted&&onSubmitted((_loginInput$value=loginInput.value)!==null&&_loginInput$value!==void 0?_loginInput$value:null,(_passwordInput$value=passwordInput.value)!==null&&_passwordInput$value!==void 0?_passwordInput$value:null);if(!(typeof result!=="boolean"||result)){_context.n=1;break}setSubmitted(true);if(!(loginInput.valid&&passwordInput.valid)){_context.n=1;break}_result=user.login({login:(_loginInput$value2=loginInput.value)!==null&&_loginInput$value2!==void 0?_loginInput$value2:null,password:(_passwordInput$value2=passwordInput.value)!==null&&_passwordInput$value2!==void 0?_passwordInput$value2:null});setSent(true);if(!(onSuccess&&_result!==null&&_result!==void 0&&_result.then)){_context.n=1;break}_context.n=1;return _result.then(function(){onSuccess(user)});case 1:return _context.a(2)}},_callee)})),onSubmitted,onSuccess,loginInput.value,loginInput.valid,passwordInput.value,passwordInput.valid,setSent,setSubmitted);var renderStatus=(0,external_react_generic_tools_.useMemorizedValue)((0,external_clientnode_.isFunction)(children)?children:children?function(){return children}:function(_ref5){var sent=_ref5.sent,submitted=_ref5.submitted,pending=_ref5.pending,authenticated=_ref5.authenticated,loginInput=_ref5.loginInput,passwordInput=_ref5.passwordInput;return pending?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,children:"authenticating..."}):submitted&&!authenticated&&(sent||loginInput.invalid||passwordInput.invalid)?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,role:"alert",children:loginInput.invalid?"Please type valid login.":passwordInput.invalid?"Please type valid password.":"Invalid credentials!"}):""},children);var setSentToFalse=(0,external_react_generic_tools_.useMemorizedValue)(function(){setSent(false)},setSent);return/*#__PURE__*/(0,jsx_runtime_.jsxs)("form",{className:CSS_CLASS_NAMES.login,children:[renderStatus({sent:sent,submitted:submitted,pending:Boolean(user.session.authenticating),authenticated:Boolean(user.session.authenticated),loginInput:loginInput,passwordInput:passwordInput}),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE_react_input_material_bf884f53_TextInput__,_objectSpread(_objectSpread({className:CSS_CLASS_NAMES.loginName,componentProperties:(0,external_react_generic_tools_.useMemorizedValue)({autoComplete:"username"}),name:"login",onChange:setLoginInput,onChangeValue:setSentToFalse,required:true,trailingIcon:"account_circle"},(0,external_react_generic_tools_.useMemorizedValue)(inputProperties||{},inputProperties)),(0,external_react_generic_tools_.useMemorizedValue)(loginProperties||{},inputProperties))),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE_react_input_material_bf884f53_TextInput__,_objectSpread(_objectSpread({className:CSS_CLASS_NAMES.loginPassword,componentProperties:(0,external_react_generic_tools_.useMemorizedValue)({autoComplete:"current-password"}),name:"password",onChange:setPasswordInput,onChangeValue:setSentToFalse,required:true,trailingIcon:"password_preset"},(0,external_react_generic_tools_.useMemorizedValue)(inputProperties||{},inputProperties)),(0,external_react_generic_tools_.useMemorizedValue)(passwordProperties||{},passwordProperties))),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE__rmwc_button_e0454fea_Button__,_objectSpread({children:"Log in",className:CSS_CLASS_NAMES.loginButton,onClick:(0,external_react_generic_tools_.useMemorizedValue)(function(event){void login(event)},login),trailingIcon:"input"},(0,external_react_generic_tools_.useMemorizedValue)(buttonProperties||{},buttonProperties)))]})}}};/* harmony default export */ var components = (componentFactory);
|
|
140
|
-
export { CSS_CLASS_NAMES, componentFactory, components as default };
|
|
157
|
+
/******/
|
|
158
|
+
/******/ // startup
|
|
159
|
+
/******/ // Load entry module and return exports
|
|
160
|
+
/******/ // This entry module is referenced by other modules so it can't be inlined
|
|
161
|
+
/******/ __webpack_require__(2);
|
|
162
|
+
/******/ var __webpack_exports__ = __webpack_require__(5);
|
|
163
|
+
/******/ var __webpack_exports__CSS_CLASS_NAMES = __webpack_exports__.sr;
|
|
164
|
+
/******/ var __webpack_exports__componentFactory = __webpack_exports__.WV;
|
|
165
|
+
/******/ var __webpack_exports__default = __webpack_exports__.Ay;
|
|
166
|
+
/******/ export { __webpack_exports__CSS_CLASS_NAMES as CSS_CLASS_NAMES, __webpack_exports__componentFactory as componentFactory, __webpack_exports__default as default };
|
|
167
|
+
/******/
|
package/dist/context.js
CHANGED
|
@@ -13,7 +13,8 @@ var y = function(x) { return function() { return x; }; }
|
|
|
13
13
|
module.exports = x({ ["createContext"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.createContext; }, ["useContext"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.useContext; }, ["useState"]: function() { return __WEBPACK_EXTERNAL_MODULE_react__.useState; } });
|
|
14
14
|
|
|
15
15
|
/***/ }),
|
|
16
|
-
/* 2
|
|
16
|
+
/* 2 */,
|
|
17
|
+
/* 3 */
|
|
17
18
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
18
19
|
|
|
19
20
|
var x = function(y) {
|
|
@@ -23,7 +24,7 @@ var y = function(x) { return function() { return x; }; }
|
|
|
23
24
|
module.exports = x({ ["jsx"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.jsx; } });
|
|
24
25
|
|
|
25
26
|
/***/ }),
|
|
26
|
-
/*
|
|
27
|
+
/* 4 */
|
|
27
28
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
28
29
|
|
|
29
30
|
var x = function(y) {
|
|
@@ -75,9 +76,9 @@ module.exports = x({ });
|
|
|
75
76
|
/******/
|
|
76
77
|
/************************************************************************/
|
|
77
78
|
var __webpack_exports__ = {};
|
|
78
|
-
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
79
|
+
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
79
80
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
|
|
80
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
81
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
|
|
81
82
|
// #!/usr/bin/env babel-node
|
|
82
83
|
// -*- coding: utf-8 -*-
|
|
83
84
|
/** @module index *//* !
|
package/dist/harness.js
CHANGED
|
File without changes
|
package/dist/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* !/usr/bin/env css
|
|
2
|
-
-*- coding: utf-8 -*- */.login{display:grid;grid-gap:20px;grid-gap:var(--w-default-space,20px);gap:20px;gap:var(--w-default-space,20px);grid-template-columns:1fr;margin:0 auto;width:400px}.login .login__status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#018786;color:var(--mdc-theme-secondary,#018786);font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline2-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:3.75rem;font-size:var(--mdc-typography-headline2-font-size,3.75rem);font-weight:300;font-weight:var(--mdc-typography-headline2-font-weight,300);letter-spacing:-.
|
|
2
|
+
-*- coding: utf-8 -*- */.login{display:grid;grid-gap:20px;grid-gap:var(--w-default-space,20px);gap:20px;gap:var(--w-default-space,20px);grid-template-columns:1fr;margin:0 auto;width:400px}.login .login__status{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:#018786;color:var(--mdc-theme-secondary,#018786);font-family:Roboto,sans-serif;font-family:var(--mdc-typography-headline2-font-family,var(--mdc-typography-font-family,Roboto,sans-serif));font-size:3.75rem;font-size:var(--mdc-typography-headline2-font-size,3.75rem);font-weight:300;font-weight:var(--mdc-typography-headline2-font-weight,300);letter-spacing:-.0083em;letter-spacing:var(--mdc-typography-headline2-letter-spacing,-.0083em);line-height:3.75rem;line-height:var(--mdc-typography-headline2-line-height,3.75rem);text-align:center}.login .login__button,.login .login__name,.login .login__password{visibility:visible}
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
if(typeof window==='undefined'||window===null)var window=(typeof globalThis==='undefined'||globalThis===null)?{}:globalThis;import {
|
|
1
|
+
if(typeof window==='undefined'||window===null)var window=(typeof globalThis==='undefined'||globalThis===null)?{}:globalThis;import { default as __WEBPACK_EXTERNAL_MODULE_react_input_material_components_TextInput_e3667393_default__ } from "react-input-material/components/TextInput";
|
|
2
2
|
import { Button as __WEBPACK_EXTERNAL_MODULE__rmwc_button_e0454fea_Button__ } from "@rmwc/button";
|
|
3
3
|
import { useDispatch as __WEBPACK_EXTERNAL_MODULE_react_redux_1ffa815c_useDispatch__, useSelector as __WEBPACK_EXTERNAL_MODULE_react_redux_1ffa815c_useSelector__ } from "react-redux";
|
|
4
4
|
import { createAsyncThunk as __WEBPACK_EXTERNAL_MODULE__reduxjs_toolkit_b9e87ac4_createAsyncThunk__, createSlice as __WEBPACK_EXTERNAL_MODULE__reduxjs_toolkit_b9e87ac4_createSlice__ } from "@reduxjs/toolkit";
|
|
@@ -67,6 +67,13 @@ module.exports = x({ ["createContext"]: function() { return __WEBPACK_EXTERNAL_M
|
|
|
67
67
|
|
|
68
68
|
/***/ }),
|
|
69
69
|
/* 2 */
|
|
70
|
+
/***/ (function(__unused_webpack_module, __webpack_exports__) {
|
|
71
|
+
|
|
72
|
+
// extracted by mini-css-extract-plugin
|
|
73
|
+
/* harmony default export */ __webpack_exports__.A = ({"login":"login","loginStatus":"login__status","loginButton":"login__button","loginName":"login__name","loginPassword":"login__password"});
|
|
74
|
+
|
|
75
|
+
/***/ }),
|
|
76
|
+
/* 3 */
|
|
70
77
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
71
78
|
|
|
72
79
|
var x = function(y) {
|
|
@@ -76,7 +83,7 @@ var y = function(x) { return function() { return x; }; }
|
|
|
76
83
|
module.exports = x({ ["Fragment"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.Fragment; }, ["jsx"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.jsx; }, ["jsxs"]: function() { return __WEBPACK_EXTERNAL_MODULE_react_jsx_runtime_00f484c1__.jsxs; } });
|
|
77
84
|
|
|
78
85
|
/***/ }),
|
|
79
|
-
/*
|
|
86
|
+
/* 4 */
|
|
80
87
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
81
88
|
|
|
82
89
|
var x = function(y) {
|
|
@@ -86,7 +93,7 @@ var y = function(x) { return function() { return x; }; }
|
|
|
86
93
|
module.exports = x({ });
|
|
87
94
|
|
|
88
95
|
/***/ }),
|
|
89
|
-
/*
|
|
96
|
+
/* 5 */
|
|
90
97
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
91
98
|
|
|
92
99
|
|
|
@@ -99,20 +106,19 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
99
106
|
// UNUSED EXPORTS: default
|
|
100
107
|
|
|
101
108
|
// EXTERNAL MODULE: external "clientnode"
|
|
102
|
-
var external_clientnode_ = __webpack_require__(
|
|
109
|
+
var external_clientnode_ = __webpack_require__(8);
|
|
103
110
|
// EXTERNAL MODULE: external "react"
|
|
104
111
|
var external_react_ = __webpack_require__(1);
|
|
105
|
-
;// external "react-input-material"
|
|
112
|
+
;// external "react-input-material/components/TextInput"
|
|
106
113
|
|
|
107
114
|
// EXTERNAL MODULE: external "react-generic-tools"
|
|
108
|
-
var external_react_generic_tools_ = __webpack_require__(
|
|
115
|
+
var external_react_generic_tools_ = __webpack_require__(9);
|
|
109
116
|
;// external "@rmwc/button"
|
|
110
117
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
/* harmony default export */ var style_module = ({"login":"login","loginStatus":"login__status","loginButton":"login__button","loginName":"login__name","loginPassword":"login__password"});
|
|
118
|
+
// EXTERNAL MODULE: ./src/style.module.css
|
|
119
|
+
var style_module = __webpack_require__(2);
|
|
114
120
|
// EXTERNAL MODULE: external "react/jsx-runtime"
|
|
115
|
-
var jsx_runtime_ = __webpack_require__(
|
|
121
|
+
var jsx_runtime_ = __webpack_require__(3);
|
|
116
122
|
;// ./src/components.tsx
|
|
117
123
|
// #!/usr/bin/env babel-node
|
|
118
124
|
// -*- coding: utf-8 -*-
|
|
@@ -124,7 +130,7 @@ var jsx_runtime_ = __webpack_require__(2);
|
|
|
124
130
|
endregion
|
|
125
131
|
*/// region imports
|
|
126
132
|
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}function _regenerator(){/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */var r,e,o="function"==typeof Symbol?Symbol:{},n=o.iterator||"@@iterator",a=o.toStringTag||"@@toStringTag";function i(o,n,a,i){var u=n&&n.prototype instanceof Generator?n:Generator,f=Object.create(u.prototype);return _regeneratorDefine2(f,"_invoke",function(t,o,n){var a,i,u,f=0,p=n||[],y=!1,G={p:0,n:0,v:r,a:l,f:l.bind(r,4),d:function d(t,e){return a=t,i=0,u=r,G.n=e,c}};function l(t,o){for(i=t,u=o,e=0;!y&&f&&!n&&e<p.length;e++){var n,a=p[e],l=G.p,F=a[2];t>3?(n=F===o)&&(u=a[(i=a[4])?5:(i=3,3)],a[4]=a[5]=r):a[0]<=l&&((n=t<2&&l<a[1])?(i=0,G.v=o,G.n=a[1]):l<F&&(n=t<3||a[0]>o||o>F)&&(a[4]=t,a[5]=o,G.n=F,i=0))}if(n||t>1)return c;throw y=!0,o}return function(n,p,F){if(f>1)throw TypeError("Generator is already running");for(y&&1===p&&l(p,F),i=p,u=F;(e=i<2?r:u)||!y;){a||(i?i<3?(i>1&&(G.n=-1),l(i,u)):G.n=u:G.v=u);try{if(f=2,a){if(i||(n="next"),e=a[n]){if(!(e=e.call(a,u)))throw TypeError("iterator result is not an object");if(!e.done)return e;u=e.value,i<2&&(i=0)}else 1===i&&(e=a.return)&&e.call(a),i<2&&(u=TypeError("The iterator does not provide a '"+n+"' method"),i=1);a=r}else if((e=(y=G.n<0)?u:t.call(o,G))!==c)break}catch(t){a=r,i=1,u=t}finally{f=1}}return{value:e,done:y}}}(o,a,i),!0),f}var c={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}e=Object.getPrototypeOf;var u=[][n]?e(e([][n]())):(_regeneratorDefine2(e={},n,function(){return this}),e),f=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(u);function p(r){return Object.setPrototypeOf?Object.setPrototypeOf(r,GeneratorFunctionPrototype):(r.__proto__=GeneratorFunctionPrototype,_regeneratorDefine2(r,a,"GeneratorFunction")),r.prototype=Object.create(f),r}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine2(f,"constructor",GeneratorFunctionPrototype),_regeneratorDefine2(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine2(GeneratorFunctionPrototype,a,"GeneratorFunction"),_regeneratorDefine2(f),_regeneratorDefine2(f,a,"Generator"),_regeneratorDefine2(f,n,function(){return this}),_regeneratorDefine2(f,"toString",function(){return"[object Generator]"}),(_regenerator=function _regenerator(){return{w:i,m:p}})()}function _regeneratorDefine2(e,r,n,t){var i=Object.defineProperty;try{i({},"",{})}catch(e){i=0}_regeneratorDefine2=function _regeneratorDefine(e,r,n,t){function o(r,n){_regeneratorDefine2(e,r,function(e){return this._invoke(r,n,e)})}r?i?i(e,r,{value:n,enumerable:!t,configurable:!t,writable:!t}):e[r]=n:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine2(e,r,n,t)}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value}catch(n){return void e(n)}i.done?t(u):Promise.resolve(u).then(r,o)}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n)}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n)}_next(void 0)})}}function _slicedToArray(e,i){return _iterableToArrayLimit(e,i)||_unsupportedIterableToArray(e,i)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var o={}.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n}function _iterableToArrayLimit(r,t){var e=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(Array.isArray(r)&&(null==e||e===("undefined"!=typeof Symbol&&[][Symbol.iterator])||e===[]["@@iterator"]))return r;if(null!=e){var l,n,i,a,u=[],o=!0,f=!1;try{if(i=(e=e.call(r)).next,0===t){if(Object(e)!==e)return;o=!1}else for(;!(o=(l=i.call(e)).done)&&(u.push(l.value),u.length!==t);o=!0);}catch(r){f=!0,n=r}finally{try{if(!o&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw n}}return u}}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}function _objectSpread(r){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(o),!0).forEach(function(t){_defineProperty(r,t,o[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):ownKeys(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))})}return r}function _defineProperty(r,t,o){return(t=_toPropertyKey(t))in r?Object.defineProperty(r,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):r[t]=o,r}function _toPropertyKey(r){var o=_toPrimitive(r,"string");return"symbol"==_typeof(o)?o:o+""}function _toPrimitive(t,e){if("object"!=_typeof(t)||!t)return t;var r;if("undefined"!=typeof Symbol&&void 0!==(r=t[Symbol.toPrimitive])){var i=r.call(t,e||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)};// endregion
|
|
127
|
-
var CSS_CLASS_NAMES=style_module;/**
|
|
133
|
+
var CSS_CLASS_NAMES=style_module/* default */.A;/**
|
|
128
134
|
* Creates components to protect content and to log in.
|
|
129
135
|
* NOTE: User hook should either be a "ContextUserHook" or "ReduxUserHook".
|
|
130
136
|
* @param useUser - Hook to retrieve current user.
|
|
@@ -142,18 +148,18 @@ var CSS_CLASS_NAMES=style_module;/**
|
|
|
142
148
|
* @returns An content to be rendered.
|
|
143
149
|
* A wrapper for <Route> that redirects to the login screen if you're
|
|
144
150
|
* not yet authenticated.
|
|
145
|
-
*/Authenticated:/*#__PURE__*/(0,external_react_.memo)(function(_ref2){var _fallbackLocation;var children=_ref2.children,fallbackLocation=_ref2.fallbackLocation,_ref2$loadingFallback=_ref2.loadingFallback,loadingFallback=_ref2$loadingFallback===void 0?"loading...":_ref2$loadingFallback;var location=useLocation();var user=useUser();(0,external_react_.useEffect)(function(){if(user.session.authenticated===null)user.authenticate()},[user.session.authenticated]);fallbackLocation=(0,external_react_generic_tools_.useMemorizedValue)(typeof fallbackLocation==="string"?{pathname:fallbackLocation}:fallbackLocation,fallbackLocation);var loginTarget=(0,external_react_generic_tools_.useMemorizedValue)(_objectSpread({},fallbackLocation),fallbackLocation);if(user.session.authenticated){if((0,external_clientnode_.isFunction)(children))return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children({fallbackLocation:fallbackLocation,location:location,user:user})});return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children})}if(user.session.authenticated===null)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:loadingFallback!==null&&loadingFallback!==void 0?loadingFallback:""});if(((_fallbackLocation=fallbackLocation)===null||_fallbackLocation===void 0?void 0:_fallbackLocation.pathname)===location.pathname)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{});return/*#__PURE__*/(0,jsx_runtime_.jsx)(Redirect,{replace:true,state:{from:location},to:loginTarget})}),Login:function Login(_ref3){var buttonProperties=_ref3.buttonProperties,inputProperties=_ref3.inputProperties,loginProperties=_ref3.loginProperties,passwordProperties=_ref3.passwordProperties,children=_ref3.children,onSubmitted=_ref3.onSubmitted,onSuccess=_ref3.onSuccess;var user=useUser();var _useState=(0,external_react_.useState)(_objectSpread(_objectSpread({},loginProperties),{},{invalid:true})),_useState2=_slicedToArray(_useState,2),loginInput=_useState2[0],setLoginInput=_useState2[1];var _useState3=(0,external_react_.useState)(_objectSpread(_objectSpread({},passwordProperties),{},{invalid:true})),_useState4=_slicedToArray(_useState3,2),passwordInput=_useState4[0],setPasswordInput=_useState4[1];var _useState5=(0,external_react_.useState)(false),_useState6=_slicedToArray(_useState5,2),submitted=_useState6[0],setSubmitted=_useState6[1];var _useState7=(0,external_react_.useState)(false),_useState8=_slicedToArray(_useState7,2),sent=_useState8[0],setSent=_useState8[1];(0,external_react_.useEffect)(function(){if(user.session.authenticated&&onSuccess)onSuccess(user)},[user.session.authenticated,onSuccess]);var login=(0,external_react_generic_tools_.useMemorizedValue)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event){var _loginInput$value,_passwordInput$value;var result,_loginInput$value2,_passwordInput$value2,_result;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:event.preventDefault();result=onSubmitted&&onSubmitted((_loginInput$value=loginInput.value)!==null&&_loginInput$value!==void 0?_loginInput$value:null,(_passwordInput$value=passwordInput.value)!==null&&_passwordInput$value!==void 0?_passwordInput$value:null);if(!(typeof result!=="boolean"||result)){_context.n=1;break}setSubmitted(true);if(!(loginInput.valid&&passwordInput.valid)){_context.n=1;break}_result=user.login({login:(_loginInput$value2=loginInput.value)!==null&&_loginInput$value2!==void 0?_loginInput$value2:null,password:(_passwordInput$value2=passwordInput.value)!==null&&_passwordInput$value2!==void 0?_passwordInput$value2:null});setSent(true);if(!(onSuccess&&_result!==null&&_result!==void 0&&_result.then)){_context.n=1;break}_context.n=1;return _result.then(function(){onSuccess(user)});case 1:return _context.a(2)}},_callee)})),onSubmitted,onSuccess,loginInput.value,loginInput.valid,passwordInput.value,passwordInput.valid,setSent,setSubmitted);var renderStatus=(0,external_react_generic_tools_.useMemorizedValue)((0,external_clientnode_.isFunction)(children)?children:children?function(){return children}:function(_ref5){var sent=_ref5.sent,submitted=_ref5.submitted,pending=_ref5.pending,authenticated=_ref5.authenticated,loginInput=_ref5.loginInput,passwordInput=_ref5.passwordInput;return pending?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,children:"authenticating..."}):submitted&&!authenticated&&(sent||loginInput.invalid||passwordInput.invalid)?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,role:"alert",children:loginInput.invalid?"Please type valid login.":passwordInput.invalid?"Please type valid password.":"Invalid credentials!"}):""},children);var setSentToFalse=(0,external_react_generic_tools_.useMemorizedValue)(function(){setSent(false)},setSent);return/*#__PURE__*/(0,jsx_runtime_.jsxs)("form",{className:CSS_CLASS_NAMES.login,children:[renderStatus({sent:sent,submitted:submitted,pending:Boolean(user.session.authenticating),authenticated:Boolean(user.session.authenticated),loginInput:loginInput,passwordInput:passwordInput}),/*#__PURE__*/(0,jsx_runtime_.jsx)(
|
|
151
|
+
*/Authenticated:/*#__PURE__*/(0,external_react_.memo)(function(_ref2){var _fallbackLocation;var children=_ref2.children,fallbackLocation=_ref2.fallbackLocation,_ref2$loadingFallback=_ref2.loadingFallback,loadingFallback=_ref2$loadingFallback===void 0?"loading...":_ref2$loadingFallback;var location=useLocation();var user=useUser();(0,external_react_.useEffect)(function(){if(user.session.authenticated===null)user.authenticate()},[user.session.authenticated]);fallbackLocation=(0,external_react_generic_tools_.useMemorizedValue)(typeof fallbackLocation==="string"?{pathname:fallbackLocation}:fallbackLocation,fallbackLocation);var loginTarget=(0,external_react_generic_tools_.useMemorizedValue)(_objectSpread({},fallbackLocation),fallbackLocation);if(user.session.authenticated){if((0,external_clientnode_.isFunction)(children))return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children({fallbackLocation:fallbackLocation,location:location,user:user})});return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:children})}if(user.session.authenticated===null)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{children:loadingFallback!==null&&loadingFallback!==void 0?loadingFallback:""});if(((_fallbackLocation=fallbackLocation)===null||_fallbackLocation===void 0?void 0:_fallbackLocation.pathname)===location.pathname)return/*#__PURE__*/(0,jsx_runtime_.jsx)(jsx_runtime_.Fragment,{});return/*#__PURE__*/(0,jsx_runtime_.jsx)(Redirect,{replace:true,state:{from:location},to:loginTarget})}),Login:function Login(_ref3){var buttonProperties=_ref3.buttonProperties,inputProperties=_ref3.inputProperties,loginProperties=_ref3.loginProperties,passwordProperties=_ref3.passwordProperties,children=_ref3.children,onSubmitted=_ref3.onSubmitted,onSuccess=_ref3.onSuccess;var user=useUser();var _useState=(0,external_react_.useState)(_objectSpread(_objectSpread({},loginProperties),{},{invalid:true})),_useState2=_slicedToArray(_useState,2),loginInput=_useState2[0],setLoginInput=_useState2[1];var _useState3=(0,external_react_.useState)(_objectSpread(_objectSpread({},passwordProperties),{},{invalid:true})),_useState4=_slicedToArray(_useState3,2),passwordInput=_useState4[0],setPasswordInput=_useState4[1];var _useState5=(0,external_react_.useState)(false),_useState6=_slicedToArray(_useState5,2),submitted=_useState6[0],setSubmitted=_useState6[1];var _useState7=(0,external_react_.useState)(false),_useState8=_slicedToArray(_useState7,2),sent=_useState8[0],setSent=_useState8[1];(0,external_react_.useEffect)(function(){if(user.session.authenticated&&onSuccess)onSuccess(user)},[user.session.authenticated,onSuccess]);var login=(0,external_react_generic_tools_.useMemorizedValue)(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(event){var _loginInput$value,_passwordInput$value;var result,_loginInput$value2,_passwordInput$value2,_result;return _regenerator().w(function(_context){while(1)switch(_context.n){case 0:event.preventDefault();result=onSubmitted&&onSubmitted((_loginInput$value=loginInput.value)!==null&&_loginInput$value!==void 0?_loginInput$value:null,(_passwordInput$value=passwordInput.value)!==null&&_passwordInput$value!==void 0?_passwordInput$value:null);if(!(typeof result!=="boolean"||result)){_context.n=1;break}setSubmitted(true);if(!(loginInput.valid&&passwordInput.valid)){_context.n=1;break}_result=user.login({login:(_loginInput$value2=loginInput.value)!==null&&_loginInput$value2!==void 0?_loginInput$value2:null,password:(_passwordInput$value2=passwordInput.value)!==null&&_passwordInput$value2!==void 0?_passwordInput$value2:null});setSent(true);if(!(onSuccess&&_result!==null&&_result!==void 0&&_result.then)){_context.n=1;break}_context.n=1;return _result.then(function(){onSuccess(user)});case 1:return _context.a(2)}},_callee)})),onSubmitted,onSuccess,loginInput.value,loginInput.valid,passwordInput.value,passwordInput.valid,setSent,setSubmitted);var renderStatus=(0,external_react_generic_tools_.useMemorizedValue)((0,external_clientnode_.isFunction)(children)?children:children?function(){return children}:function(_ref5){var sent=_ref5.sent,submitted=_ref5.submitted,pending=_ref5.pending,authenticated=_ref5.authenticated,loginInput=_ref5.loginInput,passwordInput=_ref5.passwordInput;return pending?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,children:"authenticating..."}):submitted&&!authenticated&&(sent||loginInput.invalid||passwordInput.invalid)?/*#__PURE__*/(0,jsx_runtime_.jsx)("div",{className:CSS_CLASS_NAMES.loginStatus,role:"alert",children:loginInput.invalid?"Please type valid login.":passwordInput.invalid?"Please type valid password.":"Invalid credentials!"}):""},children);var setSentToFalse=(0,external_react_generic_tools_.useMemorizedValue)(function(){setSent(false)},setSent);return/*#__PURE__*/(0,jsx_runtime_.jsxs)("form",{className:CSS_CLASS_NAMES.login,children:[renderStatus({sent:sent,submitted:submitted,pending:Boolean(user.session.authenticating),authenticated:Boolean(user.session.authenticated),loginInput:loginInput,passwordInput:passwordInput}),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE_react_input_material_components_TextInput_e3667393_default__,_objectSpread(_objectSpread({className:CSS_CLASS_NAMES.loginName,componentProperties:(0,external_react_generic_tools_.useMemorizedValue)({autoComplete:"username"}),name:"login",onChange:setLoginInput,onChangeValue:setSentToFalse,required:true,trailingIcon:"account_circle"},(0,external_react_generic_tools_.useMemorizedValue)(inputProperties||{},inputProperties)),(0,external_react_generic_tools_.useMemorizedValue)(loginProperties||{},inputProperties))),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE_react_input_material_components_TextInput_e3667393_default__,_objectSpread(_objectSpread({className:CSS_CLASS_NAMES.loginPassword,componentProperties:(0,external_react_generic_tools_.useMemorizedValue)({autoComplete:"current-password"}),name:"password",onChange:setPasswordInput,onChangeValue:setSentToFalse,required:true,trailingIcon:"password_preset"},(0,external_react_generic_tools_.useMemorizedValue)(inputProperties||{},inputProperties)),(0,external_react_generic_tools_.useMemorizedValue)(passwordProperties||{},passwordProperties))),/*#__PURE__*/(0,jsx_runtime_.jsx)(__WEBPACK_EXTERNAL_MODULE__rmwc_button_e0454fea_Button__,_objectSpread({children:"Log in",className:CSS_CLASS_NAMES.loginButton,onClick:(0,external_react_generic_tools_.useMemorizedValue)(function(event){void login(event)},login),trailingIcon:"input"},(0,external_react_generic_tools_.useMemorizedValue)(buttonProperties||{},buttonProperties)))]})}}};/* harmony default export */ var components = ((/* unused pure expression or super */ null && (componentFactory)));
|
|
146
152
|
|
|
147
153
|
/***/ }),
|
|
148
|
-
/*
|
|
154
|
+
/* 6 */
|
|
149
155
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
150
156
|
|
|
151
157
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
152
158
|
/* harmony export */ t: function() { return /* binding */ sessionFactory; }
|
|
153
159
|
/* harmony export */ });
|
|
154
|
-
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(
|
|
160
|
+
/* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4);
|
|
155
161
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1);
|
|
156
|
-
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
162
|
+
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(3);
|
|
157
163
|
// #!/usr/bin/env babel-node
|
|
158
164
|
// -*- coding: utf-8 -*-
|
|
159
165
|
/** @module index *//* !
|
|
@@ -188,7 +194,7 @@ var sessionFactory=function sessionFactory(_ref){var _authenticate=_ref.authenti
|
|
|
188
194
|
*/return _objectSpread(_objectSpread({},oldUser),{},{session:_objectSpread(_objectSpread({},oldUser.session),{},{deauthenticating:null})})})})})};return _objectSpread(_objectSpread({},oldUser),{},{session:_objectSpread(_objectSpread({},oldUser.session),{},{deauthenticating:oldUser.session.authenticating?oldUser.session.authenticating.then(deauthenticater,deauthenticater):deauthenticater()})})})}}),_useState2=_slicedToArray(_useState,2),user=_useState2[0],setUser=_useState2[1];return user};return{UserProvider:function UserProvider(_ref2){var children=_ref2.children,options=_ref2.options;return/*#__PURE__*/(0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__.jsx)(userContext.Provider,{value:useUserState(options),children:children})},userContext:userContext,useHasRole:useHasRole,useIsAdmin:function useIsAdmin(){return useHasRole("_admin")},useUser:useUser,useUserState:useUserState}};/* unused harmony default export */ var __WEBPACK_DEFAULT_EXPORT__ = ((/* unused pure expression or super */ null && (sessionFactory)));
|
|
189
195
|
|
|
190
196
|
/***/ }),
|
|
191
|
-
/*
|
|
197
|
+
/* 7 */
|
|
192
198
|
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
|
|
193
199
|
|
|
194
200
|
|
|
@@ -200,13 +206,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
200
206
|
// UNUSED EXPORTS: default
|
|
201
207
|
|
|
202
208
|
// EXTERNAL MODULE: external "core-js/modules/es.array.includes.js"
|
|
203
|
-
var es_array_includes_js_ = __webpack_require__(
|
|
209
|
+
var es_array_includes_js_ = __webpack_require__(4);
|
|
204
210
|
// EXTERNAL MODULE: external "clientnode"
|
|
205
|
-
var external_clientnode_ = __webpack_require__(
|
|
211
|
+
var external_clientnode_ = __webpack_require__(8);
|
|
206
212
|
// EXTERNAL MODULE: external "react"
|
|
207
213
|
var external_react_ = __webpack_require__(1);
|
|
208
214
|
// EXTERNAL MODULE: external "react-generic-tools"
|
|
209
|
-
var external_react_generic_tools_ = __webpack_require__(
|
|
215
|
+
var external_react_generic_tools_ = __webpack_require__(9);
|
|
210
216
|
;// external "react-redux"
|
|
211
217
|
|
|
212
218
|
;// external "@reduxjs/toolkit"
|
|
@@ -237,7 +243,7 @@ var useNoLocation=function useNoLocation(){return null};/**
|
|
|
237
243
|
*/var authenticateThunk=__WEBPACK_EXTERNAL_MODULE__reduxjs_toolkit_b9e87ac4_createAsyncThunk__("".concat(type/* ACTION_NAME_PREFIX */.u,"/authenticate"),function(){return handler.authenticate.apply(handler,arguments)});var loginThunk=__WEBPACK_EXTERNAL_MODULE__reduxjs_toolkit_b9e87ac4_createAsyncThunk__("".concat(type/* ACTION_NAME_PREFIX */.u,"/login"),function(){return handler.login.apply(handler,arguments)});var logoutThunk=__WEBPACK_EXTERNAL_MODULE__reduxjs_toolkit_b9e87ac4_createAsyncThunk__("".concat(type/* ACTION_NAME_PREFIX */.u,"/logout"),function(){return handler.logout.apply(handler,arguments)});var useHasRole=function useHasRole(role){var session=__WEBPACK_EXTERNAL_MODULE_react_redux_1ffa815c_useSelector__(function(state){return state.user});var userContext=session===null||session===void 0?void 0:session.userContext;var roles=userContext===null||userContext===void 0?void 0:userContext.roles;return Boolean(roles&&[].concat(role).every(function(role){return roles.includes(role)}))};var slice=__WEBPACK_EXTERNAL_MODULE__reduxjs_toolkit_b9e87ac4_createSlice__({name:type/* ACTION_NAME_PREFIX */.u,initialState:{authenticated:null,authenticating:false,deauthenticating:false,initialRequestedLocation:undefined,userContext:undefined},selectors:{selectUser:function selectUser(slice){return slice}},reducers:{deauthenticate:function deauthenticate(state){return _objectSpread(_objectSpread({},state),{},{authenticated:false,userContext:undefined})},setInitialRequestedLocation:function setInitialRequestedLocation(state,_ref2){var payload=_ref2.payload;return _objectSpread(_objectSpread({},state),{},{initialRequestedLocation:payload})}},extraReducers:function extraReducers(builder){builder.addCase(logoutThunk.fulfilled,function(state,action){state.deauthenticating=false;if(action.payload){state.authenticated=false;state.userContext=undefined}}).addCase(logoutThunk.pending,function(state){state.deauthenticating=true}).addCase(logoutThunk.rejected,function(state){state.deauthenticating=false}).addMatcher(function(action){return["".concat(authenticateThunk.typePrefix,"/fulfilled"),"".concat(loginThunk.typePrefix,"/fulfilled")].includes(action.type)},function(state,action){state.authenticating=false;if(typeof action.payload==="boolean")state.authenticated=action.payload;else if((0,external_clientnode_.isObject)(action.payload)){state.authenticated=true;state.userContext=action.payload}else state.authenticated=false}).addMatcher(function(action){return["".concat(authenticateThunk.typePrefix,"/pending"),"".concat(loginThunk.typePrefix,"/pending")].includes(action.type)},function(state){state.authenticating=true}).addMatcher(function(action){return["".concat(authenticateThunk.typePrefix,"/rejected"),"".concat(loginThunk.typePrefix,"/rejected")].includes(action.type)},function(state){state.authenticating=false})}});return{authenticateThunk:authenticateThunk,loginThunk:loginThunk,logoutThunk:logoutThunk,slice:slice,useHasRole:useHasRole,useIsAdmin:function useIsAdmin(){return useHasRole("_admin")},useUser:function useUser(data,isLoginLocation){if(data===void 0){data={}}if(isLoginLocation===void 0){isLoginLocation=function isLoginLocation(location){return location.pathname.endsWith("/login")}}var dispatch=__WEBPACK_EXTERNAL_MODULE_react_redux_1ffa815c_useDispatch__();var location=useLocation();var session=__WEBPACK_EXTERNAL_MODULE_react_redux_1ffa815c_useSelector__(slice.selectors.selectUser);(0,external_react_.useEffect)(function(){if(location&&!isLoginLocation(location)&&(!session||session.initialRequestedLocation===undefined||session.authenticated&&session.initialRequestedLocation!==null))dispatch(slice.actions.setInitialRequestedLocation(session!==null&&session!==void 0&&session.authenticated?null:location))},[dispatch,location,session===null||session===void 0?void 0:session.authenticated,session===null||session===void 0?void 0:session.initialRequestedLocation]);if(session===null)throw new Error("No user redux state found. Did you register a "+"corresponding redux slice?");var authenticate=(0,external_react_generic_tools_.useMemorizedValue)(function(){dispatch(authenticateThunk(data))},dispatch);var login=(0,external_react_generic_tools_.useMemorizedValue)(function(_ref3){var login=_ref3.login,password=_ref3.password;dispatch(loginThunk(_objectSpread(_objectSpread({},data),{},{login:login,password:password})))},dispatch);var logout=(0,external_react_generic_tools_.useMemorizedValue)(function(){dispatch(logoutThunk(data))},dispatch);return (0,external_react_generic_tools_.useMemorizedValue)({authenticate:authenticate,login:login,logout:logout,session:session},authenticateThunk,dispatch,session)}}};/* harmony default export */ var redux = ((/* unused pure expression or super */ null && (sessionFactory)));
|
|
238
244
|
|
|
239
245
|
/***/ }),
|
|
240
|
-
/*
|
|
246
|
+
/* 8 */
|
|
241
247
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
242
248
|
|
|
243
249
|
var x = function(y) {
|
|
@@ -247,7 +253,7 @@ var y = function(x) { return function() { return x; }; }
|
|
|
247
253
|
module.exports = x({ ["isFunction"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.isFunction; }, ["isObject"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.isObject; } });
|
|
248
254
|
|
|
249
255
|
/***/ }),
|
|
250
|
-
/*
|
|
256
|
+
/* 9 */
|
|
251
257
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
252
258
|
|
|
253
259
|
var x = function(y) {
|
|
@@ -306,9 +312,9 @@ var __webpack_exports__ = {};
|
|
|
306
312
|
/* harmony export */ sr: function() { return /* reexport safe */ _components_js__WEBPACK_IMPORTED_MODULE_0__.sr; },
|
|
307
313
|
/* harmony export */ uI: function() { return /* reexport safe */ _type_js__WEBPACK_IMPORTED_MODULE_3__.u; }
|
|
308
314
|
/* harmony export */ });
|
|
309
|
-
/* harmony import */ var _components_js__WEBPACK_IMPORTED_MODULE_0__ = /*#__PURE__*/__webpack_require__(
|
|
310
|
-
/* harmony import */ var _context_js__WEBPACK_IMPORTED_MODULE_1__ = /*#__PURE__*/__webpack_require__(
|
|
311
|
-
/* harmony import */ var _redux_js__WEBPACK_IMPORTED_MODULE_2__ = /*#__PURE__*/__webpack_require__(
|
|
315
|
+
/* harmony import */ var _components_js__WEBPACK_IMPORTED_MODULE_0__ = /*#__PURE__*/__webpack_require__(5);
|
|
316
|
+
/* harmony import */ var _context_js__WEBPACK_IMPORTED_MODULE_1__ = /*#__PURE__*/__webpack_require__(6);
|
|
317
|
+
/* harmony import */ var _redux_js__WEBPACK_IMPORTED_MODULE_2__ = /*#__PURE__*/__webpack_require__(7);
|
|
312
318
|
/* harmony import */ var _type_js__WEBPACK_IMPORTED_MODULE_3__ = /*#__PURE__*/__webpack_require__(0);
|
|
313
319
|
// #!/usr/bin/env babel-node
|
|
314
320
|
// -*- coding: utf-8 -*-
|
package/dist/redux.js
CHANGED
|
@@ -64,7 +64,8 @@ module.exports = x({ ["useEffect"]: function() { return __WEBPACK_EXTERNAL_MODUL
|
|
|
64
64
|
|
|
65
65
|
/***/ }),
|
|
66
66
|
/* 2 */,
|
|
67
|
-
/* 3
|
|
67
|
+
/* 3 */,
|
|
68
|
+
/* 4 */
|
|
68
69
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
69
70
|
|
|
70
71
|
var x = function(y) {
|
|
@@ -74,10 +75,10 @@ var y = function(x) { return function() { return x; }; }
|
|
|
74
75
|
module.exports = x({ });
|
|
75
76
|
|
|
76
77
|
/***/ }),
|
|
77
|
-
/* 4 */,
|
|
78
78
|
/* 5 */,
|
|
79
79
|
/* 6 */,
|
|
80
|
-
/* 7
|
|
80
|
+
/* 7 */,
|
|
81
|
+
/* 8 */
|
|
81
82
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
82
83
|
|
|
83
84
|
var x = function(y) {
|
|
@@ -87,7 +88,7 @@ var y = function(x) { return function() { return x; }; }
|
|
|
87
88
|
module.exports = x({ ["isObject"]: function() { return __WEBPACK_EXTERNAL_MODULE_clientnode__.isObject; } });
|
|
88
89
|
|
|
89
90
|
/***/ }),
|
|
90
|
-
/*
|
|
91
|
+
/* 9 */
|
|
91
92
|
/***/ (function(module, __unused_webpack_exports, __webpack_require__) {
|
|
92
93
|
|
|
93
94
|
var x = function(y) {
|
|
@@ -140,13 +141,13 @@ module.exports = x({ ["useMemorizedValue"]: function() { return __WEBPACK_EXTERN
|
|
|
140
141
|
/************************************************************************/
|
|
141
142
|
|
|
142
143
|
// EXTERNAL MODULE: external "core-js/modules/es.array.includes.js"
|
|
143
|
-
var es_array_includes_js_ = __webpack_require__(
|
|
144
|
+
var es_array_includes_js_ = __webpack_require__(4);
|
|
144
145
|
// EXTERNAL MODULE: external "clientnode"
|
|
145
|
-
var external_clientnode_ = __webpack_require__(
|
|
146
|
+
var external_clientnode_ = __webpack_require__(8);
|
|
146
147
|
// EXTERNAL MODULE: external "react"
|
|
147
148
|
var external_react_ = __webpack_require__(1);
|
|
148
149
|
// EXTERNAL MODULE: external "react-generic-tools"
|
|
149
|
-
var external_react_generic_tools_ = __webpack_require__(
|
|
150
|
+
var external_react_generic_tools_ = __webpack_require__(9);
|
|
150
151
|
;// external "react-redux"
|
|
151
152
|
|
|
152
153
|
;// external "@reduxjs/toolkit"
|
package/dist/type.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-generic-user",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.2",
|
|
4
4
|
"description": "Generic user session handling (redux or react context based) and login components.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"authentication",
|
|
@@ -81,88 +81,65 @@
|
|
|
81
81
|
"devDependencies": {
|
|
82
82
|
"@babel/eslint-parser": "^8.0.7",
|
|
83
83
|
"@babel/preset-react": "^8.0.1",
|
|
84
|
-
"@codemirror/autocomplete": "^6.20.4",
|
|
85
|
-
"@codemirror/commands": "^6.11.1",
|
|
86
|
-
"@codemirror/lang-css": "^6.3.1",
|
|
87
|
-
"@codemirror/lang-javascript": "^6.2.5",
|
|
88
|
-
"@codemirror/language": "^6.13.1",
|
|
89
|
-
"@codemirror/lint": "^6.9.7",
|
|
90
|
-
"@codemirror/search": "^6.7.2",
|
|
91
|
-
"@codemirror/state": "^6.7.6",
|
|
92
|
-
"@codemirror/view": "^6.43.15",
|
|
93
|
-
"@emotion/react": "^11.14.0",
|
|
94
84
|
"@eslint/js": "^10.0.1",
|
|
95
|
-
"@playwright/test": "^1.
|
|
85
|
+
"@playwright/test": "^1.65.0",
|
|
96
86
|
"@reduxjs/toolkit": "^2.14.0",
|
|
97
87
|
"@rmwc/button": "^14.3.5",
|
|
98
|
-
"@rmwc/card": "^14.3.5",
|
|
99
|
-
"@rmwc/checkbox": "^14.3.5",
|
|
100
88
|
"@rmwc/circular-progress": "^14.3.5",
|
|
101
|
-
"@rmwc/formfield": "^14.3.5",
|
|
102
89
|
"@rmwc/icon": "^14.3.5",
|
|
103
90
|
"@rmwc/icon-button": "^14.3.5",
|
|
104
91
|
"@rmwc/menu": "^14.3.5",
|
|
105
92
|
"@rmwc/select": "^14.3.5",
|
|
106
|
-
"@rmwc/tabs": "^14.3.5",
|
|
107
93
|
"@rmwc/textfield": "^14.3.5",
|
|
108
94
|
"@rmwc/theme": "^14.3.5",
|
|
109
|
-
"@rmwc/tooltip": "^14.3.5",
|
|
110
95
|
"@rmwc/touch-target": "^14.3.5",
|
|
111
96
|
"@rmwc/typography": "^14.3.5",
|
|
112
97
|
"@stylistic/eslint-plugin": "^5.10.0",
|
|
113
98
|
"@teamsupercell/typings-for-css-modules-loader": "^2.5.2",
|
|
114
|
-
"@tiptap/core": "^3.32.2",
|
|
115
|
-
"@tiptap/extensions": "^3.32.2",
|
|
116
|
-
"@tiptap/react": "^3.32.2",
|
|
117
|
-
"@tiptap/starter-kit": "^3.32.2",
|
|
118
99
|
"@types/jsdom": "^30.0.0",
|
|
119
100
|
"@types/node": "^26.6.6",
|
|
120
101
|
"@types/prop-types": "^15.7.15",
|
|
121
102
|
"@types/react": "^18.3.31",
|
|
122
103
|
"@types/react-dom": "^18.3.7",
|
|
123
|
-
"@types/react-transition-group": "^4.4.12",
|
|
124
|
-
"@types/spark-md5": "^3.0.5",
|
|
125
104
|
"@types/webpack-env": "^1.18.8",
|
|
126
105
|
"@typescript-eslint/eslint-plugin": "^8.72.1",
|
|
127
106
|
"@typescript-eslint/parser": "^8.72.1",
|
|
128
|
-
"
|
|
129
|
-
"clientnode": "^4.0.1530",
|
|
107
|
+
"clientnode": "^4.0.1531",
|
|
130
108
|
"css-loader": "^7.1.5",
|
|
131
109
|
"cssnano": "^9.9.0",
|
|
132
110
|
"eslint": "^10.14.0",
|
|
133
111
|
"eslint-config-google": "^0.14.0",
|
|
134
|
-
"eslint-plugin-jsdoc": "^65.4.
|
|
112
|
+
"eslint-plugin-jsdoc": "^65.4.5",
|
|
135
113
|
"identity-obj-proxy": "^3.0.0",
|
|
136
114
|
"jest": "^30.5.2",
|
|
137
115
|
"jsdoc": "^4.0.5",
|
|
138
116
|
"material-components-web": "^14.0.0",
|
|
139
|
-
"material-icons": "^1.13.14",
|
|
140
117
|
"mini-css-extract-plugin": "^2.10.2",
|
|
141
|
-
"playwright-core": "^1.
|
|
118
|
+
"playwright-core": "^1.65.0",
|
|
142
119
|
"postcss": "8.5.32",
|
|
143
120
|
"postcss-import": "^17.0.1",
|
|
144
121
|
"postcss-loader": "^8.2.1",
|
|
145
122
|
"postcss-nested": "^9.0.1",
|
|
146
123
|
"postcss-preset-env": "^11.6.2",
|
|
124
|
+
"postcss-scss": "^4.0.9",
|
|
147
125
|
"prop-types": "^15.8.1",
|
|
148
126
|
"react": "^18.3.1",
|
|
149
127
|
"react-dom": "^18.3.1",
|
|
150
128
|
"react-generic-animate": "^0.0.141",
|
|
151
129
|
"react-generic-dummy": "^0.0.141",
|
|
152
130
|
"react-generic-tools": "^0.0.138",
|
|
153
|
-
"react-input-material": "^0.0.
|
|
131
|
+
"react-input-material": "^0.0.855",
|
|
154
132
|
"react-redux": "^9.3.1",
|
|
155
133
|
"react-transition-group": "^4.4.5",
|
|
156
134
|
"react-useanimations": "^3.1.1",
|
|
157
135
|
"redux": "^5.0.1",
|
|
158
|
-
"spark-md5": "^3.0.2",
|
|
159
136
|
"style-loader": "^4.0.0",
|
|
160
|
-
"stylelint": "^
|
|
161
|
-
"stylelint-config-standard": "^
|
|
137
|
+
"stylelint": "^18.0.0",
|
|
138
|
+
"stylelint-config-standard": "^41.0.0",
|
|
162
139
|
"tslib": "^2.9.1",
|
|
163
140
|
"typescript-eslint": "^8.72.1",
|
|
164
141
|
"typescript-plugin-css-modules": "^5.3.0",
|
|
165
|
-
"web-documentation": "^1.0.
|
|
142
|
+
"web-documentation": "^1.0.74",
|
|
166
143
|
"weboptimizer": "^4.0.109",
|
|
167
144
|
"webpack-dev-server": "^6.1.0"
|
|
168
145
|
},
|
|
@@ -237,7 +214,10 @@
|
|
|
237
214
|
},
|
|
238
215
|
"generic": {
|
|
239
216
|
"entry": {
|
|
240
|
-
"components":
|
|
217
|
+
"components": [
|
|
218
|
+
"./style.module.css",
|
|
219
|
+
"./components"
|
|
220
|
+
],
|
|
241
221
|
"context": "./context",
|
|
242
222
|
"harness": "./harness",
|
|
243
223
|
"index": "./index.ts",
|
|
@@ -325,4 +305,4 @@
|
|
|
325
305
|
}
|
|
326
306
|
},
|
|
327
307
|
"packageManager": "yarn@4.18.1+sha512.b2e1e7524f654f2749d32b4ebcb4622473cb5bcbc485df2007e12a154e50162a4d795526768bc5f5b8f81717bfd79deb2472813d86fb5ae2eb551fa9c872b08f"
|
|
328
|
-
}
|
|
308
|
+
}
|