@ukpc-lib/react 0.14.4-dev.0 → 0.15.1

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.
@@ -1 +1,2 @@
1
1
  export declare function search<T>(option: T, searchText: string, fields: Array<keyof T>): boolean;
2
+ export declare function setShellBackdrop(open: boolean): void;
@@ -1 +1,3 @@
1
1
  export * from './useGetPermission';
2
+ export * from './useSyncRouter';
3
+ export * from './useSyncBackdrop';
@@ -0,0 +1,4 @@
1
+ export declare function useSyncBackdrop({ open, disabled, }: {
2
+ open: boolean;
3
+ disabled?: boolean;
4
+ }): void;
@@ -0,0 +1,7 @@
1
+ declare global {
2
+ interface Window {
3
+ MicrofeBridge?: any;
4
+ HostBridge?: any;
5
+ }
6
+ }
7
+ export declare const useSyncRouter: (basepath?: string) => void;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index.esm2017-D9VnHqoi.cjs"),m=require("axios"),u=require("react"),i=require("react/jsx-runtime");require("@r2wc/react-to-web-component");const l=require("react-router-dom");require("@mui/material");const c=s=>{const[t,o]=u.useState([]);return u.useEffect(()=>{m.get(`${s}/user-management/api/v1/users/my-account/permissions`,{withCredentials:!0}).then(r=>o(r.data)).catch(r=>{console.error("Getting user permission error:",r)})},[s]),t},a=s=>(t,o)=>{const r=c(s);return o?t.every(n=>r==null?void 0:r.includes(n)):t.some(n=>r==null?void 0:r.includes(n))},h=({baseUrl:s,accessWith:t,requireAll:o,children:r})=>a(s)(t,o)?i.jsx(i.Fragment,{children:r}):null,P=({accessWith:s,requireAll:t,baseUrl:o,unAuthorizedPath:r,children:n})=>a(o)(s,t)?i.jsx(i.Fragment,{children:n}):i.jsx(l.Navigate,{to:r,replace:!0});exports.AuthContext=e.AuthContext;exports.AuthProvider=e.AuthProvider;exports.ERROR_MESSAGE=e.ERROR_MESSAGE;exports.SaasThemeProvider=e.SaasThemeProvider;exports.TranslationProvider=e.TranslationProvider;exports.axiosInstance=e.axiosInstance;exports.color=e.color;exports.createCustomTheme=e.createCustomTheme;exports.handleErrorAxios=e.handleErrorAxios;exports.login=e.login;exports.logout=e.logout;exports.responseInterceptor=e.responseInterceptor;exports.search=e.search;exports.setFavicon=e.setFavicon;exports.translate=e.translate;exports.translationConfig=e.translationConfig;exports.useAuth=e.useAuth;exports.useCustomTranslation=e.useCustomTranslation;exports.useTheme=e.useTheme;exports.useTranslation=e.useTranslation$1;exports.HasPermission=h;exports.PermissionRoute=P;exports.getUseHasPermission=a;exports.useGetPermission=c;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../index.esm2017-BQjNXGwm.cjs"),h=require("axios"),c=require("react"),l=require("react-router-dom"),u=require("react/jsx-runtime");require("@r2wc/react-to-web-component");require("@mui/material");const m=n=>{const[s,r]=c.useState([]);return c.useEffect(()=>{h.get(`${n}/user-management/api/v1/users/my-account/permissions`,{withCredentials:!0}).then(o=>r(o.data)).catch(o=>{console.error("Getting user permission error:",o)})},[n]),s},f=n=>{const s=l.useNavigate(),r=l.useLocation();console.log(" useSyncRouter.tsx ~ location1:",r,window.location.pathname);const o=(t=r)=>(n||"")+t.pathname+t.search+t.hash;if(c.useEffect(()=>{const t={changeRoute:i=>{const a=o();if(typeof i=="string"&&a!==i){console.log(" useSyncRouter.tsx ~ location2:",a,i);const g=n&&i.startsWith(n)?i.substring(n.length):i;s(g)}}};window.MicrofeBridge=t},[s,r]),c.useEffect(()=>{var i,a;const t=o();console.log("fullPath1",window.location.pathname,t),(a=(i=window.parent)==null?void 0:i.HostBridge)==null||a.childRouteChange(t)},[r]),window.self===window.top){console.log("useSyncRouter: Navigate to /app path"),window.location.href=window.location.href.replace(window.origin,`${window.origin}/app`);return}};function w({open:n,disabled:s}){c.useMemo(()=>{var r,o,t,i;s||(n?(o=(r=window.top)==null?void 0:r.HostBridge)==null||o.openBackdrop(!0):(i=(t=window.top)==null?void 0:t.HostBridge)==null||i.openBackdrop(!1))},[n,s])}const d=n=>(s,r)=>{const o=m(n);return r?s.every(t=>o==null?void 0:o.includes(t)):s.some(t=>o==null?void 0:o.includes(t))},P=({baseUrl:n,accessWith:s,requireAll:r,children:o})=>d(n)(s,r)?u.jsx(u.Fragment,{children:o}):null,p=({accessWith:n,requireAll:s,baseUrl:r,unAuthorizedPath:o,children:t})=>d(r)(n,s)?u.jsx(u.Fragment,{children:t}):u.jsx(l.Navigate,{to:o,replace:!0});exports.AuthContext=e.AuthContext;exports.AuthProvider=e.AuthProvider;exports.ERROR_MESSAGE=e.ERROR_MESSAGE;exports.SaasThemeProvider=e.SaasThemeProvider;exports.TranslationProvider=e.TranslationProvider;exports.axiosInstance=e.axiosInstance;exports.color=e.color;exports.createCustomTheme=e.createCustomTheme;exports.handleErrorAxios=e.handleErrorAxios;exports.login=e.login;exports.logout=e.logout;exports.responseInterceptor=e.responseInterceptor;exports.search=e.search;exports.setFavicon=e.setFavicon;exports.setShellBackdrop=e.setShellBackdrop;exports.translate=e.translate;exports.translationConfig=e.translationConfig;exports.useAuth=e.useAuth;exports.useCustomTranslation=e.useCustomTranslation;exports.useTheme=e.useTheme;exports.useTranslation=e.useTranslation$1;exports.HasPermission=P;exports.PermissionRoute=p;exports.getUseHasPermission=d;exports.useGetPermission=m;exports.useSyncBackdrop=w;exports.useSyncRouter=f;
@@ -1,61 +1,105 @@
1
- import { M as R, O as S, R as G, a1 as y, Z as F, a as H, c as I, $ as M, V as O, T as $, U as j, W as w, v as N, a0 as U, t as V, X, e as Y, u as Z, i as _, Y as k } from "../index.esm2017-hlu12B5d.js";
2
- import u from "axios";
3
- import { useState as m, useEffect as c } from "react";
4
- import { jsx as a, Fragment as n } from "react/jsx-runtime";
1
+ import { O as F, R as M, T as G, a2 as N, $, a as I, c as O, a0 as j, W as z, U as L, V as U, X as V, w as W, a1 as X, s as Y, t as Z, Y as _, e as q, u as D, i as J, Z as K } from "../index.esm2017-BtiWV_WH.js";
2
+ import d from "axios";
3
+ import { useState as g, useEffect as i, useMemo as h } from "react";
4
+ import { useNavigate as w, useLocation as f, Navigate as p } from "react-router-dom";
5
+ import { jsx as c, Fragment as u } from "react/jsx-runtime";
5
6
  import "@r2wc/react-to-web-component";
