react-luminus-components 2.0.5-beta.r19-5 → 2.0.5-beta.r19-7

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 @@
1
- "use strict";const N=require("./nivo-bar-CjwNk2vE.cjs"),F=require("react-router"),Q=require("react-hook-form"),y=()=>{const o=N.compilerRuntimeExports.c(6),[e,s]=F.useSearchParams();let t;o[0]!==e||o[1]!==s?(t=(i,n)=>{e.get(i)!==n&&s(l=>(n===null&&l.delete(i),l.get(i)===n||l.set(i,n??""),l),{replace:!0})},o[0]=e,o[1]=s,o[2]=t):t=o[2];const u=t;let c;return o[3]!==e||o[4]!==u?(c={searchParams:e,setSearch:u},o[3]=e,o[4]=u,o[5]=c):c=o[5],c},k="\0",p=(o,e,s)=>{const t=N.compilerRuntimeExports.c(24),{searchParams:u,setSearch:c}=y();let i;t[0]!==s?(i=r=>{if(typeof r=="object"){if(s&&s==="date"||!s&&r instanceof Date){if(!(r instanceof Date))throw new Error("Tried to setQueryState of type Date to non-date.");return r.toISOString()}return JSON.stringify(r)}return r.toString()},t[0]=s,t[1]=i):i=t[1];const n=i;let l;t[2]!==e||t[3]!==n?(l=n(e),t[2]=e,t[3]=n,t[4]=l):l=t[4];const P=l;let g;t[5]!==o||t[6]!==u?(g=u.get(o),t[5]=o,t[6]=u,t[7]=g):g=t[7];const E=g;let b;t:{const r=E;if(r===k){b=null;break t}const f=r?Number(r):e;let m=Number.isNaN(f)?typeof e:"number";switch(m==="object"&&e instanceof Date&&(m="date"),s??m){case"number":{b=f;break t}case"string":{b=r??e;break t}case"boolean":{b=r==="true";break t}case"object":{let h;t[8]!==e||t[9]!==r?(h=r?JSON.parse(r):e,t[8]=e,t[9]=r,t[10]=h):h=t[10],b=h;break t}case"date":{let h;t[11]!==e||t[12]!==r?(h=r?new Date(r):e,t[11]=e,t[12]=r,t[13]=h):h=t[13],b=h;break t}default:throw console.error(s,m),new Error(`useSearchQueryState is not implemented for type ${typeof(s??m)}.`)}}const a=b;let S;t[14]!==e||t[15]!==P||t[16]!==n||t[17]!==o||t[18]!==c||t[19]!==a?(S=r=>{let f;typeof r=="function"?f=r(a):f=r;const m=n(f);if(e===f||m===P){c(o,null);return}if(f===null){c(o,k);return}c(o,m)},t[14]=e,t[15]=P,t[16]=n,t[17]=o,t[18]=c,t[19]=a,t[20]=S):S=t[20];const D=S;let $;return t[21]!==D||t[22]!==a?($=[a,D],t[21]=D,t[22]=a,t[23]=$):$=t[23],$},R=o=>{const e=N.compilerRuntimeExports.c(5),s=Math.floor(Math.random()*900)+100;let t;e[0]!==o?(t=btoa(o.toString()??""),e[0]=o,e[1]=t):t=e[1];const u=t,c=`employeePhotos?personalNumber=${s}${u}&small=false`,i=`employeePhotos?personalNumber=${s}${u}&small=true`;let n;return e[2]!==c||e[3]!==i?(n={photoPath:c,photoPathSm:i},e[2]=c,e[3]=i,e[4]=n):n=e[4],n},j=({control:o}={})=>{"use no memo";const{dirtyFields:e}=Q.useFormState({control:o});return Object.keys(e).length>0};exports.useEmployeePhotoPath=R;exports.useIsFormDirty=j;exports.useSearchQuery=y;exports.useSearchQueryState=p;
1
+ "use strict";const N=require("./nivo-bar-D9jkkQXQ.cjs"),F=require("react-router"),Q=require("react-hook-form"),y=()=>{const o=N.compilerRuntimeExports.c(6),[e,s]=F.useSearchParams();let t;o[0]!==e||o[1]!==s?(t=(i,n)=>{e.get(i)!==n&&s(l=>(n===null&&l.delete(i),l.get(i)===n||l.set(i,n??""),l),{replace:!0})},o[0]=e,o[1]=s,o[2]=t):t=o[2];const u=t;let c;return o[3]!==e||o[4]!==u?(c={searchParams:e,setSearch:u},o[3]=e,o[4]=u,o[5]=c):c=o[5],c},k="\0",p=(o,e,s)=>{const t=N.compilerRuntimeExports.c(24),{searchParams:u,setSearch:c}=y();let i;t[0]!==s?(i=r=>{if(typeof r=="object"){if(s&&s==="date"||!s&&r instanceof Date){if(!(r instanceof Date))throw new Error("Tried to setQueryState of type Date to non-date.");return r.toISOString()}return JSON.stringify(r)}return r.toString()},t[0]=s,t[1]=i):i=t[1];const n=i;let l;t[2]!==e||t[3]!==n?(l=n(e),t[2]=e,t[3]=n,t[4]=l):l=t[4];const P=l;let g;t[5]!==o||t[6]!==u?(g=u.get(o),t[5]=o,t[6]=u,t[7]=g):g=t[7];const E=g;let b;t:{const r=E;if(r===k){b=null;break t}const f=r?Number(r):e;let m=Number.isNaN(f)?typeof e:"number";switch(m==="object"&&e instanceof Date&&(m="date"),s??m){case"number":{b=f;break t}case"string":{b=r??e;break t}case"boolean":{b=r==="true";break t}case"object":{let h;t[8]!==e||t[9]!==r?(h=r?JSON.parse(r):e,t[8]=e,t[9]=r,t[10]=h):h=t[10],b=h;break t}case"date":{let h;t[11]!==e||t[12]!==r?(h=r?new Date(r):e,t[11]=e,t[12]=r,t[13]=h):h=t[13],b=h;break t}default:throw console.error(s,m),new Error(`useSearchQueryState is not implemented for type ${typeof(s??m)}.`)}}const a=b;let S;t[14]!==e||t[15]!==P||t[16]!==n||t[17]!==o||t[18]!==c||t[19]!==a?(S=r=>{let f;typeof r=="function"?f=r(a):f=r;const m=n(f);if(e===f||m===P){c(o,null);return}if(f===null){c(o,k);return}c(o,m)},t[14]=e,t[15]=P,t[16]=n,t[17]=o,t[18]=c,t[19]=a,t[20]=S):S=t[20];const D=S;let $;return t[21]!==D||t[22]!==a?($=[a,D],t[21]=D,t[22]=a,t[23]=$):$=t[23],$},R=o=>{const e=N.compilerRuntimeExports.c(5),s=Math.floor(Math.random()*900)+100;let t;e[0]!==o?(t=btoa(o.toString()??""),e[0]=o,e[1]=t):t=e[1];const u=t,c=`employeePhotos?personalNumber=${s}${u}&small=false`,i=`employeePhotos?personalNumber=${s}${u}&small=true`;let n;return e[2]!==c||e[3]!==i?(n={photoPath:c,photoPathSm:i},e[2]=c,e[3]=i,e[4]=n):n=e[4],n},j=({control:o}={})=>{"use no memo";const{dirtyFields:e}=Q.useFormState({control:o});return Object.keys(e).length>0};exports.useEmployeePhotoPath=R;exports.useIsFormDirty=j;exports.useSearchQuery=y;exports.useSearchQueryState=p;
@@ -1,4 +1,4 @@
1
- import { c as D } from "./nivo-bar-C5nQpM2f.js";
1
+ import { c as D } from "./nivo-bar-Swmjt921.js";
2
2
  import { useSearchParams as j } from "react-router";