6
- import { Navigate as l } from "react-router-dom";
7
7
  import "@mui/material";
8
- const h = (e) => {
9
- const [r, t] = m([]);
10
- return c(() => {
11
- u.get(`${e}/user-management/api/v1/users/my-account/permissions`, {
8
+ const P = (s) => {
9
+ const [n, t] = g([]);
10
+ return i(() => {
11
+ d.get(`${s}/user-management/api/v1/users/my-account/permissions`, {
12
12
  withCredentials: !0
13
- }).then((s) => t(s.data)).catch((s) => {
14
- console.error("Getting user permission error:", s);
13
+ }).then((o) => t(o.data)).catch((o) => {
14
+ console.error("Getting user permission error:", o);
15
15
  });
16
- }, [e]), r;
17
- }, i = (e) => (r, t) => {
18
- const s = h(e);
19
- return t ? r.every(
20
- (o) => s == null ? void 0 : s.includes(o)
21
- ) : r.some(
22
- (o) => s == null ? void 0 : s.includes(o)
16
+ }, [s]), n;
17
+ }, T = (s) => {
18
+ const n = w(), t = f();
19
+ console.log(
20
+ " useSyncRouter.tsx ~ location1:",
21
+ t,
22
+ window.location.pathname
23
23
  );
24
- }, T = ({
25
- baseUrl: e,
26
- accessWith: r,
24
+ const o = (e = t) => (s || "") + e.pathname + e.search + e.hash;
25
+ if (i(() => {
26
+ const e = {
27
+ changeRoute: (r) => {
28
+ const a = o();
29
+ if (typeof r == "string" && a !== r) {
30
+ console.log(" useSyncRouter.tsx ~ location2:", a, r);
31
+ const m = s && r.startsWith(s) ? r.substring(s.length) : r;
32
+ n(m);
33
+ }
34
+ }
35
+ };
36
+ window.MicrofeBridge = e;
37
+ }, [n, t]), i(() => {
38
+ var r, a;
39
+ const e = o();
40
+ console.log("fullPath1", window.location.pathname, e), (a = (r = window.parent) == null ? void 0 : r.HostBridge) == null || a.childRouteChange(e);
41
+ }, [t]), window.self === window.top) {
42
+ console.log("useSyncRouter: Navigate to /app path"), window.location.href = window.location.href.replace(
43
+ window.origin,
44
+ `${window.origin}/app`
45
+ );
46
+ return;
47
+ }
48
+ };
49
+ function C({
50
+ open: s,
51
+ disabled: n
52
+ }) {
53
+ h(() => {
54
+ var t, o, e, r;
55
+ n || (s ? (o = (t = window.top) == null ? void 0 : t.HostBridge) == null || o.openBackdrop(!0) : (r = (e = window.top) == null ? void 0 : e.HostBridge) == null || r.openBackdrop(!1));
56
+ }, [s, n]);
57
+ }
58
+ const l = (s) => (n, t) => {
59
+ const o = P(s);
60
+ return t ? n.every(
61
+ (e) => o == null ? void 0 : o.includes(e)
62
+ ) : n.some(
63
+ (e) => o == null ? void 0 : o.includes(e)
64
+ );
65
+ }, A = ({
66
+ baseUrl: s,
67
+ accessWith: n,
27
68
  requireAll: t,
28
- children: s
29
- }) => i(e)(r, t) ? /* @__PURE__ */ a(n, { children: s }) : null, A = ({
30
- accessWith: e,
31
- requireAll: r,
32
- baseUrl: t,
33
- unAuthorizedPath: s,
34
69
  children: o
35
- }) => i(t)(e, r) ? /* @__PURE__ */ a(n, { children: o }) : /* @__PURE__ */ a(l, { to: s, replace: !0 });
70
+ }) => l(s)(n, t) ? /* @__PURE__ */ c(u, { children: o }) : null, E = ({
71
+ accessWith: s,
72
+ requireAll: n,
73
+ baseUrl: t,
74
+ unAuthorizedPath: o,
75
+ children: e
76
+ }) => l(t)(s, n) ? /* @__PURE__ */ c(u, { children: e }) : /* @__PURE__ */ c(p, { to: o, replace: !0 });
36
77
  export {
37
- R as AuthContext,
38
- S as AuthProvider,
78
+ F as AuthContext,
79
+ M as AuthProvider,
39
80
  G as ERROR_MESSAGE,
40
- T as HasPermission,
41
- A as PermissionRoute,
42
- y as SaasThemeProvider,
43
- F as TranslationProvider,
44
- H as axiosInstance,
45
- I as color,
46
- M as createCustomTheme,
47
- i as getUseHasPermission,
48
- O as handleErrorAxios,
49
- $ as login,
50
- j as logout,
51
- w as responseInterceptor,
52
- N as search,
53
- U as setFavicon,
54
- V as translate,
55
- X as translationConfig,
56
- Y as useAuth,
57
- Z as useCustomTranslation,
58
- h as useGetPermission,
59
- _ as useTheme,
60
- k as useTranslation
81
+ A as HasPermission,
82
+ E as PermissionRoute,
83
+ N as SaasThemeProvider,
84
+ $ as TranslationProvider,
85
+ I as axiosInstance,
86
+ O as color,
87
+ j as createCustomTheme,
88
+ l as getUseHasPermission,
89
+ z as handleErrorAxios,
90
+ L as login,
91
+ U as logout,
92
+ V as responseInterceptor,
93
+ W as search,
94
+ X as setFavicon,
95
+ Y as setShellBackdrop,
96
+ Z as translate,
97
+ _ as translationConfig,
98
+ q as useAuth,
99
+ D as useCustomTranslation,
100
+ P as useGetPermission,
101
+ C as useSyncBackdrop,
102
+ T as useSyncRouter,
103
+ J as useTheme,
104
+ K as useTranslation
61
105
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ukpc-lib/react",
3
3
  "private": false,
4
- "version": "0.14.4-dev.0",
4
+ "version": "0.15.1",
5
5
  "type": "module",
6
6
  "main": "./dist/",
7
7
  "module": "./dist/",
@@ -1,6 +1,6 @@
1
1
  import "../react-to-web-component-w5r1Fs9q.js";
2
- import { F as i, u as m } from "../index-BbHsGJdK.js";
3
- import "../index-GJlGdcoo.js";
2
+ import { F as i, u as m } from "../index-2BgEDqwI.js";
3
+ import "../index-DwRBe0O9.js";
4
4
  import "../index-BU5SX9Tl.js";
5
5
  export {
6
6
  i as FavoriteMenu,
@@ -1,6 +1,6 @@
1
1
  import "../react-to-web-component-w5r1Fs9q.js";
2
- import { G as i } from "../index-BbHsGJdK.js";
3
- import "../index-GJlGdcoo.js";
2
+ import { G as i } from "../index-2BgEDqwI.js";
3
+ import "../index-DwRBe0O9.js";
4
4
  import "../index-BU5SX9Tl.js";
5
5
  export {
6
6
  i as GlobalMenu
@@ -1,6 +1,6 @@
1
1
  import "../react-to-web-component-w5r1Fs9q.js";
2
- import { L as n, T as s } from "../index-BbHsGJdK.js";
3
- import "../index-GJlGdcoo.js";
2
+ import { L as n, T as s } from "../index-2BgEDqwI.js";
3
+ import "../index-DwRBe0O9.js";
4
4
  import "../index-BMcWYdph.js";
5
5
  import "../index-BU5SX9Tl.js";
6
6
  import "../react-toastify.esm-H_Xdunfj.js";
@@ -1,5 +1,5 @@
1
1
  import "../react-to-web-component-w5r1Fs9q.js";
2
- import { H as e, g as m } from "../index-BbHsGJdK.js";
2
+ import { H as e, g as m } from "../index-2BgEDqwI.js";
3
3
  import "../index-BU5SX9Tl.js";
4
4
  export {
5
5
  e as HasPermission,
@@ -0,0 +1,14 @@
1
+ function s(r, e, o) {
2
+ return o.some((t) => {
3
+ const n = r[t];
4
+ return String(n).toLowerCase().includes(e.toLowerCase());
5
+ });
6
+ }
7
+ function c(r) {
8
+ var e, o;
9
+ (o = (e = window.top) == null ? void 0 : e.HostBridge) == null || o.openBackdrop(r);
10
+ }
11
+ export {
12
+ s as search,
13
+ c as setShellBackdrop
14
+ };