3
3
  import { useFormState as p } from "react-hook-form";
4
4
  const y = () => {
@@ -0,0 +1 @@
1
+ "use strict";const b=require("./nivo-bar-D9jkkQXQ.cjs");require("react/jsx-runtime");const a=require("react");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const d={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},B=(e,{loadOnInit:f=d.loadOnInit,enabled:t=d.enabled,silent:s=d.silent,nullStateBeforeLoad:u=d.nullStateBeforeLoad,nullStateOnFail:o=d.nullStateOnFail,customApiUrl:L,customBearerToken:g,dataTransformer:r}=d)=>{const n=b.useAxios({silent:s,customToken:g,differentBaseUrl:L}),[p,c]=a.useState(d.loadOnInit??!1),{startLoading:i,stopLoading:q}=a.useContext(b.LoadingContext),w=a.useRef(0),{isAuthenticated:x}=b.useAuth(),A=a.useCallback(l=>{i(l),c(()=>!0)},[i]),I=a.useCallback(l=>{q(l),c(()=>!1)},[q]),[R,C]=a.useState(null),S=a.useCallback(async(l,O)=>{if(!x()||t===!1)return null;!s&&A(`loadData-${e}-${O}`),u&&C(null);let h;try{const D=await n.get(e,{signal:l}),m=r?r(D.data):D.data;C(m),h=m}catch(D){throw o&&C(null),D}finally{!s&&I(`loadData-${e}-${O}`)}return h},[x,t,s,A,e,u,n,r,o,I]),$=a.useCallback(async()=>{S()},[S]),v=a.useCallback(async()=>S(),[S]);return a.useEffect(()=>{if(f===!1)return;if(n.interceptorsUsed===!1){console.error("useGetApiData: could not load data because interceptors are not used"),setTimeout(()=>{window.location.reload()},1e3*10);return}const l=new AbortController;return S(l.signal,++w.current),()=>{l.abort()}},[S,f,n.interceptorsUsed]),{data:R,setData:C,reloadData:$,isLoading:p,reloadDataWithReturn:v}},E=(e,f)=>{const t=b.compilerRuntimeExports.c(12);let s;t[0]!==f||t[1]!==e?(s=()=>{const i=localStorage.getItem(e);return i!=null&&i!=="undefined"?JSON.parse(i):f},t[0]=f,t[1]=e,t[2]=s):s=t[2];const u=s,[o,L]=a.useState(u);let g,r;t[3]!==e||t[4]!==o?(g=()=>{localStorage.setItem(e,JSON.stringify(o))},r=[e,o],t[3]=e,t[4]=o,t[5]=g,t[6]=r):(g=t[5],r=t[6]),a.useEffect(g,r);let n;t[7]!==u?(n=()=>{L(u)},t[7]=u,t[8]=n):n=t[8];const p=n;let c;return t[9]!==p||t[10]!==o?(c=[o,L,p],t[9]=p,t[10]=o,t[11]=c):c=t[11],c};exports.useGetApiData=B;exports.useLocalStorageState=E;
@@ -1,79 +1,81 @@
1
- import { ao as E, aq as G, bd as J, c as N } from "./nivo-bar-C5nQpM2f.js";
1
+ import { ao as E, aq as G, bd as J, c as N } from "./nivo-bar-Swmjt921.js";
2
2
  import "react/jsx-runtime";
3
- import { useState as x, useContext as q, useRef as F, useCallback as m, useEffect as R } from "react";
3
+ import { useState as x, useContext as q, useRef as F, useCallback as m, useEffect as $ } from "react";
4
4
  import "react-router";
5
5
  import "react-dom";
6
6
  import "react-hook-form";
7
7
  import "react-flexmonster";
8
8
  import "@azure/msal-browser";
9
9
  import "@azure/msal-react";
10
- const p = {
10
+ const d = {
11
11
  loadOnInit: !0,
12
12
  silent: !1,
13
13
  enabled: !0,
14
14
  nullStateBeforeLoad: !0,
15
15
  nullStateOnFail: !1
16
- }, X = (e, {
17
- loadOnInit: u = p.loadOnInit,
18
- enabled: t = p.enabled,
19
- silent: a = p.silent,
20
- nullStateBeforeLoad: l = p.nullStateBeforeLoad,
21
- nullStateOnFail: o = p.nullStateOnFail,
16
+ }, T = (e, {
17
+ loadOnInit: u = d.loadOnInit,
18
+ enabled: t = d.enabled,
19
+ silent: a = d.silent,
20
+ nullStateBeforeLoad: l = d.nullStateBeforeLoad,
21
+ nullStateOnFail: o = d.nullStateOnFail,
22
22
  customApiUrl: S,
23
- customBearerToken: d,
23
+ customBearerToken: f,
24
24
  dataTransformer: n
25
- } = p) => {
25
+ } = d) => {
26
26
  const s = E({
27
27
  silent: a,
28
- customToken: d,
28
+ customToken: f,
29
29
  differentBaseUrl: S
30
- }), [g, i] = x(!1), {
30
+ }), [g, i] = x(d.loadOnInit ?? !1), {
31
31
  startLoading: c,
32
32
  stopLoading: b
33
- } = q(G), v = F(0), {
33
+ } = q(G), R = F(0), {
34
34
  isAuthenticated: C
35
- } = J(), A = m((r) => {
35
+ } = J(), I = m((r) => {
36
36
  c(r), i(() => !0);
37
- }, [c]), I = m((r) => {
37
+ }, [c]), A = m((r) => {
38
38
  b(r), i(() => !1);
39
- }, [b]), [w, L] = x(null), f = m(async (r, h) => {
39
+ }, [b]), [v, L] = x(null), p = m(async (r, O) => {
40
40
  if (!C() || t === !1)
41
41
  return null;
42
- !a && A(`loadData-${e}-${h}`), l && L(null);
43
- let O;
42
+ !a && I(`loadData-${e}-${O}`), l && L(null);
43
+ let h;
44
44
  try {
45
45
  const D = await s.get(e, {
46
46
  signal: r
47
- }), $ = n ? n(D.data) : D.data;
48
- L($), O = $;
47
+ }), w = n ? n(D.data) : D.data;
48
+ L(w), h = w;
49
49
  } catch (D) {
50
50
  throw o && L(null), D;
51
51
  } finally {
52
- !a && I(`loadData-${e}-${h}`);
52
+ !a && A(`loadData-${e}-${O}`);
53
53
  }
54
- return O;
55
- }, [C, t, a, A, e, l, s, n, o, I]), U = m(async () => {
56
- f();
57
- }, [f]), B = m(async () => f(), [f]);
58
- return R(() => {
54
+ return h;
55
+ }, [C, t, a, I, e, l, s, n, o, A]), U = m(async () => {
56
+ p();
57
+ }, [p]), B = m(async () => p(), [p]);
58
+ return $(() => {
59
59
  if (u === !1)
60
60
  return;
61
61
  if (s.interceptorsUsed === !1) {
62
- console.error("useGetApiData: could not load data because interceptors are not used");
62
+ console.error("useGetApiData: could not load data because interceptors are not used"), setTimeout(() => {
63
+ window.location.reload();
64
+ }, 1e3 * 10);
63
65
  return;
64
66
  }
65
67
  const r = new AbortController();
66
- return f(r.signal, ++v.current), () => {
68
+ return p(r.signal, ++R.current), () => {
67
69
  r.abort();
68
70
  };
69
- }, [f, u, s.interceptorsUsed]), {
70
- data: w,
71
+ }, [p, u, s.interceptorsUsed]), {
72
+ data: v,
71
73
  setData: L,
72
74
  reloadData: U,
73
75
  isLoading: g,
74
76
  reloadDataWithReturn: B
75
77
  };
76
- }, Y = (e, u) => {
78
+ }, X = (e, u) => {
77
79
  const t = N.c(12);
78
80
  let a;
79
81
  t[0] !== u || t[1] !== e ? (a = () => {
@@ -81,10 +83,10 @@ const p = {
81
83
  return c != null && c !== "undefined" ? JSON.parse(c) : u;
82
84
  }, t[0] = u, t[1] = e, t[2] = a) : a = t[2];
83
85
  const l = a, [o, S] = x(l);
84
- let d, n;
85
- t[3] !== e || t[4] !== o ? (d = () => {
86
+ let f, n;
87
+ t[3] !== e || t[4] !== o ? (f = () => {
86
88
  localStorage.setItem(e, JSON.stringify(o));
87
- }, n = [e, o], t[3] = e, t[4] = o, t[5] = d, t[6] = n) : (d = t[5], n = t[6]), R(d, n);
89
+ }, n = [e, o], t[3] = e, t[4] = o, t[5] = f, t[6] = n) : (f = t[5], n = t[6]), $(f, n);
88
90
  let s;
89
91
  t[7] !== l ? (s = () => {
90
92
  S(l);
@@ -94,6 +96,6 @@ const p = {
94
96
  return t[9] !== g || t[10] !== o ? (i = [o, S, g], t[9] = g, t[10] = o, t[11] = i) : i = t[11], i;
95
97
  };
96
98
  export {
97
- Y as a,
98
- X as u
99
+ X as a,
100
+ T as u
99
101
  };
package/dist/utils.cjs.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./nivo-bar-CjwNk2vE.cjs"),l=require("react/jsx-runtime");require("react");require("@azure/msal-browser");require("@azure/msal-react");require("@tanstack/react-query");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");const u=require("./localStorageUtils-CkZslzIU.cjs"),h=e=>{var r,a;return l.jsx(t.SimpleTooltip,{text:((r=e.getValue())==null?void 0:r.toString())??"",placement:"bottom",children:l.jsx("div",{className:"w-100 text-truncate",children:((a=e.getValue())==null?void 0:a.toString())??""})})},p=e=>{var r;return l.jsx(l.Fragment,{children:(r=e.getValue())==null?void 0:r.toLocaleString("cs-CZ")})},y=e=>{var o;const r=((o=e.getValue())==null?void 0:o.toString())??"",a=t.format(new Date(r),"dd.MM.yyyy");return l.jsx(l.Fragment,{children:r?a:""})},b=(e,r)=>{let a=!1,o=e;e[0]==="#"&&(o=e.slice(1),a=!0);let s=parseInt(o.substring(0,2),16),n=parseInt(o.substring(2,4),16),i=parseInt(o.substring(4,6),16);s+=r,n+=r,i+=r,s>255?s=255:s<0&&(s=0),n>255?n=255:n<0&&(n=0),i>255?i=255:i<0&&(i=0);const m=s.toString(16).length===1?"0"+s.toString(16):s.toString(16),S=n.toString(16).length===1?"0"+n.toString(16):n.toString(16),d=i.toString(16).length===1?"0"+i.toString(16):i.toString(16);return(a?"#":"")+m+S+d},O=e=>{const r=e.slice(3),a=[];for(let s=0;s<r.length;s+=2)a.push(r.slice(s,s+2));return`#${a.reverse().join("")}`},F=e=>typeof e.directoryName=="string"&&typeof e.directoryPath=="string"&&typeof e.directoryTranslationKey=="string"&&Array.isArray(e.files),D=async e=>{let r={status:"pending"};try{r={status:"success",data:(await e).data}}catch(a){r={status:"error",error:a}}return r},f=e=>{var r,a,o;return{columnOrder:e.columnsOrder??[],columnVisibility:Object.fromEntries((e.hiddenColumns??[]).map(s=>[s,!1])),pageIndex:0,pageSize:e.defaultPageSize??50,columnSorting:e.defaultSort?[e.defaultSort]:[],columnFilters:e.defaultFilters??[],columnPinning:e.fixedColumns?{left:e.fixedColumns.left?[e.fixedColumns.left]:[],right:e.fixedColumns.right?[e.fixedColumns.right]:[]}:{left:[],right:[]},size:e.isDense?"sm":"md",mobileDisplayGroup:((r=e.onMobile)==null?void 0:r.defaultDisplayGroup)??"",mobileFilter:{globalFilter:""},mobileShowColumnNames:((a=e.onMobile)==null?void 0:a.showColumnNames)??!1,columnSizing:Object.fromEntries(((o=e.columnWidths)==null?void 0:o.map(s=>[s.column,s.width]))??[]),grouping:[],expanding:{},isFullScreen:!1}},T=(e,r)=>{const a=new URLSearchParams;return Object.keys(e).forEach(o=>{a.append(`BnfTable-${r||"Universal"}.${o}`,JSON.stringify(e[o]))}),a.toString()},x=(e,r)=>{const a=localStorage.getItem("BnfTable-SettingsMigration");if(a){const o=JSON.parse(a);if(o.done&&o.version>=r)return}console.log("Migrating BnfTable settings to Tanstack Table format..."),e.forEach(o=>{const s=localStorage.getItem(o);if(!s)return;const n=JSON.parse(s);if(!n||Object.keys(n).length<1)return;const i=f(n);Object.keys(i).forEach(m=>{localStorage.setItem(`BnfTable-${o}.${m}`,JSON.stringify(i[m]))})}),localStorage.setItem("BnfTable-SettingsMigration",JSON.stringify({done:!0,version:r}))},c=()=>new URLSearchParams(window.location.search),g=e=>{const r=window.location.pathname+(e.toString()?`?${e.toString()}`:"")+window.location.hash;window.history.replaceState(null,"",r)},N={get length(){return Array.from(c().keys()).length},key(e){const r=c();return Array.from(r.keys())[e]??null},getItem(e){const a=c().get(e);return a??null},setItem(e,r){const a=c();a.set(e,r),g(a)},removeItem(e){const r=c();r.delete(e),g(r)},clear(){g(new URLSearchParams)}},v=["edit","delete","info","warning","check","check-simple","add","cancel","cancel-simple","danger","chevron-left","chevron-right","chevron-up","chevron-down","chevron-double-left","chevron-double-right","folder","folder-filled","file-download","file-upload","star-outline","save","link","pending","resizer-horizontal","qr-code","phone","mail","mail-envelope","dashboard","user","role","close","search","plus","minus","menu","arrow-right"];exports.atobUtf8=t.atobUtf8;exports.buildEmployeeNameString=t.buildEmployeeNameString;exports.buildOrgUnitString=t.buildOrgUnitString;exports.buildVehicleNameString=t.buildVehicleNameString;exports.capitalizeFirstLetter=t.capitalizeFirstLetter;exports.compareDate=t.compareDate;exports.compareDateTime=t.compareDateTime;exports.extractErrorsFromBlobResponse=t.extractErrorsFromBlobResponse;exports.extractErrorsFromResponse=t.extractErrorsFromResponse;exports.extractFilename=t.extractFilename;exports.extractPermissionsFromResponse=t.extractPermissionsFromResponse;exports.fixNameIdNulls=t.fixNameIdNulls;exports.formatDate=t.formatDate;exports.formatDateTime=t.formatDateTime;exports.formatFileSize=t.formatFileSize;exports.getDateString=t.getDateString;exports.getDaysDifference=t.getDaysDifference;exports.getFirstDayOfMonth=t.getFirstDayOfMonth;exports.getFirstDayOfOffsetMonth=t.getFirstDayOfOffsetMonth;exports.getFirstDayOfYear=t.getFirstDayOfYear;exports.getLastDayOfMonth=t.getLastDayOfMonth;exports.getLastDayOfOffsetMonth=t.getLastDayOfOffsetMonth;exports.getLastDayOfYear=t.getLastDayOfYear;exports.hasOnlyNullValues=t.hasOnlyNullValues;exports.hookFormSetServerErrors=t.hookFormSetServerErrors;exports.isExtensionOpenable=t.isExtensionOpenable;exports.isFileOpenable=t.isFileOpenable;exports.isISODate=t.isISODate;exports.isPrimitive=t.isPrimitive;exports.isValidDate=t.isValidDate;exports.joinStrings=t.joinStrings;exports.msToStartOfNextDay=t.msToStartOfNextDay;exports.replaceNullValuesOnlyObjectsWithNulls=t.replaceNullValuesOnlyObjectsWithNulls;exports.saveFile=t.saveFile;exports.saveFileFromResponse=t.saveFileFromResponse;exports.shortenText=t.shortenText;exports.stringContains=t.stringContains;exports.stringSearchWithin=t.stringSearchWithin;exports.stringStartsWith=t.stringStartsWith;exports.trimIsoDate=t.trimIsoDate;exports.truncateText=t.truncateText;exports.urlfyArray=t.urlfyArray;exports.dumpLocalStorage=u.dumpLocalStorage;exports.generateApiPath=u.generateApiPath;exports.hookFormSetNull=u.hookFormSetNull;exports.hookFormSetNulls=u.hookFormSetNulls;exports.limitNumber=u.limitNumber;exports.restoreLocalStorage=u.restoreLocalStorage;exports.CommonLuminusIconsArray=v;exports.adjustBrightness=b;exports.buildTableSearchQuery=T;exports.configToTanstackTableState=f;exports.dateValueFormat=y;exports.isFileStructureDirectory=F;exports.migrateBnfTableSettings=x;exports.numFormat=p;exports.queryStorage=N;exports.responsePromiseWrapper=D;exports.valueTooltip=h;exports.vclToHex=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./nivo-bar-D9jkkQXQ.cjs"),l=require("react/jsx-runtime");require("react");require("@azure/msal-browser");require("@azure/msal-react");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");const u=require("./localStorageUtils-CkZslzIU.cjs"),h=e=>{var r,a;return l.jsx(t.SimpleTooltip,{text:((r=e.getValue())==null?void 0:r.toString())??"",placement:"bottom",children:l.jsx("div",{className:"w-100 text-truncate",children:((a=e.getValue())==null?void 0:a.toString())??""})})},p=e=>{var r;return l.jsx(l.Fragment,{children:(r=e.getValue())==null?void 0:r.toLocaleString("cs-CZ")})},y=e=>{var o;const r=((o=e.getValue())==null?void 0:o.toString())??"",a=t.format(new Date(r),"dd.MM.yyyy");return l.jsx(l.Fragment,{children:r?a:""})},b=(e,r)=>{let a=!1,o=e;e[0]==="#"&&(o=e.slice(1),a=!0);let s=parseInt(o.substring(0,2),16),n=parseInt(o.substring(2,4),16),i=parseInt(o.substring(4,6),16);s+=r,n+=r,i+=r,s>255?s=255:s<0&&(s=0),n>255?n=255:n<0&&(n=0),i>255?i=255:i<0&&(i=0);const m=s.toString(16).length===1?"0"+s.toString(16):s.toString(16),S=n.toString(16).length===1?"0"+n.toString(16):n.toString(16),d=i.toString(16).length===1?"0"+i.toString(16):i.toString(16);return(a?"#":"")+m+S+d},O=e=>{const r=e.slice(3),a=[];for(let s=0;s<r.length;s+=2)a.push(r.slice(s,s+2));return`#${a.reverse().join("")}`},F=e=>typeof e.directoryName=="string"&&typeof e.directoryPath=="string"&&typeof e.directoryTranslationKey=="string"&&Array.isArray(e.files),D=async e=>{let r={status:"pending"};try{r={status:"success",data:(await e).data}}catch(a){r={status:"error",error:a}}return r},f=e=>{var r,a,o;return{columnOrder:e.columnsOrder??[],columnVisibility:Object.fromEntries((e.hiddenColumns??[]).map(s=>[s,!1])),pageIndex:0,pageSize:e.defaultPageSize??50,columnSorting:e.defaultSort?[e.defaultSort]:[],columnFilters:e.defaultFilters??[],columnPinning:e.fixedColumns?{left:e.fixedColumns.left?[e.fixedColumns.left]:[],right:e.fixedColumns.right?[e.fixedColumns.right]:[]}:{left:[],right:[]},size:e.isDense?"sm":"md",mobileDisplayGroup:((r=e.onMobile)==null?void 0:r.defaultDisplayGroup)??"",mobileFilter:{globalFilter:""},mobileShowColumnNames:((a=e.onMobile)==null?void 0:a.showColumnNames)??!1,columnSizing:Object.fromEntries(((o=e.columnWidths)==null?void 0:o.map(s=>[s.column,s.width]))??[]),grouping:[],expanding:{},isFullScreen:!1}},T=(e,r)=>{const a=new URLSearchParams;return Object.keys(e).forEach(o=>{a.append(`BnfTable-${r||"Universal"}.${o}`,JSON.stringify(e[o]))}),a.toString()},x=(e,r)=>{const a=localStorage.getItem("BnfTable-SettingsMigration");if(a){const o=JSON.parse(a);if(o.done&&o.version>=r)return}console.log("Migrating BnfTable settings to Tanstack Table format..."),e.forEach(o=>{const s=localStorage.getItem(o);if(!s)return;const n=JSON.parse(s);if(!n||Object.keys(n).length<1)return;const i=f(n);Object.keys(i).forEach(m=>{localStorage.setItem(`BnfTable-${o}.${m}`,JSON.stringify(i[m]))})}),localStorage.setItem("BnfTable-SettingsMigration",JSON.stringify({done:!0,version:r}))},c=()=>new URLSearchParams(window.location.search),g=e=>{const r=window.location.pathname+(e.toString()?`?${e.toString()}`:"")+window.location.hash;window.history.replaceState(null,"",r)},N={get length(){return Array.from(c().keys()).length},key(e){const r=c();return Array.from(r.keys())[e]??null},getItem(e){const a=c().get(e);return a??null},setItem(e,r){const a=c();a.set(e,r),g(a)},removeItem(e){const r=c();r.delete(e),g(r)},clear(){g(new URLSearchParams)}},v=["edit","delete","info","warning","check","check-simple","add","cancel","cancel-simple","danger","chevron-left","chevron-right","chevron-up","chevron-down","chevron-double-left","chevron-double-right","folder","folder-filled","file-download","file-upload","star-outline","save","link","pending","resizer-horizontal","qr-code","phone","mail","mail-envelope","dashboard","user","role","close","search","plus","minus","menu","arrow-right"];exports.atobUtf8=t.atobUtf8;exports.buildEmployeeNameString=t.buildEmployeeNameString;exports.buildOrgUnitString=t.buildOrgUnitString;exports.buildVehicleNameString=t.buildVehicleNameString;exports.capitalizeFirstLetter=t.capitalizeFirstLetter;exports.compareDate=t.compareDate;exports.compareDateTime=t.compareDateTime;exports.extractErrorsFromBlobResponse=t.extractErrorsFromBlobResponse;exports.extractErrorsFromResponse=t.extractErrorsFromResponse;exports.extractFilename=t.extractFilename;exports.extractPermissionsFromResponse=t.extractPermissionsFromResponse;exports.fixNameIdNulls=t.fixNameIdNulls;exports.formatDate=t.formatDate;exports.formatDateTime=t.formatDateTime;exports.formatFileSize=t.formatFileSize;exports.getDateString=t.getDateString;exports.getDaysDifference=t.getDaysDifference;exports.getFirstDayOfMonth=t.getFirstDayOfMonth;exports.getFirstDayOfOffsetMonth=t.getFirstDayOfOffsetMonth;exports.getFirstDayOfYear=t.getFirstDayOfYear;exports.getLastDayOfMonth=t.getLastDayOfMonth;exports.getLastDayOfOffsetMonth=t.getLastDayOfOffsetMonth;exports.getLastDayOfYear=t.getLastDayOfYear;exports.hasOnlyNullValues=t.hasOnlyNullValues;exports.hookFormSetServerErrors=t.hookFormSetServerErrors;exports.isExtensionOpenable=t.isExtensionOpenable;exports.isFileOpenable=t.isFileOpenable;exports.isISODate=t.isISODate;exports.isPrimitive=t.isPrimitive;exports.isValidDate=t.isValidDate;exports.joinStrings=t.joinStrings;exports.msToStartOfNextDay=t.msToStartOfNextDay;exports.replaceNullValuesOnlyObjectsWithNulls=t.replaceNullValuesOnlyObjectsWithNulls;exports.saveFile=t.saveFile;exports.saveFileFromResponse=t.saveFileFromResponse;exports.shortenText=t.shortenText;exports.stringContains=t.stringContains;exports.stringSearchWithin=t.stringSearchWithin;exports.stringStartsWith=t.stringStartsWith;exports.trimIsoDate=t.trimIsoDate;exports.truncateText=t.truncateText;exports.urlfyArray=t.urlfyArray;exports.dumpLocalStorage=u.dumpLocalStorage;exports.generateApiPath=u.generateApiPath;exports.hookFormSetNull=u.hookFormSetNull;exports.hookFormSetNulls=u.hookFormSetNulls;exports.limitNumber=u.limitNumber;exports.restoreLocalStorage=u.restoreLocalStorage;exports.CommonLuminusIconsArray=v;exports.adjustBrightness=b;exports.buildTableSearchQuery=T;exports.configToTanstackTableState=f;exports.dateValueFormat=y;exports.isFileStructureDirectory=F;exports.migrateBnfTableSettings=x;exports.numFormat=p;exports.queryStorage=N;exports.responsePromiseWrapper=D;exports.valueTooltip=h;exports.vclToHex=O;
package/dist/utils.es.js CHANGED
@@ -1,38 +1,37 @@
1
- import { aE as p, X as f } from "./nivo-bar-C5nQpM2f.js";
2
- import { ci as A, cg as U, ch as $, cf as W, ce as G, bZ as J, b_ as Q, bV as X, bp as Y, c5 as q, bW as Z, bD as H, aX as K, cd as _, ck as ee, c4 as te, b$ as re, bh as se, c1 as ae, bi as oe, c0 as ne, c2 as ie, c3 as le, c9 as ce, bB as me, c7 as ue, c6 as ge, bX as de, c8 as pe, bY as fe, a0 as he, bP as Se, ca as be, bk as ye, bo as Oe, cm as Fe, cb as we, ak as De, cc as xe, bg as ve, cj as Te, cl as Ne } from "./nivo-bar-C5nQpM2f.js";
1
+ import { aE as f, X as p } from "./nivo-bar-Swmjt921.js";
2
+ import { ci as z, cg as A, ch as U, cf as $, ce as W, bZ as G, b_ as J, bV as Q, bp as X, c5 as Y, bW as q, bD as Z, aX as H, cd as K, ck as _, c4 as ee, b$ as te, bh as re, c1 as se, bi as ae, c0 as oe, c2 as ne, c3 as ie, c9 as le, bB as ce, c7 as me, c6 as ue, bX as ge, c8 as de, bY as fe, a0 as pe, bP as he, ca as Se, bk as be, bo as ye, cm as Oe, cb as Fe, ak as we, cc as De, bg as xe, cj as ve, cl as Te } from "./nivo-bar-Swmjt921.js";
3
3
  import { jsx as c, Fragment as u } from "react/jsx-runtime";
4
4
  import "react";
5
5
  import "@azure/msal-browser";
6
6
  import "@azure/msal-react";
7
- import "@tanstack/react-query";
8
7
  import "react-router";
9
8
  import "react-dom";
10
9
  import "react-hook-form";
11
10
  import "react-flexmonster";
12
- import { d as Ce, g as Ie, h as Pe, a as Me, l as Be, r as Ee } from "./localStorageUtils-CZ4HDRzi.js";
13
- const N = (e) => {
11
+ import { d as ke, g as Ce, h as Ie, a as Pe, l as Me, r as Be } from "./localStorageUtils-CZ4HDRzi.js";
12
+ const T = (e) => {
14
13
  var t, r;
15
- return /* @__PURE__ */ c(p, { text: ((t = e.getValue()) == null ? void 0 : t.toString()) ?? "", placement: "bottom", children: /* @__PURE__ */ c("div", { className: "w-100 text-truncate", children: ((r = e.getValue()) == null ? void 0 : r.toString()) ?? "" }) });
16
- }, k = (e) => {
14
+ return /* @__PURE__ */ c(f, { text: ((t = e.getValue()) == null ? void 0 : t.toString()) ?? "", placement: "bottom", children: /* @__PURE__ */ c("div", { className: "w-100 text-truncate", children: ((r = e.getValue()) == null ? void 0 : r.toString()) ?? "" }) });
15
+ }, N = (e) => {
17
16
  var t;
18
17
  return /* @__PURE__ */ c(u, { children: (t = e.getValue()) == null ? void 0 : t.toLocaleString("cs-CZ") });
19
- }, C = (e) => {
18
+ }, k = (e) => {
20
19
  var a;
21
- const t = ((a = e.getValue()) == null ? void 0 : a.toString()) ?? "", r = f(new Date(t), "dd.MM.yyyy");
20
+ const t = ((a = e.getValue()) == null ? void 0 : a.toString()) ?? "", r = p(new Date(t), "dd.MM.yyyy");
22
21
  return /* @__PURE__ */ c(u, { children: t ? r : "" });
23
- }, I = (e, t) => {
22
+ }, C = (e, t) => {
24
23
  let r = !1, a = e;
25
24
  e[0] === "#" && (a = e.slice(1), r = !0);
26
25
  let s = parseInt(a.substring(0, 2), 16), o = parseInt(a.substring(2, 4), 16), n = parseInt(a.substring(4, 6), 16);
27
26
  s += t, o += t, n += t, s > 255 ? s = 255 : s < 0 && (s = 0), o > 255 ? o = 255 : o < 0 && (o = 0), n > 255 ? n = 255 : n < 0 && (n = 0);
28
27
  const l = s.toString(16).length === 1 ? "0" + s.toString(16) : s.toString(16), g = o.toString(16).length === 1 ? "0" + o.toString(16) : o.toString(16), d = n.toString(16).length === 1 ? "0" + n.toString(16) : n.toString(16);
29
28
  return (r ? "#" : "") + l + g + d;
30
- }, P = (e) => {
29
+ }, I = (e) => {
31
30
  const t = e.slice(3), r = [];
32
31
  for (let s = 0; s < t.length; s += 2)
33
32
  r.push(t.slice(s, s + 2));
34
33
  return `#${r.reverse().join("")}`;
35
- }, M = (e) => typeof e.directoryName == "string" && typeof e.directoryPath == "string" && typeof e.directoryTranslationKey == "string" && Array.isArray(e.files), B = async (e) => {
34
+ }, P = (e) => typeof e.directoryName == "string" && typeof e.directoryPath == "string" && typeof e.directoryTranslationKey == "string" && Array.isArray(e.files), M = async (e) => {
36
35
  let t = {
37
36
  status: "pending"
38
37
  };
@@ -75,12 +74,12 @@ const N = (e) => {
75
74
  expanding: {},
76
75
  isFullScreen: !1
77
76
  };
78
- }, E = (e, t) => {
77
+ }, B = (e, t) => {
79
78
  const r = new URLSearchParams();
80
79
  return Object.keys(e).forEach((a) => {
81
80
  r.append(`BnfTable-${t || "Universal"}.${a}`, JSON.stringify(e[a]));
82
81
  }), r.toString();
83
- }, L = (e, t) => {
82
+ }, E = (e, t) => {
84
83
  const r = localStorage.getItem("BnfTable-SettingsMigration");
85
84
  if (r) {
86
85
  const a = JSON.parse(r);
@@ -103,7 +102,7 @@ const N = (e) => {
103
102
  }, i = () => new URLSearchParams(window.location.search), m = (e) => {
104
103
  const t = window.location.pathname + (e.toString() ? `?${e.toString()}` : "") + window.location.hash;
105
104
  window.history.replaceState(null, "", t);
106
- }, V = {
105
+ }, L = {
107
106
  get length() {
108
107
  return Array.from(i().keys()).length;
109
108
  },
@@ -126,66 +125,66 @@ const N = (e) => {
126
125
  clear() {
127
126
  m(new URLSearchParams());
128
127
  }
129
- }, R = ["edit", "delete", "info", "warning", "check", "check-simple", "add", "cancel", "cancel-simple", "danger", "chevron-left", "chevron-right", "chevron-up", "chevron-down", "chevron-double-left", "chevron-double-right", "folder", "folder-filled", "file-download", "file-upload", "star-outline", "save", "link", "pending", "resizer-horizontal", "qr-code", "phone", "mail", "mail-envelope", "dashboard", "user", "role", "close", "search", "plus", "minus", "menu", "arrow-right"];
128
+ }, V = ["edit", "delete", "info", "warning", "check", "check-simple", "add", "cancel", "cancel-simple", "danger", "chevron-left", "chevron-right", "chevron-up", "chevron-down", "chevron-double-left", "chevron-double-right", "folder", "folder-filled", "file-download", "file-upload", "star-outline", "save", "link", "pending", "resizer-horizontal", "qr-code", "phone", "mail", "mail-envelope", "dashboard", "user", "role", "close", "search", "plus", "minus", "menu", "arrow-right"];
130
129
  export {
131
- R as CommonLuminusIconsArray,
132
- I as adjustBrightness,
133
- A as atobUtf8,
134
- U as buildEmployeeNameString,
135
- $ as buildOrgUnitString,
136
- E as buildTableSearchQuery,
137
- W as buildVehicleNameString,
138
- G as capitalizeFirstLetter,
139
- J as compareDate,
140
- Q as compareDateTime,
130
+ V as CommonLuminusIconsArray,
131
+ C as adjustBrightness,
132
+ z as atobUtf8,
133
+ A as buildEmployeeNameString,
134
+ U as buildOrgUnitString,
135
+ B as buildTableSearchQuery,
136
+ $ as buildVehicleNameString,
137
+ W as capitalizeFirstLetter,
138
+ G as compareDate,
139
+ J as compareDateTime,
141
140
  h as configToTanstackTableState,
142
- C as dateValueFormat,
143
- Ce as dumpLocalStorage,
144
- X as extractErrorsFromBlobResponse,
145
- Y as extractErrorsFromResponse,
146
- q as extractFilename,
147
- Z as extractPermissionsFromResponse,
148
- H as fixNameIdNulls,
149
- K as formatDate,
150
- _ as formatDateTime,
151
- ee as formatFileSize,
152
- Ie as generateApiPath,
153
- te as getDateString,
154
- re as getDaysDifference,
155
- se as getFirstDayOfMonth,
156
- ae as getFirstDayOfOffsetMonth,
157
- oe as getFirstDayOfYear,
158
- ne as getLastDayOfMonth,
159
- ie as getLastDayOfOffsetMonth,
160
- le as getLastDayOfYear,
161
- ce as hasOnlyNullValues,
162
- Pe as hookFormSetNull,
163
- Me as hookFormSetNulls,
164
- me as hookFormSetServerErrors,
165
- ue as isExtensionOpenable,
166
- ge as isFileOpenable,
167
- M as isFileStructureDirectory,
168
- de as isISODate,
169
- pe as isPrimitive,
141
+ k as dateValueFormat,
142
+ ke as dumpLocalStorage,
143
+ Q as extractErrorsFromBlobResponse,
144
+ X as extractErrorsFromResponse,
145
+ Y as extractFilename,
146
+ q as extractPermissionsFromResponse,
147
+ Z as fixNameIdNulls,
148
+ H as formatDate,
149
+ K as formatDateTime,
150
+ _ as formatFileSize,
151
+ Ce as generateApiPath,
152
+ ee as getDateString,
153
+ te as getDaysDifference,
154
+ re as getFirstDayOfMonth,
155
+ se as getFirstDayOfOffsetMonth,
156
+ ae as getFirstDayOfYear,
157
+ oe as getLastDayOfMonth,
158
+ ne as getLastDayOfOffsetMonth,
159
+ ie as getLastDayOfYear,
160
+ le as hasOnlyNullValues,
161
+ Ie as hookFormSetNull,
162
+ Pe as hookFormSetNulls,
163
+ ce as hookFormSetServerErrors,
164
+ me as isExtensionOpenable,
165
+ ue as isFileOpenable,
166
+ P as isFileStructureDirectory,
167
+ ge as isISODate,
168
+ de as isPrimitive,
170
169
  fe as isValidDate,
171
- he as joinStrings,
172
- Be as limitNumber,
173
- L as migrateBnfTableSettings,
174
- Se as msToStartOfNextDay,
175
- k as numFormat,
176
- V as queryStorage,
177
- be as replaceNullValuesOnlyObjectsWithNulls,
178
- B as responsePromiseWrapper,
179
- Ee as restoreLocalStorage,
180
- ye as saveFile,
181
- Oe as saveFileFromResponse,
182
- Fe as shortenText,
183
- we as stringContains,
184
- De as stringSearchWithin,
185
- xe as stringStartsWith,
186
- ve as trimIsoDate,
187
- Te as truncateText,
188
- Ne as urlfyArray,
189
- N as valueTooltip,
190
- P as vclToHex
170
+ pe as joinStrings,
171
+ Me as limitNumber,
172
+ E as migrateBnfTableSettings,
173
+ he as msToStartOfNextDay,
174
+ N as numFormat,
175
+ L as queryStorage,
176
+ Se as replaceNullValuesOnlyObjectsWithNulls,
177
+ M as responsePromiseWrapper,
178
+ Be as restoreLocalStorage,
179
+ be as saveFile,
180
+ ye as saveFileFromResponse,
181
+ Oe as shortenText,
182
+ Fe as stringContains,
183
+ we as stringSearchWithin,
184
+ De as stringStartsWith,
185
+ xe as trimIsoDate,
186
+ ve as truncateText,
187
+ Te as urlfyArray,
188
+ T as valueTooltip,
189
+ I as vclToHex
191
190
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-luminus-components",
3
- "version": "2.0.5-beta.r19-5",
3
+ "version": "2.0.5-beta.r19-7",
4
4
  "description": "Library of React Components reusable in Luminus projects (Fleetman, CAFM)",
5
5
  "type": "module",
6
6
  "repository": {
@@ -57,7 +57,6 @@
57
57
  "@azure/msal-browser": "^4.23.0",
58
58
  "@azure/msal-react": "^3.0.19",
59
59
  "@hookform/resolvers": "^3.3.4",
60
- "@tanstack/react-query": "^5.90.5",
61
60
  "axios": "^1.6.8",
62
61
  "bootstrap": "^5.3.5",
63
62
  "flexmonster": ">=2.9.107",
@@ -88,7 +87,7 @@
88
87
  "react-number-format": "^5.4.0",
89
88
  "react-portal": "^4.2.2",
90
89
  "react-swipeable": "^7.0.2",
91
- "use-debounce": "^10.0.0",
90
+ "use-debounce": "^10.0.6",
92
91
  "uuid": "^9.0.1"
93
92
  },
94
93
  "devDependencies": {
@@ -1 +0,0 @@
1
- "use strict";const b=require("./nivo-bar-CjwNk2vE.cjs");require("react/jsx-runtime");const a=require("react");require("react-router");require("react-dom");require("react-hook-form");require("react-flexmonster");require("@azure/msal-browser");require("@azure/msal-react");const S={loadOnInit:!0,silent:!1,enabled:!0,nullStateBeforeLoad:!0,nullStateOnFail:!1},B=(e,{loadOnInit:d=S.loadOnInit,enabled:t=S.enabled,silent:o=S.silent,nullStateBeforeLoad:u=S.nullStateBeforeLoad,nullStateOnFail:s=S.nullStateOnFail,customApiUrl:L,customBearerToken:f,dataTransformer:r}=S)=>{const n=b.useAxios({silent:o,customToken:f,differentBaseUrl:L}),[p,c]=a.useState(!1),{startLoading:i,stopLoading:q}=a.useContext(b.LoadingContext),$=a.useRef(0),{isAuthenticated:x}=b.useAuth(),A=a.useCallback(l=>{i(l),c(()=>!0)},[i]),I=a.useCallback(l=>{q(l),c(()=>!1)},[q]),[m,C]=a.useState(null),g=a.useCallback(async(l,h)=>{if(!x()||t===!1)return null;!o&&A(`loadData-${e}-${h}`),u&&C(null);let O;try{const D=await n.get(e,{signal:l}),R=r?r(D.data):D.data;C(R),O=R}catch(D){throw s&&C(null),D}finally{!o&&I(`loadData-${e}-${h}`)}return O},[x,t,o,A,e,u,n,r,s,I]),v=a.useCallback(async()=>{g()},[g]),w=a.useCallback(async()=>g(),[g]);return a.useEffect(()=>{if(d===!1)return;if(n.interceptorsUsed===!1){console.error("useGetApiData: could not load data because interceptors are not used");return}const l=new AbortController;return g(l.signal,++$.current),()=>{l.abort()}},[g,d,n.interceptorsUsed]),{data:m,setData:C,reloadData:v,isLoading:p,reloadDataWithReturn:w}},E=(e,d)=>{const t=b.compilerRuntimeExports.c(12);let o;t[0]!==d||t[1]!==e?(o=()=>{const i=localStorage.getItem(e);return i!=null&&i!=="undefined"?JSON.parse(i):d},t[0]=d,t[1]=e,t[2]=o):o=t[2];const u=o,[s,L]=a.useState(u);let f,r;t[3]!==e||t[4]!==s?(f=()=>{localStorage.setItem(e,JSON.stringify(s))},r=[e,s],t[3]=e,t[4]=s,t[5]=f,t[6]=r):(f=t[5],r=t[6]),a.useEffect(f,r);let n;t[7]!==u?(n=()=>{L(u)},t[7]=u,t[8]=n):n=t[8];const p=n;let c;return t[9]!==p||t[10]!==s?(c=[s,L,p],t[9]=p,t[10]=s,t[11]=c):c=t[11],c};exports.useGetApiData=B;exports.useLocalStorageState=E;