@bgscore/react-core 0.0.6 → 0.0.8
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/index.cjs +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _moment = require('moment'); var _moment2 = _interopRequireDefault(_moment);var _react = require('react'); var _react2 = _interopRequireDefault(_react);function je(){let e=()=>Math.random()*16%16|0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function ze(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch (e2){return!1}}var Ve=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null)}),e);function Je(e,t){let n=!1;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(n=!0):n=!0),n}function q(e){return!(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var X={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let n=e.replace(/_([a-z])/g,(o,a)=>a.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(e="",t=!1)=>{let n="";try{e=_optionalChain([e, 'optionalAccess', _2 => _2.split, 'call', _3 => _3("."), 'access', _4 => _4[_optionalChain([e, 'optionalAccess', _5 => _5.split, 'call', _6 => _6("."), 'optionalAccess', _7 => _7.length])-1]]),e=_optionalChain([e, 'optionalAccess', _8 => _8.split, 'call', _9 => _9("[]"), 'access', _10 => _10[_optionalChain([e, 'optionalAccess', _11 => _11.split, 'call', _12 => _12("[]"), 'optionalAccess', _13 => _13.length])-1]]),n=X.snackCase(X.camelCase(e)),t&&(n=_optionalChain([n, 'optionalAccess', _14 => _14.split, 'call', _15 => _15(" "), 'optionalAccess', _16 => _16.map, 'call', _17 => _17(o=>_optionalChain([o, 'optionalAccess', _18 => _18.length])<=3?_optionalChain([o, 'optionalAccess', _19 => _19.toUpperCase, 'call', _20 => _20()]):o), 'optionalAccess', _21 => _21.join, 'call', _22 => _22(" ")]))}catch (e3){}return _optionalChain([n, 'optionalAccess', _23 => _23.trim, 'call', _24 => _24()])}};function We(e,t){return typeof e=="function"?e(t):e}var O=(e,t,n="")=>{if(!e)return n;if(e.hasOwnProperty(t))return e[t];let o=t.replace(/\[(\d+)\]/g,".$1").split("."),a=e;for(let r of o){if(a==null)return n;a=a[r]}return a===void 0?n:a},Ge= exports.sorting ={desc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(n,t):"";return a<r?1:-1}else return n<o?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(o,t):"";return a>r?1:-1}else return n>o?1:-1}))},Xe= exports.summary =(e,t)=>{Array.isArray(e)||(e=[]);let n=[];return n=e.map(o=>Number(t?O(o,t)||0:o||0)),n.reduce((o,a)=>(o||0)+(a||0),0)||0};function _e(e){try{return e&&JSON.parse(JSON.stringify(e))}catch (e4){return e}}function ye(e){let t=new WeakSet;return _nullishCoalesce(JSON.stringify(e,function(n,o){return o!==null&&typeof o=="object"?t.has(o)?void 0:(t.add(o),Object.keys(o).sort().reduce((a,r)=>(a[r]=o[r],a),{})):o}), () => (""))}function _(e,t){return ye([_nullishCoalesce(t, () => ("undefined")),_nullishCoalesce(e, () => ("undefined"))])}function Z(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}var _jsxruntime = require('react/jsx-runtime');var Y=_react.createContext.call(void 0, void 0);function U(){let e=_react.useContext.call(void 0, Y);return e||{}}var he=({children:e,value:t})=>{let n={...t};return _jsxruntime.jsx.call(void 0, Y.Provider,{value:n,children:e})};var _aes = require('crypto-js/aes'); var _aes2 = _interopRequireDefault(_aes);var _pbkdf2 = require('crypto-js/pbkdf2'); var _pbkdf22 = _interopRequireDefault(_pbkdf2);var _encutf8 = require('crypto-js/enc-utf8'); var _encutf82 = _interopRequireDefault(_encutf8);var _encbase64 = require('crypto-js/enc-base64'); var _encbase642 = _interopRequireDefault(_encbase64);var _libtypedarrays = require('crypto-js/lib-typedarrays'); var _libtypedarrays2 = _interopRequireDefault(_libtypedarrays);function I(e,t){let n=_libtypedarrays2.default.random(16),o=_libtypedarrays2.default.random(16),a=_pbkdf22.default.call(void 0, t,n,{keySize:256/32,iterations:1e3}),r=_aes2.default.encrypt(JSON.stringify(e),a,{iv:o}).toString();return{salt:n.toString(_encbase642.default),iv:o.toString(_encbase642.default),encrypted:r}}function L(e,t){let{salt:n,iv:o,encrypted:a}=e,r=_pbkdf22.default.call(void 0, t,_encbase642.default.parse(n),{keySize:256/32,iterations:1e3}),i=_aes2.default.decrypt(a,r,{iv:_encbase642.default.parse(o)}).toString(_encutf82.default);return JSON.parse(i)}function re(e,t){return JSON.stringify(I(e,t))}function ne(e,t){return L(JSON.parse(e),t)}function M(){let{passphrase:e}=U();return{passphrase:e,encrypt(t,n){return I(t,n||e)},decrypt(t,n){return L(t,n||e)},encryptString(t,n){return re(t,n||e)},decryptString(t,n){return ne(t,n||e)}}}var oe=()=>{let{encrypt:e,decrypt:t}=M(),n=_react.useCallback.call(void 0, (c,i)=>{try{let d=e(i);localStorage.setItem(c,JSON.stringify(d))}catch(d){console.error("Failed to save to storage:",d)}},[e]),o=_react.useCallback.call(void 0, c=>{try{let i=localStorage.getItem(c);return i?t(JSON.parse(i)):null}catch(i){return console.error("Failed to get from storage:",i),null}},[t]),a=c=>{let[i,d]=_react.useState.call(void 0, ()=>{try{let p=localStorage.getItem(c);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return _react.useEffect.call(void 0, ()=>{let p=R=>{if(R.key===c)if(R.newValue)try{d(t(JSON.parse(R.newValue)))}catch(S){console.error("Decrypt error from storage event",S)}else d(null)};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[c,t]),i},r=_react.useCallback.call(void 0, c=>{c?localStorage.removeItem(c):localStorage.clear()},[]);return{save:n,get:o,clear:r,useWatchStorage:a}};function se(e){let t=e,n=new Set;function o(){return t}function a(i){return n.add(i),()=>n.delete(i)}function r(i){typeof i=="function"?t=i(t):t=i,n.forEach(d=>d())}function c(i){return _react.useSyncExternalStore.call(void 0, a,()=>i?i(t):t,()=>i?i(t):t)}return{getSnapshot:o,subscribe:a,setState:r,useStore:c}}var $=new Map;function F(e){return $.has(e)||$.set(e,se([null,{}])),$.get(e)}function Pe(e,t,n){let o=arguments.length===3,a=o?t:void 0,r=o?n:t,{storageKey:c,cache:i}=U(),d=oe(),[p,R]=_react.useState.call(void 0, !1),[S,b]=_react.useState.call(void 0, !1),[x,D]=_react.useState.call(void 0, ),g=_react.useRef.call(void 0, void 0),T=_react.useRef.call(void 0, null),{cacheName:P,cacheKey:A,timeout:J,timeoutUnit:W,persistence:G}=_react.useMemo.call(void 0, ()=>{let l=c?d.get(c):void 0,s=typeof _optionalChain([r, 'optionalAccess', _25 => _25.cache])=="object"?_nullishCoalesce(_optionalChain([r, 'optionalAccess', _26 => _26.cache, 'optionalAccess', _27 => _27.cacheName]), () => (e.name)):e.name,f=_({...a,session:l},typeof _optionalChain([r, 'optionalAccess', _28 => _28.cache])=="object"?_optionalChain([r, 'optionalAccess', _29 => _29.cache, 'optionalAccess', _30 => _30.cacheKey]):void 0),y=!1;typeof _optionalChain([i, 'optionalAccess', _31 => _31.persistence])=="boolean"&&(y=_optionalChain([i, 'optionalAccess', _32 => _32.persistence])),typeof _optionalChain([r, 'optionalAccess', _33 => _33.cache])=="object"&&typeof _optionalChain([r, 'optionalAccess', _34 => _34.cache, 'optionalAccess', _35 => _35.persistence])=="boolean"&&(y=_nullishCoalesce(_optionalChain([r, 'optionalAccess', _36 => _36.cache, 'optionalAccess', _37 => _37.persistence]), () => (!1)));let h=60*5,u="s";return q(_optionalChain([i, 'optionalAccess', _38 => _38.timeout]))&&(typeof _optionalChain([i, 'optionalAccess', _39 => _39.timeout])=="number"?(h=i.timeout,u="s"):typeof _optionalChain([i, 'optionalAccess', _40 => _40.timeout])=="object"&&(h=_optionalChain([i, 'optionalAccess', _41 => _41.timeout, 'access', _42 => _42.value]),u=_optionalChain([i, 'optionalAccess', _43 => _43.timeout, 'access', _44 => _44.unit]))),_optionalChain([r, 'optionalAccess', _45 => _45.cache])&&typeof r.cache!="boolean"&&(typeof r.cache.timeout=="number"?(h=r.cache.timeout,u="s"):typeof r.cache.timeout=="object"&&(h=r.cache.timeout.value,u=r.cache.timeout.unit)),{cacheName:s,cacheKey:f,timeout:h,timeoutUnit:u,persistence:y}},[_optionalChain([r, 'optionalAccess', _46 => _46.cache]),c,i]);_react.useEffect.call(void 0, ()=>{let l=JSON.stringify(q(g.current)?g.current:""),s=JSON.stringify(q(a)?a:""),f=g.current===void 0;(l!==s||f)&&!_optionalChain([r, 'optionalAccess', _47 => _47.hold])&&(D(null),E(),g.current=a),_optionalChain([r, 'optionalAccess', _48 => _48.onChange])&&_optionalChain([r, 'optionalAccess', _49 => _49.onChange, 'call', _50 => _50(a,m)])},[a,_optionalChain([r, 'optionalAccess', _51 => _51.hold]),..._optionalChain([r, 'optionalAccess', _52 => _52.trigger])||[]]),_react.useEffect.call(void 0, ()=>{let l=async()=>{!G&&P&&A&&(await caches.open(P)).delete(A)};return window.addEventListener("beforeunload",l),()=>{window.removeEventListener("beforeunload",l),_optionalChain([T, 'access', _53 => _53.current, 'optionalAccess', _54 => _54.abort, 'call', _55 => _55()])}},[]);let E=_react.useCallback.call(void 0, async l=>{let s=a;if(_optionalChain([r, 'optionalAccess', _56 => _56.hold])&&_optionalChain([r, 'optionalAccess', _57 => _57.logging])&&console.log("Hold active"),_optionalChain([r, 'optionalAccess', _58 => _58.beforeRequest])&&(s=_optionalChain([r, 'optionalAccess', _59 => _59.beforeRequest, 'call', _60 => _60(a)])),_optionalChain([r, 'optionalAccess', _61 => _61.cache])&&!l&&!S){R(!0),_optionalChain([r, 'optionalAccess', _62 => _62.onBeforeRequest])&&_optionalChain([r, 'optionalAccess', _63 => _63.onBeforeRequest, 'call', _64 => _64(a)]);let f=await caches.open(P),h=awaitawait _asyncOptionalChain([(await f.match(A)), 'optionalAccess', async _65 => _65.json, 'call', async _66 => _66()]);if(h){let{data:u,expired:w}=h;if(_moment2.default.call(void 0, ).isAfter(w))await f.delete(A);else{_optionalChain([r, 'optionalAccess', _67 => _67.afterResponse])&&_optionalChain([u, 'optionalAccess', _68 => _68.data])&&(u.data=_optionalChain([r, 'optionalAccess', _69 => _69.afterResponse, 'call', _70 => _70(u.data)])),_optionalChain([r, 'optionalAccess', _71 => _71.logging])&&console.log("After request: Using Cache",u),_optionalChain([r, 'optionalAccess', _72 => _72.onAfterResponse])&&_optionalChain([r, 'optionalAccess', _73 => _73.onAfterResponse, 'call', _74 => _74(u)]),R(!1),D(u);return}}}if(typeof e=="function"){_optionalChain([T, 'access', _75 => _75.current, 'optionalAccess', _76 => _76.abort, 'call', _77 => _77()]);let f=new AbortController;T.current=f,R(!0),_optionalChain([r, 'optionalAccess', _78 => _78.logging])&&console.log("Before request",a),_optionalChain([r, 'optionalAccess', _79 => _79.onBeforeRequest])&&_optionalChain([r, 'optionalAccess', _80 => _80.onBeforeRequest, 'call', _81 => _81(a)]);let y=o?await e(s,void 0,{...r,signal:f.signal}):await e(void 0,{...r,signal:f.signal});if(_optionalChain([r, 'optionalAccess', _82 => _82.afterResponse])&&_optionalChain([y, 'optionalAccess', _83 => _83.data])&&(y.data=_optionalChain([r, 'optionalAccess', _84 => _84.afterResponse, 'call', _85 => _85(y.data)])),_optionalChain([r, 'optionalAccess', _86 => _86.logging])&&console.log("After request",y),_optionalChain([r, 'optionalAccess', _87 => _87.onAfterResponse])&&_optionalChain([r, 'optionalAccess', _88 => _88.onAfterResponse, 'call', _89 => _89(y)]),R(!1),D(y),b(!1),_optionalChain([r, 'optionalAccess', _90 => _90.cache])&&y.status){let h=_moment2.default.call(void 0, ).add(J,W).toISOString(),u={data:y,expired:h},w=await caches.open(P),k=new Response(JSON.stringify(u));await w.put(A,k)}}},[a,e,r]);_react.useEffect.call(void 0, ()=>{if(_optionalChain([r, 'optionalAccess', _91 => _91.refreshInterval])){let l=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,s=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,f=setInterval(()=>{E()},_moment2.default.duration(l,s).asMilliseconds());return()=>clearInterval(f)}return()=>{}},[_optionalChain([r, 'optionalAccess', _92 => _92.refreshInterval]),E]),_react.useEffect.call(void 0, ()=>{if(!_optionalChain([r, 'optionalAccess', _93 => _93.refetchOnWindowFocus]))return;let l=()=>{E()};return window.addEventListener("focus",l),()=>{window.removeEventListener("focus",l)}},[_optionalChain([r, 'optionalAccess', _94 => _94.refetchOnWindowFocus]),E]);let m={...x,loading:p,refresh:E,abort:()=>{_optionalChain([T, 'access', _95 => _95.current, 'optionalAccess', _96 => _96.abort, 'call', _97 => _97()]),T.current=null,R(!1),b(!0)},clear:()=>{R(!1),D(null)},response:x,isCancel:S,clone:(l,s)=>Pe(e,l,s)};return _react.useEffect.call(void 0, ()=>{_optionalChain([r, 'optionalAccess', _98 => _98.storeName])&&F(_optionalChain([r, 'optionalAccess', _99 => _99.storeName])).setState([_optionalChain([x, 'optionalAccess', _100 => _100.data]),m])},[x,m,_optionalChain([r, 'optionalAccess', _101 => _101.storeName])]),[_optionalChain([x, 'optionalAccess', _102 => _102.data]),m]}async function Pt(e,t=()=>{}){let n=e*1e3;return new Promise(o=>{let a=0,r=setInterval(()=>{t(),a===9&&clearInterval(r)},1e3);setTimeout(async()=>{await t(),o(!0)},n)})}var ie=(r=>(r.POST="POST",r.PUT="PUT",r.PATCH="PATCH",r.DELETE="DELETE",r.GET="GET",r))(ie||{}),pe= exports.DataTypeEnum =(s=>(s.number="number",s.currency="currency",s.percent="percent",s.date="date",s.dateTime="dateTime",s.month="month",s.year="year",s.time="time",s.timestamp="timestamp",s.string="string",s.textarea="textarea",s.code="code",s.password="password",s.boolean="boolean",s.toggle="toggle",s.email="email",s.phone="phone",s.url="url",s.json="json",s.file="file",s.image="image",s.array="array",s.object="object",s.enum="enum",s.user="user",s.department="department",s.status="status",s))(pe||{});var Kt=(e,t,n)=>{let{format:o}=U();return t==="number"?Ee(e,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(a=>a===t)?Ue(e,{display:_optionalChain([o, 'access', _103 => _103[t], 'optionalAccess', _104 => _104.display]),value:_optionalChain([o, 'access', _105 => _105[t], 'optionalAccess', _106 => _106.value]),...n}):t==="boolean"?qe(e,n):t==="string"?we(e,n):_nullishCoalesce(_optionalChain([e, 'optionalAccess', _107 => _107.toString, 'call', _108 => _108()]), () => (""))};function qe(e,t){let n=typeof e=="string"?e==="true":!!e,o=_nullishCoalesce(_optionalChain([t, 'optionalAccess', _109 => _109.trueLabel]), () => ("Yes")),a=_nullishCoalesce(_optionalChain([t, 'optionalAccess', _110 => _110.falseLabel]), () => ("No"));return n?o:a}function we(e,t){if(!q(e))return"";let n=String(e);switch(_optionalChain([t, 'optionalAccess', _111 => _111.textTransform])){case"capitalize":n=Z(n);break;case"uppercase":n=n.toUpperCase();break;case"lowercase":n=n.toLowerCase();break}return _optionalChain([t, 'optionalAccess', _112 => _112.ellipsis])&&n.length>t.ellipsis&&(n=n.slice(0,t.ellipsis)+"..."),n}function Ee(e,{thouSep:t,decSep:n,decDigits:o,method:a}){if(e==null||isNaN(Number(e)))return"";let r=typeof e=="string"?parseFloat(e):e;if(a)if(typeof o=="number"){let p=Math.pow(10,o);r=Math[a](r*p)/p}else r=Math[a](r);else if(typeof o=="number"){let p=Math.pow(10,o);r=Math.floor(r*p)/p}let c=0;if(o==="auto"){let p=r.toString(),R=p.indexOf(".");R!==-1&&(c=p.length-R-1)}let i={style:"decimal",useGrouping:!0,minimumFractionDigits:o==="auto"?c:o||0,maximumFractionDigits:o==="auto"?c:o||0,minimumIntegerDigits:1};return r.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,t)}function Ue(e,{display:t,value:n}){if(!q(e))return e;let o=_moment2.default.call(void 0, e,n);return o.isValid()?o.format(t):e}function Bt(e,{interval:t,lead:n}){let o=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{o.current=e},[e]),_react.useEffect.call(void 0, ()=>{let a=()=>o.current();if(n&&a(),t!==null){let r=setInterval(a,t);return()=>clearInterval(r)}},[t])}function Ht(e,t,n){let[o,a]=_react.useState.call(void 0, !1),r=(p,R)=>typeof e=="string"&&p===e||typeof e=="number"&&R===e,c=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),i=p=>{let{key:R,keyCode:S}=p,b=p.ctrlKey,x=p.altKey,D=p.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")r(R,S)&&(t==="ctrl"&&b||t==="alt"&&x||t==="shift"&&D)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o));else{let g=t.every(T=>T==="ctrl"?b:T==="alt"?x:T==="shift"?D:!1);r(R,S)&&g&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))}else r(R,S)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))},d=({key:p,keyCode:R})=>{r(p,R)&&a(!1)};return _react.useEffect.call(void 0, ()=>(window.addEventListener("keydown",i),window.addEventListener("keyup",d),()=>{window.removeEventListener("keydown",i),window.removeEventListener("keyup",d)}),[]),o}var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var rr=({url:e,token:t,beforeRequest:n,onCallback:o,headers:a,onUnauthorized:r,handleToast:c,handleAuthorization:i,disabledToastWhenCancel:d,withCredentials:p,encryptRequest:R,encryptResponse:S,passphrase:b})=>{let{encrypt:x,decrypt:D,passphrase:g}=M(),T=(m,l,s,f)=>{let y=_optionalChain([f, 'optionalAccess', _113 => _113.code])==="ERR_CANCELED",h=m.status===401,u=_optionalChain([m, 'optionalAccess', _114 => _114.data]);if((typeof _optionalChain([s, 'optionalAccess', _115 => _115.encryptResponse])=="boolean"?_optionalChain([s, 'optionalAccess', _116 => _116.encryptResponse]):S)&&u){let v=_optionalChain([s, 'optionalAccess', _117 => _117.passphrase])?typeof s.passphrase=="boolean"&&s.passphrase?g:s.passphrase:b;try{u=D(u,v)}catch (e5){try{u=D(u,g)}catch (e6){}}}let C={...o({...m,data:u,isCancel:y,isUnauthorization:h},f),isCancel:y,isUnauthorization:h,httpCode:m.status},B=typeof _optionalChain([s, 'optionalAccess', _118 => _118.disabledToastWhenCancel])=="boolean"?_optionalChain([s, 'optionalAccess', _119 => _119.disabledToastWhenCancel]):d,me=i?i(C,s):!h;if((_optionalChain([s, 'optionalAccess', _120 => _120.infoSuccess])&&C.status||_optionalChain([s, 'optionalAccess', _121 => _121.infoError])&&!C.status)&&c&&(!y||!B)&&c(C),!me&&(!y||!_optionalChain([s, 'optionalAccess', _122 => _122.disabledHandleUnauthorized]))){let v=_optionalChain([s, 'optionalAccess', _123 => _123.onUnauthorized])||r;v&&v(C)}if(l)l(C);else return C},P=(m,l=()=>{})=>_axios2.default.create({baseURL:`${e}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:p})(m).then(l).catch(f=>l(f.response,f)),A=(m,l,s,f,y)=>{let u={...{token:!0,infoError:!0,infoSuccess:!0,responseType:"json"},...y},w={"Content-Type":"application/json",...a,...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(w.Authorization=`Bearer ${t}`):u.token&&(w.Authorization=`Bearer ${u.token}`)),n&&(s=n(s)),(typeof _optionalChain([u, 'optionalAccess', _124 => _124.encryptRequest])=="boolean"?_optionalChain([u, 'optionalAccess', _125 => _125.encryptRequest]):R)&&s){let C=_optionalChain([y, 'optionalAccess', _126 => _126.passphrase])?typeof y.passphrase=="boolean"&&y.passphrase?g:y.passphrase:b;s=x(s,C)}return P({url:l,method:m,data:s,headers:w,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:C=>{_optionalChain([u, 'optionalAccess', _127 => _127.onUploadProgress])&&_optionalChain([u, 'optionalAccess', _128 => _128.onUploadProgress, 'call', _129 => _129(C)])}},(C,B)=>T(C,f,u,B))};return{client:P,post:(m,l,s,f)=>A("POST",`${m}`,l,s,f),put:(m,l,s,f)=>A("PUT",`${m}`,l,s,f),patch:(m,l,s,f)=>A("PATCH",`${m}`,l,s,f),delete:(m,l,s)=>A("DELETE",`${m}`,null,l,s),get:(m,l,s)=>A("GET",`${m}`,null,l,s),upload:(m,l,s,f)=>{let y=new FormData;return Object.keys(l).forEach(h=>y.append(h,l[h])),A("POST",`${m}`,y,s,{infoSuccess:!1,...f,headers:{"Content-Type":"multipart/form-data",..._optionalChain([f, 'optionalAccess', _130 => _130.headers])}})}}};function ar(e,t){let[n,o]=_react.useState.call(void 0, !1),[a,r]=_react.useState.call(void 0, ),[c,i]=_react.useState.call(void 0, 0),d=_react.useRef.call(void 0, null);return _react.useEffect.call(void 0, ()=>{if(_optionalChain([t, 'optionalAccess', _131 => _131.abortOnUnmount]))return()=>{_optionalChain([d, 'access', _132 => _132.current, 'optionalAccess', _133 => _133.abort, 'call', _134 => _134()])}},[]),[async b=>{_optionalChain([d, 'access', _135 => _135.current, 'optionalAccess', _136 => _136.abort, 'call', _137 => _137()]);let x=new AbortController;d.current=x,o(!0),_optionalChain([t, 'optionalAccess', _138 => _138.beforeRequest])&&(b=_optionalChain([t, 'optionalAccess', _139 => _139.beforeRequest, 'call', _140 => _140(b)])),_optionalChain([t, 'optionalAccess', _141 => _141.logging])&&console.log("Before request",b);let D={...t,signal:x.signal,onUploadProgress:T=>{let P=Math.round(T.loaded*100/(T.total||1));i(P)}},g=q(b)?await e(b,void 0,D):await e(void 0,D);_optionalChain([t, 'optionalAccess', _142 => _142.logging])&&console.log("After response",g),r(g),o(!1),i(0),g.status&&_optionalChain([t, 'optionalAccess', _143 => _143.onSuccess])&&_optionalChain([t, 'optionalAccess', _144 => _144.onSuccess, 'call', _145 => _145(g)]),!g.status&&_optionalChain([t, 'optionalAccess', _146 => _146.onError])&&_optionalChain([t, 'optionalAccess', _147 => _147.onError, 'call', _148 => _148(g)]),_optionalChain([t, 'optionalAccess', _149 => _149.afterResponse])&&_optionalChain([t, 'optionalAccess', _150 => _150.afterResponse, 'call', _151 => _151(g)])},{...a,loading:n,abort:()=>{_optionalChain([d, 'access', _152 => _152.current, 'optionalAccess', _153 => _153.abort, 'call', _154 => _154()]),d.current=null,o(!1),i(0)},progress:c,reset:()=>{o(!1),i(0),r(null)}}]}function lr(e="vertical"){let t=_react.useRef.call(void 0, null),[n,o]=_react.useState.call(void 0, !1),[a,r]=_react.useState.call(void 0, !1),c=_react.useCallback.call(void 0, ()=>{let i=t.current;if(i)if(e==="vertical"){let d=Math.ceil(i.scrollTop+i.clientHeight),p=Math.floor(i.scrollHeight);o(i.scrollTop>0),r(d<p)}else{let d=Math.ceil(i.scrollLeft+i.clientWidth),p=Math.floor(i.scrollWidth);o(i.scrollLeft>0),r(d<p)}},[e]);return _react.useEffect.call(void 0, ()=>{let i=t.current;if(i)return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)},[c]),{ref:t,showStartShadow:n,showEndShadow:a}}var fr=(e,t)=>F(t).useStore();var yr=(e,t)=>{let n=o=>e(o);return n.displayName=t,n},Rr= exports.splitElement =(e,t)=>{let n={};n.others=[];let o=a=>{_react2.default.Children.forEach(a,r=>{if(_react2.default.isValidElement(r)){let c=r.type.displayName;if(t.includes(c))n[c]=r;else{let i=r;_optionalChain([i, 'access', _155 => _155.props, 'optionalAccess', _156 => _156.children])?o(i.props.children):n.others.push(r)}}else n.others.push(r)})};return o(e),n};exports.BgsCoreProvider = he; exports.DataTypeEnum = pe; exports.HttpMethod = ie; exports.capitalizeWords = Z; exports.createApiHelper = rr; exports.createElement = yr; exports.decrypt = L; exports.decryptString = ne; exports.diffJson = ze; exports.encrypt = I; exports.encryptString = re; exports.generateCacheKey = _; exports.generateUUID = je; exports.getFieldValue = O; exports.isArray = Je; exports.isNotEmpty = q; exports.jsonCopy = _e; exports.labelFormatter = X; exports.mappingUndefinedtoNull = Ve; exports.renderChildren = We; exports.sorting = Ge; exports.splitElement = Rr; exports.stableStringify = ye; exports.summary = Xe; exports.useApiLoad = Pe; exports.useApiSend = ar; exports.useApiStore = fr; exports.useBgsCore = U; exports.useCrypto = M; exports.useDelay = Pt; exports.useFormatted = Kt; exports.useInterval = Bt; exports.useKeyPress = Ht; exports.useScroll = lr; exports.useStorage = oe;
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } async function _asyncOptionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = await fn(value); } else if (op === 'call' || op === 'optionalCall') { value = await fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _moment = require('moment'); var _moment2 = _interopRequireDefault(_moment);var _react = require('react'); var _react2 = _interopRequireDefault(_react);function je(){let e=()=>Math.random()*16%16|0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function ze(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch (e2){return!1}}var Ve=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null)}),e);function Je(e,t){let n=!1;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(n=!0):n=!0),n}function q(e){return!(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var X={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let n=e.replace(/_([a-z])/g,(o,a)=>a.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(e="",t=!1)=>{let n="";try{e=_optionalChain([e, 'optionalAccess', _2 => _2.split, 'call', _3 => _3("."), 'access', _4 => _4[_optionalChain([e, 'optionalAccess', _5 => _5.split, 'call', _6 => _6("."), 'optionalAccess', _7 => _7.length])-1]]),e=_optionalChain([e, 'optionalAccess', _8 => _8.split, 'call', _9 => _9("[]"), 'access', _10 => _10[_optionalChain([e, 'optionalAccess', _11 => _11.split, 'call', _12 => _12("[]"), 'optionalAccess', _13 => _13.length])-1]]),n=X.snackCase(X.camelCase(e)),t&&(n=_optionalChain([n, 'optionalAccess', _14 => _14.split, 'call', _15 => _15(" "), 'optionalAccess', _16 => _16.map, 'call', _17 => _17(o=>_optionalChain([o, 'optionalAccess', _18 => _18.length])<=3?_optionalChain([o, 'optionalAccess', _19 => _19.toUpperCase, 'call', _20 => _20()]):o), 'optionalAccess', _21 => _21.join, 'call', _22 => _22(" ")]))}catch (e3){}return _optionalChain([n, 'optionalAccess', _23 => _23.trim, 'call', _24 => _24()])}};function We(e,t){return typeof e=="function"?e(t):e}var O=(e,t,n="")=>{if(!e)return n;if(e.hasOwnProperty(t))return e[t];let o=t.replace(/\[(\d+)\]/g,".$1").split("."),a=e;for(let r of o){if(a==null)return n;a=a[r]}return a===void 0?n:a},Ge= exports.sorting ={desc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(n,t):"";return a<r?1:-1}else return n<o?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(o,t):"";return a>r?1:-1}else return n>o?1:-1}))},Xe= exports.summary =(e,t)=>{Array.isArray(e)||(e=[]);let n=[];return n=e.map(o=>Number(t?O(o,t)||0:o||0)),n.reduce((o,a)=>(o||0)+(a||0),0)||0};function _e(e){try{return e&&JSON.parse(JSON.stringify(e))}catch (e4){return e}}function ye(e){let t=new WeakSet;return _nullishCoalesce(JSON.stringify(e,function(n,o){return o!==null&&typeof o=="object"?t.has(o)?void 0:(t.add(o),Object.keys(o).sort().reduce((a,r)=>(a[r]=o[r],a),{})):o}), () => (""))}function _(e,t){return ye([_nullishCoalesce(t, () => ("undefined")),_nullishCoalesce(e, () => ("undefined"))])}function Z(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}var _jsxruntime = require('react/jsx-runtime');var Y=_react.createContext.call(void 0, void 0);function N(){let e=_react.useContext.call(void 0, Y);return e||{}}var he=({children:e,value:t})=>{let n={...t};return _jsxruntime.jsx.call(void 0, Y.Provider,{value:n,children:e})};var _aes = require('crypto-js/aes'); var _aes2 = _interopRequireDefault(_aes);var _pbkdf2 = require('crypto-js/pbkdf2'); var _pbkdf22 = _interopRequireDefault(_pbkdf2);var _encutf8 = require('crypto-js/enc-utf8'); var _encutf82 = _interopRequireDefault(_encutf8);var _encbase64 = require('crypto-js/enc-base64'); var _encbase642 = _interopRequireDefault(_encbase64);var _libtypedarrays = require('crypto-js/lib-typedarrays'); var _libtypedarrays2 = _interopRequireDefault(_libtypedarrays);function I(e,t){let n=_libtypedarrays2.default.random(16),o=_libtypedarrays2.default.random(16),a=_pbkdf22.default.call(void 0, t,n,{keySize:256/32,iterations:1e3}),r=_aes2.default.encrypt(JSON.stringify(e),a,{iv:o}).toString();return{salt:n.toString(_encbase642.default),iv:o.toString(_encbase642.default),encrypted:r}}function L(e,t){let{salt:n,iv:o,encrypted:a}=e,r=_pbkdf22.default.call(void 0, t,_encbase642.default.parse(n),{keySize:256/32,iterations:1e3}),i=_aes2.default.decrypt(a,r,{iv:_encbase642.default.parse(o)}).toString(_encutf82.default);return JSON.parse(i)}function re(e,t){return JSON.stringify(I(e,t))}function ne(e,t){return L(JSON.parse(e),t)}function M(){let{passphrase:e}=N();return{passphrase:e,encrypt(t,n){return I(t,n||e)},decrypt(t,n){return L(t,n||e)},encryptString(t,n){return re(t,n||e)},decryptString(t,n){return ne(t,n||e)}}}var oe=()=>{let{encrypt:e,decrypt:t}=M(),n=_react.useCallback.call(void 0, (c,i)=>{try{let d=e(i);localStorage.setItem(c,JSON.stringify(d))}catch(d){console.error("Failed to save to storage:",d)}},[e]),o=_react.useCallback.call(void 0, c=>{try{let i=localStorage.getItem(c);return i?t(JSON.parse(i)):null}catch(i){return console.error("Failed to get from storage:",i),null}},[t]),a=c=>{let[i,d]=_react.useState.call(void 0, ()=>{try{let p=localStorage.getItem(c);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return _react.useEffect.call(void 0, ()=>{let p=R=>{if(R.key===c)if(R.newValue)try{d(t(JSON.parse(R.newValue)))}catch(S){console.error("Decrypt error from storage event",S)}else d(null)};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[c,t]),i},r=_react.useCallback.call(void 0, c=>{c?localStorage.removeItem(c):localStorage.clear()},[]);return{save:n,get:o,clear:r,useWatchStorage:a}};function se(e){let t=e,n=new Set;function o(){return t}function a(i){return n.add(i),()=>n.delete(i)}function r(i){typeof i=="function"?t=i(t):t=i,n.forEach(d=>d())}function c(i){return _react.useSyncExternalStore.call(void 0, a,()=>i?i(t):t,()=>i?i(t):t)}return{getSnapshot:o,subscribe:a,setState:r,useStore:c}}var $=new Map;function F(e){return $.has(e)||$.set(e,se([null,{}])),$.get(e)}function Pe(e,t,n){let o=arguments.length===3,a=o?t:void 0,r=o?n:t,{storageKey:c,cache:i}=N(),d=oe(),[p,R]=_react.useState.call(void 0, !1),[S,b]=_react.useState.call(void 0, !1),[T,C]=_react.useState.call(void 0, ),g=_react.useRef.call(void 0, void 0),x=_react.useRef.call(void 0, null),{cacheName:P,cacheKey:A,timeout:J,timeoutUnit:W,persistence:G}=_react.useMemo.call(void 0, ()=>{let l=c?d.get(c):void 0,s=typeof _optionalChain([r, 'optionalAccess', _25 => _25.cache])=="object"?_nullishCoalesce(_optionalChain([r, 'optionalAccess', _26 => _26.cache, 'optionalAccess', _27 => _27.cacheName]), () => (e.name)):e.name,f=_({...a,session:l},typeof _optionalChain([r, 'optionalAccess', _28 => _28.cache])=="object"?_optionalChain([r, 'optionalAccess', _29 => _29.cache, 'optionalAccess', _30 => _30.cacheKey]):void 0),y=!1;typeof _optionalChain([i, 'optionalAccess', _31 => _31.persistence])=="boolean"&&(y=_optionalChain([i, 'optionalAccess', _32 => _32.persistence])),typeof _optionalChain([r, 'optionalAccess', _33 => _33.cache])=="object"&&typeof _optionalChain([r, 'optionalAccess', _34 => _34.cache, 'optionalAccess', _35 => _35.persistence])=="boolean"&&(y=_nullishCoalesce(_optionalChain([r, 'optionalAccess', _36 => _36.cache, 'optionalAccess', _37 => _37.persistence]), () => (!1)));let h=60*5,u="s";return q(_optionalChain([i, 'optionalAccess', _38 => _38.timeout]))&&(typeof _optionalChain([i, 'optionalAccess', _39 => _39.timeout])=="number"?(h=i.timeout,u="s"):typeof _optionalChain([i, 'optionalAccess', _40 => _40.timeout])=="object"&&(h=_optionalChain([i, 'optionalAccess', _41 => _41.timeout, 'access', _42 => _42.value]),u=_optionalChain([i, 'optionalAccess', _43 => _43.timeout, 'access', _44 => _44.unit]))),_optionalChain([r, 'optionalAccess', _45 => _45.cache])&&typeof r.cache!="boolean"&&(typeof r.cache.timeout=="number"?(h=r.cache.timeout,u="s"):typeof r.cache.timeout=="object"&&(h=r.cache.timeout.value,u=r.cache.timeout.unit)),{cacheName:s,cacheKey:f,timeout:h,timeoutUnit:u,persistence:y}},[_optionalChain([r, 'optionalAccess', _46 => _46.cache]),c,i]);_react.useEffect.call(void 0, ()=>{let l=JSON.stringify(q(g.current)?g.current:""),s=JSON.stringify(q(a)?a:""),f=g.current===void 0;(l!==s||f)&&!_optionalChain([r, 'optionalAccess', _47 => _47.hold])&&(C(null),U(),g.current=a),_optionalChain([r, 'optionalAccess', _48 => _48.onChange])&&_optionalChain([r, 'optionalAccess', _49 => _49.onChange, 'call', _50 => _50(a,m)])},[a,_optionalChain([r, 'optionalAccess', _51 => _51.hold]),..._optionalChain([r, 'optionalAccess', _52 => _52.trigger])||[]]),_react.useEffect.call(void 0, ()=>{let l=async()=>{!G&&P&&A&&(await caches.open(P)).delete(A)};return window.addEventListener("beforeunload",l),()=>{window.removeEventListener("beforeunload",l),_optionalChain([x, 'access', _53 => _53.current, 'optionalAccess', _54 => _54.abort, 'call', _55 => _55()])}},[]);let U=_react.useCallback.call(void 0, async l=>{let s=a;if(_optionalChain([r, 'optionalAccess', _56 => _56.hold])&&_optionalChain([r, 'optionalAccess', _57 => _57.logging])&&console.log("Hold active"),_optionalChain([r, 'optionalAccess', _58 => _58.beforeRequest])&&(s=_optionalChain([r, 'optionalAccess', _59 => _59.beforeRequest, 'call', _60 => _60(a)])),_optionalChain([r, 'optionalAccess', _61 => _61.cache])&&!l&&!S){R(!0),_optionalChain([r, 'optionalAccess', _62 => _62.onBeforeRequest])&&_optionalChain([r, 'optionalAccess', _63 => _63.onBeforeRequest, 'call', _64 => _64(a)]);let f=await caches.open(P),h=awaitawait _asyncOptionalChain([(await f.match(A)), 'optionalAccess', async _65 => _65.json, 'call', async _66 => _66()]);if(h){let{data:u,expired:w}=h;if(_moment2.default.call(void 0, ).isAfter(w))await f.delete(A);else{_optionalChain([r, 'optionalAccess', _67 => _67.afterResponse])&&_optionalChain([u, 'optionalAccess', _68 => _68.data])&&(u.data=_optionalChain([r, 'optionalAccess', _69 => _69.afterResponse, 'call', _70 => _70(u.data)])),_optionalChain([r, 'optionalAccess', _71 => _71.logging])&&console.log("After request: Using Cache",u),_optionalChain([r, 'optionalAccess', _72 => _72.onAfterResponse])&&_optionalChain([r, 'optionalAccess', _73 => _73.onAfterResponse, 'call', _74 => _74(u)]),R(!1),C(u);return}}}if(typeof e=="function"){_optionalChain([x, 'access', _75 => _75.current, 'optionalAccess', _76 => _76.abort, 'call', _77 => _77()]);let f=new AbortController;x.current=f,R(!0),_optionalChain([r, 'optionalAccess', _78 => _78.logging])&&console.log("Before request",a),_optionalChain([r, 'optionalAccess', _79 => _79.onBeforeRequest])&&_optionalChain([r, 'optionalAccess', _80 => _80.onBeforeRequest, 'call', _81 => _81(a)]);let y=o?await e(s,void 0,{...r,signal:f.signal}):await e(void 0,{...r,signal:f.signal});if(_optionalChain([r, 'optionalAccess', _82 => _82.afterResponse])&&_optionalChain([y, 'optionalAccess', _83 => _83.data])&&(y.data=_optionalChain([r, 'optionalAccess', _84 => _84.afterResponse, 'call', _85 => _85(y.data)])),_optionalChain([r, 'optionalAccess', _86 => _86.logging])&&console.log("After request",y),_optionalChain([r, 'optionalAccess', _87 => _87.onAfterResponse])&&_optionalChain([r, 'optionalAccess', _88 => _88.onAfterResponse, 'call', _89 => _89(y)]),R(!1),C(y),b(!1),_optionalChain([r, 'optionalAccess', _90 => _90.cache])&&y.status){let h=_moment2.default.call(void 0, ).add(J,W).toISOString(),u={data:y,expired:h},w=await caches.open(P),E=new Response(JSON.stringify(u));await w.put(A,E)}}},[a,e,r]);_react.useEffect.call(void 0, ()=>{if(_optionalChain([r, 'optionalAccess', _91 => _91.refreshInterval])){let l=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,s=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,f=setInterval(()=>{U()},_moment2.default.duration(l,s).asMilliseconds());return()=>clearInterval(f)}return()=>{}},[_optionalChain([r, 'optionalAccess', _92 => _92.refreshInterval]),U]),_react.useEffect.call(void 0, ()=>{if(!_optionalChain([r, 'optionalAccess', _93 => _93.refetchOnWindowFocus]))return;let l=()=>{U()};return window.addEventListener("focus",l),()=>{window.removeEventListener("focus",l)}},[_optionalChain([r, 'optionalAccess', _94 => _94.refetchOnWindowFocus]),U]);let m={...T,loading:p,refresh:U,abort:()=>{_optionalChain([x, 'access', _95 => _95.current, 'optionalAccess', _96 => _96.abort, 'call', _97 => _97()]),x.current=null,R(!1),b(!0)},clear:()=>{R(!1),C(null)},response:T,isCancel:S,clone:(l,s)=>Pe(e,l,s)};return _react.useEffect.call(void 0, ()=>{_optionalChain([r, 'optionalAccess', _98 => _98.storeName])&&F(_optionalChain([r, 'optionalAccess', _99 => _99.storeName])).setState([_optionalChain([T, 'optionalAccess', _100 => _100.data]),m])},[T,m,_optionalChain([r, 'optionalAccess', _101 => _101.storeName])]),[_optionalChain([T, 'optionalAccess', _102 => _102.data]),m]}async function Pt(e,t=()=>{}){let n=e*1e3;return new Promise(o=>{let a=0,r=setInterval(()=>{t(),a===9&&clearInterval(r)},1e3);setTimeout(async()=>{await t(),o(!0)},n)})}var ie=(r=>(r.POST="POST",r.PUT="PUT",r.PATCH="PATCH",r.DELETE="DELETE",r.GET="GET",r))(ie||{}),pe= exports.DataTypeEnum =(s=>(s.number="number",s.currency="currency",s.percent="percent",s.date="date",s.dateTime="dateTime",s.month="month",s.year="year",s.time="time",s.timestamp="timestamp",s.string="string",s.textarea="textarea",s.code="code",s.password="password",s.boolean="boolean",s.toggle="toggle",s.email="email",s.phone="phone",s.url="url",s.json="json",s.file="file",s.image="image",s.array="array",s.object="object",s.enum="enum",s.user="user",s.department="department",s.status="status",s))(pe||{});var Kt=(e,t,n)=>{let{format:o}=N();return t==="number"?Ue(e,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(a=>a===t)?Ne(e,{display:_optionalChain([o, 'access', _103 => _103[t], 'optionalAccess', _104 => _104.display]),value:_optionalChain([o, 'access', _105 => _105[t], 'optionalAccess', _106 => _106.value]),...n}):t==="boolean"?qe(e,n):t==="string"?we(e,n):_nullishCoalesce(_optionalChain([e, 'optionalAccess', _107 => _107.toString, 'call', _108 => _108()]), () => (""))};function qe(e,t){let n=typeof e=="string"?e==="true":!!e,o=_nullishCoalesce(_optionalChain([t, 'optionalAccess', _109 => _109.trueLabel]), () => ("Yes")),a=_nullishCoalesce(_optionalChain([t, 'optionalAccess', _110 => _110.falseLabel]), () => ("No"));return n?o:a}function we(e,t){if(!q(e))return"";let n=String(e);switch(_optionalChain([t, 'optionalAccess', _111 => _111.textTransform])){case"capitalize":n=Z(n);break;case"uppercase":n=n.toUpperCase();break;case"lowercase":n=n.toLowerCase();break}return _optionalChain([t, 'optionalAccess', _112 => _112.ellipsis])&&n.length>t.ellipsis&&(n=n.slice(0,t.ellipsis)+"..."),n}function Ue(e,{thouSep:t,decSep:n,decDigits:o,method:a}){if(e==null||isNaN(Number(e)))return"";let r=typeof e=="string"?parseFloat(e):e;if(a)if(typeof o=="number"){let p=Math.pow(10,o);r=Math[a](r*p)/p}else r=Math[a](r);else if(typeof o=="number"){let p=Math.pow(10,o);r=Math.floor(r*p)/p}let c=0;if(o==="auto"){let p=r.toString(),R=p.indexOf(".");R!==-1&&(c=p.length-R-1)}let i={style:"decimal",useGrouping:!0,minimumFractionDigits:o==="auto"?c:o||0,maximumFractionDigits:o==="auto"?c:o||0,minimumIntegerDigits:1};return r.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,t)}function Ne(e,{display:t,value:n}){if(!q(e))return e;let o=_moment2.default.call(void 0, e,n);return o.isValid()?o.format(t):e}function Bt(e,{interval:t,lead:n}){let o=_react.useRef.call(void 0, null);_react.useEffect.call(void 0, ()=>{o.current=e},[e]),_react.useEffect.call(void 0, ()=>{let a=()=>o.current();if(n&&a(),t!==null){let r=setInterval(a,t);return()=>clearInterval(r)}},[t])}function Ht(e,t,n){let[o,a]=_react.useState.call(void 0, !1),r=(p,R)=>typeof e=="string"&&p===e||typeof e=="number"&&R===e,c=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),i=p=>{let{key:R,keyCode:S}=p,b=p.ctrlKey,T=p.altKey,C=p.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")r(R,S)&&(t==="ctrl"&&b||t==="alt"&&T||t==="shift"&&C)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o));else{let g=t.every(x=>x==="ctrl"?b:x==="alt"?T:x==="shift"?C:!1);r(R,S)&&g&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))}else r(R,S)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))},d=({key:p,keyCode:R})=>{r(p,R)&&a(!1)};return _react.useEffect.call(void 0, ()=>(window.addEventListener("keydown",i),window.addEventListener("keyup",d),()=>{window.removeEventListener("keydown",i),window.removeEventListener("keyup",d)}),[]),o}var _axios = require('axios'); var _axios2 = _interopRequireDefault(_axios);var rr=({url:e,token:t,beforeRequest:n,onCallback:o,headers:a,onUnauthorized:r,handleToast:c,handleAuthorization:i,disabledToastWhenCancel:d,withCredentials:p,encryptRequest:R,encryptResponse:S,passphrase:b})=>{let{encrypt:T,decrypt:C,passphrase:g}=M(),x=(m,l,s,f)=>{let y=_optionalChain([f, 'optionalAccess', _113 => _113.code])==="ERR_CANCELED",h=m.status===401,u=_optionalChain([m, 'optionalAccess', _114 => _114.data]);if((typeof _optionalChain([s, 'optionalAccess', _115 => _115.encryptResponse])=="boolean"?_optionalChain([s, 'optionalAccess', _116 => _116.encryptResponse]):S)&&u){let v=_optionalChain([s, 'optionalAccess', _117 => _117.passphrase])?typeof s.passphrase=="boolean"&&s.passphrase?g:s.passphrase:b;try{u=C(u,v)}catch (e5){try{u=C(u,g)}catch (e6){}}}let D={...o({...m,data:u,isCancel:y,isUnauthorization:h},f),isCancel:y,isUnauthorization:h,httpCode:m.status},B=typeof _optionalChain([s, 'optionalAccess', _118 => _118.disabledToastWhenCancel])=="boolean"?_optionalChain([s, 'optionalAccess', _119 => _119.disabledToastWhenCancel]):d,me=i?i(D,s):!h;if((_optionalChain([s, 'optionalAccess', _120 => _120.infoSuccess])&&D.status||_optionalChain([s, 'optionalAccess', _121 => _121.infoError])&&!D.status)&&c&&(!y||!B)&&c(D),!me&&(!y||!_optionalChain([s, 'optionalAccess', _122 => _122.disabledHandleUnauthorized]))){let v=_optionalChain([s, 'optionalAccess', _123 => _123.onUnauthorized])||r;v&&v(D)}if(l)l(D);else return D},P=(m,l=()=>{})=>_axios2.default.create({baseURL:`${e}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:p})(m).then(l).catch(f=>l(f.response,f)),A=(m,l,s,f,y)=>{let u={...{token:!0,infoError:!0,infoSuccess:!0,responseType:"json"},...y},w={"Content-Type":"application/json",...a,...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(w.Authorization=`Bearer ${t}`):u.token&&(w.Authorization=`Bearer ${u.token}`)),n&&(s=n(s)),(typeof _optionalChain([u, 'optionalAccess', _124 => _124.encryptRequest])=="boolean"?_optionalChain([u, 'optionalAccess', _125 => _125.encryptRequest]):R)&&s){let D=_optionalChain([y, 'optionalAccess', _126 => _126.passphrase])?typeof y.passphrase=="boolean"&&y.passphrase?g:y.passphrase:b;s=T(s,D)}return P({url:l,method:m,data:s,headers:w,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:D=>{_optionalChain([u, 'optionalAccess', _127 => _127.onUploadProgress])&&_optionalChain([u, 'optionalAccess', _128 => _128.onUploadProgress, 'call', _129 => _129(D)])}},(D,B)=>x(D,f,u,B))};return{client:P,post:(m,l,s,f)=>A("POST",`${m}`,l,s,f),put:(m,l,s,f)=>A("PUT",`${m}`,l,s,f),patch:(m,l,s,f)=>A("PATCH",`${m}`,l,s,f),delete:(m,l,s)=>A("DELETE",`${m}`,null,l,s),get:(m,l,s)=>A("GET",`${m}`,null,l,s),upload:(m,l,s,f)=>{let y=new FormData;return Object.keys(l).forEach(h=>y.append(h,l[h])),A("POST",`${m}`,y,s,{infoSuccess:!1,...f,headers:{"Content-Type":"multipart/form-data",..._optionalChain([f, 'optionalAccess', _130 => _130.headers])}})}}};function ar(e,t){let[n,o]=_react.useState.call(void 0, !1),[a,r]=_react.useState.call(void 0, ),[c,i]=_react.useState.call(void 0, 0),d=_react.useRef.call(void 0, null);return _react.useEffect.call(void 0, ()=>{if(_optionalChain([t, 'optionalAccess', _131 => _131.abortOnUnmount]))return()=>{_optionalChain([d, 'access', _132 => _132.current, 'optionalAccess', _133 => _133.abort, 'call', _134 => _134()])}},[]),[async b=>{_optionalChain([d, 'access', _135 => _135.current, 'optionalAccess', _136 => _136.abort, 'call', _137 => _137()]);let T=new AbortController;d.current=T,o(!0),_optionalChain([t, 'optionalAccess', _138 => _138.beforeRequest])&&(b=_optionalChain([t, 'optionalAccess', _139 => _139.beforeRequest, 'call', _140 => _140(b)])),_optionalChain([t, 'optionalAccess', _141 => _141.logging])&&console.log("Before request",b);let C={...t,signal:T.signal,onUploadProgress:x=>{let P=Math.round(x.loaded*100/(x.total||1));i(P)}},g=q(b)?await e(b,void 0,C):await e(void 0,C);_optionalChain([t, 'optionalAccess', _142 => _142.logging])&&console.log("After response",g),r(g),o(!1),i(0),g.status&&_optionalChain([t, 'optionalAccess', _143 => _143.onSuccess])&&_optionalChain([t, 'optionalAccess', _144 => _144.onSuccess, 'call', _145 => _145(g)]),!g.status&&_optionalChain([t, 'optionalAccess', _146 => _146.onError])&&_optionalChain([t, 'optionalAccess', _147 => _147.onError, 'call', _148 => _148(g)]),_optionalChain([t, 'optionalAccess', _149 => _149.afterResponse])&&_optionalChain([t, 'optionalAccess', _150 => _150.afterResponse, 'call', _151 => _151(g)])},{...a,loading:n,abort:()=>{_optionalChain([d, 'access', _152 => _152.current, 'optionalAccess', _153 => _153.abort, 'call', _154 => _154()]),d.current=null,o(!1),i(0)},progress:c,reset:()=>{o(!1),i(0),r(null)}}]}function lr(e="vertical"){let t=_react.useRef.call(void 0, null),[n,o]=_react.useState.call(void 0, !1),[a,r]=_react.useState.call(void 0, !1),c=_react.useCallback.call(void 0, ()=>{let i=t.current;if(i)if(e==="vertical"){let d=Math.ceil(i.scrollTop+i.clientHeight),p=Math.floor(i.scrollHeight);o(i.scrollTop>0),r(d<p)}else{let d=Math.ceil(i.scrollLeft+i.clientWidth),p=Math.floor(i.scrollWidth);o(i.scrollLeft>0),r(d<p)}},[e]);return _react.useEffect.call(void 0, ()=>{let i=t.current;if(i)return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)},[c]),{ref:t,showStartShadow:n,showEndShadow:a}}var fr=(e,t)=>F(t).useStore();var yr=(e,t)=>{let n=o=>e(o);return n.displayName=t,n},Rr= exports.splitElement =(e,t)=>{let n={};n.others=[];let o=a=>{_react2.default.Children.forEach(a,r=>{if(_react2.default.isValidElement(r)){let c=r.type.displayName;if(t.includes(c))n[c]=r;else{let i=r;_optionalChain([i, 'access', _155 => _155.props, 'optionalAccess', _156 => _156.children])?o(i.props.children):n.others.push(r)}}else n.others.push(r)})};return o(e),n};exports.BgsCoreProvider = he; exports.DataTypeEnum = pe; exports.HttpMethod = ie; exports.capitalizeWords = Z; exports.createApiHelper = rr; exports.createElement = yr; exports.decrypt = L; exports.decryptString = ne; exports.diffJson = ze; exports.encrypt = I; exports.encryptString = re; exports.generateCacheKey = _; exports.generateUUID = je; exports.getFieldValue = O; exports.isArray = Je; exports.isNotEmpty = q; exports.jsonCopy = _e; exports.labelFormatter = X; exports.mappingUndefinedtoNull = Ve; exports.renderChildren = We; exports.sorting = Ge; exports.splitElement = Rr; exports.stableStringify = ye; exports.summary = Xe; exports.useApiLoad = Pe; exports.useApiSend = ar; exports.useApiStore = fr; exports.useBgsCore = N; exports.useCrypto = M; exports.useDelay = Pt; exports.useFormatted = Kt; exports.useInterval = Bt; exports.useKeyPress = Ht; exports.useScroll = lr; exports.useStorage = oe;
|
package/dist/index.d.cts
CHANGED
|
@@ -351,27 +351,27 @@ type OptionsNumberProps = {
|
|
|
351
351
|
decDigits: number | "auto";
|
|
352
352
|
};
|
|
353
353
|
type OptionsNumber = OptionsNumberProps & {
|
|
354
|
-
dataType: Extract<DataType,
|
|
354
|
+
dataType: Extract<DataType, "number">;
|
|
355
355
|
method?: "round" | "ceil" | "floor";
|
|
356
356
|
};
|
|
357
|
-
type DataTypeDateGroup = Extract<DataType,
|
|
357
|
+
type DataTypeDateGroup = Extract<DataType, "date" | "dateTime" | "month" | "year" | "time">;
|
|
358
358
|
type OptionsDate = {
|
|
359
359
|
dataType: DataTypeDateGroup;
|
|
360
360
|
display: string;
|
|
361
361
|
value: string;
|
|
362
362
|
};
|
|
363
363
|
type OptionsBoolean = {
|
|
364
|
-
dataType: Extract<DataType,
|
|
364
|
+
dataType: Extract<DataType, "boolean">;
|
|
365
365
|
trueLabel?: string;
|
|
366
366
|
falseLabel?: string;
|
|
367
367
|
};
|
|
368
368
|
type OptionsString = {
|
|
369
|
-
dataType: Extract<DataType,
|
|
369
|
+
dataType: Extract<DataType, "string">;
|
|
370
370
|
textTransform?: TextTransform;
|
|
371
371
|
ellipsis?: number;
|
|
372
372
|
};
|
|
373
373
|
type UseFormattedOptions<T extends DataType> = T extends DataTypeEnum.number ? Partial<OptionsNumber> : T extends DataTypeDateGroup ? Partial<OptionsDate> : T extends DataTypeEnum.boolean ? Partial<OptionsBoolean> : T extends DataTypeEnum.string ? Partial<OptionsString> : never;
|
|
374
|
-
type SupportedFormattedType = Extract<DataType,
|
|
374
|
+
type SupportedFormattedType = Extract<DataType, "number" | "date" | "dateTime" | "month" | "year" | "time" | "boolean" | "string">;
|
|
375
375
|
declare const useFormatted: <T extends SupportedFormattedType>(value: unknown, dataType: T, options?: UseFormattedOptions<T>) => string;
|
|
376
376
|
|
|
377
377
|
declare function useInterval<P extends Function>(callback: P, { interval, lead }: {
|
package/dist/index.d.ts
CHANGED
|
@@ -351,27 +351,27 @@ type OptionsNumberProps = {
|
|
|
351
351
|
decDigits: number | "auto";
|
|
352
352
|
};
|
|
353
353
|
type OptionsNumber = OptionsNumberProps & {
|
|
354
|
-
dataType: Extract<DataType,
|
|
354
|
+
dataType: Extract<DataType, "number">;
|
|
355
355
|
method?: "round" | "ceil" | "floor";
|
|
356
356
|
};
|
|
357
|
-
type DataTypeDateGroup = Extract<DataType,
|
|
357
|
+
type DataTypeDateGroup = Extract<DataType, "date" | "dateTime" | "month" | "year" | "time">;
|
|
358
358
|
type OptionsDate = {
|
|
359
359
|
dataType: DataTypeDateGroup;
|
|
360
360
|
display: string;
|
|
361
361
|
value: string;
|
|
362
362
|
};
|
|
363
363
|
type OptionsBoolean = {
|
|
364
|
-
dataType: Extract<DataType,
|
|
364
|
+
dataType: Extract<DataType, "boolean">;
|
|
365
365
|
trueLabel?: string;
|
|
366
366
|
falseLabel?: string;
|
|
367
367
|
};
|
|
368
368
|
type OptionsString = {
|
|
369
|
-
dataType: Extract<DataType,
|
|
369
|
+
dataType: Extract<DataType, "string">;
|
|
370
370
|
textTransform?: TextTransform;
|
|
371
371
|
ellipsis?: number;
|
|
372
372
|
};
|
|
373
373
|
type UseFormattedOptions<T extends DataType> = T extends DataTypeEnum.number ? Partial<OptionsNumber> : T extends DataTypeDateGroup ? Partial<OptionsDate> : T extends DataTypeEnum.boolean ? Partial<OptionsBoolean> : T extends DataTypeEnum.string ? Partial<OptionsString> : never;
|
|
374
|
-
type SupportedFormattedType = Extract<DataType,
|
|
374
|
+
type SupportedFormattedType = Extract<DataType, "number" | "date" | "dateTime" | "month" | "year" | "time" | "boolean" | "string">;
|
|
375
375
|
declare const useFormatted: <T extends SupportedFormattedType>(value: unknown, dataType: T, options?: UseFormattedOptions<T>) => string;
|
|
376
376
|
|
|
377
377
|
declare function useInterval<P extends Function>(callback: P, { interval, lead }: {
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import j from"moment";import{useCallback as Ae,useEffect as N,useMemo as Se,useRef as ae,useState as z}from"react";function je(){let e=()=>Math.random()*16%16|0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function ze(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return!1}}var Ve=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null)}),e);function Je(e,t){let n=!1;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(n=!0):n=!0),n}function q(e){return!(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var X={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let n=e.replace(/_([a-z])/g,(o,a)=>a.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(e="",t=!1)=>{let n="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],n=X.snackCase(X.camelCase(e)),t&&(n=n?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "))}catch{}return n?.trim()}};function We(e,t){return typeof e=="function"?e(t):e}var O=(e,t,n="")=>{if(!e)return n;if(e.hasOwnProperty(t))return e[t];let o=t.replace(/\[(\d+)\]/g,".$1").split("."),a=e;for(let r of o){if(a==null)return n;a=a[r]}return a===void 0?n:a},Ge={desc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(n,t):"";return a<r?1:-1}else return n<o?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(o,t):"";return a>r?1:-1}else return n>o?1:-1}))},Xe=(e,t)=>{Array.isArray(e)||(e=[]);let n=[];return n=e.map(o=>Number(t?O(o,t)||0:o||0)),n.reduce((o,a)=>(o||0)+(a||0),0)||0};function _e(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ye(e){let t=new WeakSet;return JSON.stringify(e,function(n,o){return o!==null&&typeof o=="object"?t.has(o)?void 0:(t.add(o),Object.keys(o).sort().reduce((a,r)=>(a[r]=o[r],a),{})):o})??""}function _(e,t){return ye([t??"undefined",e??"undefined"])}function Z(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}import{createContext as Re,useContext as ge}from"react";import{jsx as be}from"react/jsx-runtime";var Y=Re(void 0);function U(){let e=ge(Y);return e||{}}var he=({children:e,value:t})=>{let n={...t};return be(Y.Provider,{value:n,children:e})};import{useCallback as H,useEffect as xe,useState as De}from"react";import ee from"crypto-js/aes";import te from"crypto-js/pbkdf2";import Te from"crypto-js/enc-utf8";import K from"crypto-js/enc-base64";import Q from"crypto-js/lib-typedarrays";function I(e,t){let n=Q.random(16),o=Q.random(16),a=te(t,n,{keySize:256/32,iterations:1e3}),r=ee.encrypt(JSON.stringify(e),a,{iv:o}).toString();return{salt:n.toString(K),iv:o.toString(K),encrypted:r}}function L(e,t){let{salt:n,iv:o,encrypted:a}=e,r=te(t,K.parse(n),{keySize:256/32,iterations:1e3}),i=ee.decrypt(a,r,{iv:K.parse(o)}).toString(Te);return JSON.parse(i)}function re(e,t){return JSON.stringify(I(e,t))}function ne(e,t){return L(JSON.parse(e),t)}function M(){let{passphrase:e}=U();return{passphrase:e,encrypt(t,n){return I(t,n||e)},decrypt(t,n){return L(t,n||e)},encryptString(t,n){return re(t,n||e)},decryptString(t,n){return ne(t,n||e)}}}var oe=()=>{let{encrypt:e,decrypt:t}=M(),n=H((c,i)=>{try{let d=e(i);localStorage.setItem(c,JSON.stringify(d))}catch(d){console.error("Failed to save to storage:",d)}},[e]),o=H(c=>{try{let i=localStorage.getItem(c);return i?t(JSON.parse(i)):null}catch(i){return console.error("Failed to get from storage:",i),null}},[t]),a=c=>{let[i,d]=De(()=>{try{let p=localStorage.getItem(c);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return xe(()=>{let p=R=>{if(R.key===c)if(R.newValue)try{d(t(JSON.parse(R.newValue)))}catch(S){console.error("Decrypt error from storage event",S)}else d(null)};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[c,t]),i},r=H(c=>{c?localStorage.removeItem(c):localStorage.clear()},[]);return{save:n,get:o,clear:r,useWatchStorage:a}};import{useSyncExternalStore as Ce}from"react";function se(e){let t=e,n=new Set;function o(){return t}function a(i){return n.add(i),()=>n.delete(i)}function r(i){typeof i=="function"?t=i(t):t=i,n.forEach(d=>d())}function c(i){return Ce(a,()=>i?i(t):t,()=>i?i(t):t)}return{getSnapshot:o,subscribe:a,setState:r,useStore:c}}var $=new Map;function F(e){return $.has(e)||$.set(e,se([null,{}])),$.get(e)}function Pe(e,t,n){let o=arguments.length===3,a=o?t:void 0,r=o?n:t,{storageKey:c,cache:i}=U(),d=oe(),[p,R]=z(!1),[S,b]=z(!1),[x,D]=z(),g=ae(void 0),T=ae(null),{cacheName:P,cacheKey:A,timeout:J,timeoutUnit:W,persistence:G}=Se(()=>{let l=c?d.get(c):void 0,s=typeof r?.cache=="object"?r?.cache?.cacheName??e.name:e.name,f=_({...a,session:l},typeof r?.cache=="object"?r?.cache?.cacheKey:void 0),y=!1;typeof i?.persistence=="boolean"&&(y=i?.persistence),typeof r?.cache=="object"&&typeof r?.cache?.persistence=="boolean"&&(y=r?.cache?.persistence??!1);let h=60*5,u="s";return q(i?.timeout)&&(typeof i?.timeout=="number"?(h=i.timeout,u="s"):typeof i?.timeout=="object"&&(h=i?.timeout.value,u=i?.timeout.unit)),r?.cache&&typeof r.cache!="boolean"&&(typeof r.cache.timeout=="number"?(h=r.cache.timeout,u="s"):typeof r.cache.timeout=="object"&&(h=r.cache.timeout.value,u=r.cache.timeout.unit)),{cacheName:s,cacheKey:f,timeout:h,timeoutUnit:u,persistence:y}},[r?.cache,c,i]);N(()=>{let l=JSON.stringify(q(g.current)?g.current:""),s=JSON.stringify(q(a)?a:""),f=g.current===void 0;(l!==s||f)&&!r?.hold&&(D(null),E(),g.current=a),r?.onChange&&r?.onChange(a,m)},[a,r?.hold,...r?.trigger||[]]),N(()=>{let l=async()=>{!G&&P&&A&&(await caches.open(P)).delete(A)};return window.addEventListener("beforeunload",l),()=>{window.removeEventListener("beforeunload",l),T.current?.abort()}},[]);let E=Ae(async l=>{let s=a;if(r?.hold&&r?.logging&&console.log("Hold active"),r?.beforeRequest&&(s=r?.beforeRequest(a)),r?.cache&&!l&&!S){R(!0),r?.onBeforeRequest&&r?.onBeforeRequest(a);let f=await caches.open(P),h=await(await f.match(A))?.json();if(h){let{data:u,expired:w}=h;if(j().isAfter(w))await f.delete(A);else{r?.afterResponse&&u?.data&&(u.data=r?.afterResponse(u.data)),r?.logging&&console.log("After request: Using Cache",u),r?.onAfterResponse&&r?.onAfterResponse(u),R(!1),D(u);return}}}if(typeof e=="function"){T.current?.abort();let f=new AbortController;T.current=f,R(!0),r?.logging&&console.log("Before request",a),r?.onBeforeRequest&&r?.onBeforeRequest(a);let y=o?await e(s,void 0,{...r,signal:f.signal}):await e(void 0,{...r,signal:f.signal});if(r?.afterResponse&&y?.data&&(y.data=r?.afterResponse(y.data)),r?.logging&&console.log("After request",y),r?.onAfterResponse&&r?.onAfterResponse(y),R(!1),D(y),b(!1),r?.cache&&y.status){let h=j().add(J,W).toISOString(),u={data:y,expired:h},w=await caches.open(P),k=new Response(JSON.stringify(u));await w.put(A,k)}}},[a,e,r]);N(()=>{if(r?.refreshInterval){let l=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,s=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,f=setInterval(()=>{E()},j.duration(l,s).asMilliseconds());return()=>clearInterval(f)}return()=>{}},[r?.refreshInterval,E]),N(()=>{if(!r?.refetchOnWindowFocus)return;let l=()=>{E()};return window.addEventListener("focus",l),()=>{window.removeEventListener("focus",l)}},[r?.refetchOnWindowFocus,E]);let m={...x,loading:p,refresh:E,abort:()=>{T.current?.abort(),T.current=null,R(!1),b(!0)},clear:()=>{R(!1),D(null)},response:x,isCancel:S,clone:(l,s)=>Pe(e,l,s)};return N(()=>{r?.storeName&&F(r?.storeName).setState([x?.data,m])},[x,m,r?.storeName]),[x?.data,m]}async function Pt(e,t=()=>{}){let n=e*1e3;return new Promise(o=>{let a=0,r=setInterval(()=>{t(),a===9&&clearInterval(r)},1e3);setTimeout(async()=>{await t(),o(!0)},n)})}import Oe from"moment";var ie=(r=>(r.POST="POST",r.PUT="PUT",r.PATCH="PATCH",r.DELETE="DELETE",r.GET="GET",r))(ie||{}),pe=(s=>(s.number="number",s.currency="currency",s.percent="percent",s.date="date",s.dateTime="dateTime",s.month="month",s.year="year",s.time="time",s.timestamp="timestamp",s.string="string",s.textarea="textarea",s.code="code",s.password="password",s.boolean="boolean",s.toggle="toggle",s.email="email",s.phone="phone",s.url="url",s.json="json",s.file="file",s.image="image",s.array="array",s.object="object",s.enum="enum",s.user="user",s.department="department",s.status="status",s))(pe||{});var Kt=(e,t,n)=>{let{format:o}=U();return t==="number"?Ee(e,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(a=>a===t)?Ue(e,{display:o[t]?.display,value:o[t]?.value,...n}):t==="boolean"?qe(e,n):t==="string"?we(e,n):e?.toString()??""};function qe(e,t){let n=typeof e=="string"?e==="true":!!e,o=t?.trueLabel??"Yes",a=t?.falseLabel??"No";return n?o:a}function we(e,t){if(!q(e))return"";let n=String(e);switch(t?.textTransform){case"capitalize":n=Z(n);break;case"uppercase":n=n.toUpperCase();break;case"lowercase":n=n.toLowerCase();break}return t?.ellipsis&&n.length>t.ellipsis&&(n=n.slice(0,t.ellipsis)+"..."),n}function Ee(e,{thouSep:t,decSep:n,decDigits:o,method:a}){if(e==null||isNaN(Number(e)))return"";let r=typeof e=="string"?parseFloat(e):e;if(a)if(typeof o=="number"){let p=Math.pow(10,o);r=Math[a](r*p)/p}else r=Math[a](r);else if(typeof o=="number"){let p=Math.pow(10,o);r=Math.floor(r*p)/p}let c=0;if(o==="auto"){let p=r.toString(),R=p.indexOf(".");R!==-1&&(c=p.length-R-1)}let i={style:"decimal",useGrouping:!0,minimumFractionDigits:o==="auto"?c:o||0,maximumFractionDigits:o==="auto"?c:o||0,minimumIntegerDigits:1};return r.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,t)}function Ue(e,{display:t,value:n}){if(!q(e))return e;let o=Oe(e,n);return o.isValid()?o.format(t):e}import{useEffect as le,useRef as Ne}from"react";function Bt(e,{interval:t,lead:n}){let o=Ne(null);le(()=>{o.current=e},[e]),le(()=>{let a=()=>o.current();if(n&&a(),t!==null){let r=setInterval(a,t);return()=>clearInterval(r)}},[t])}import{useEffect as ke,useState as ve}from"react";function Ht(e,t,n){let[o,a]=ve(!1),r=(p,R)=>typeof e=="string"&&p===e||typeof e=="number"&&R===e,c=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),i=p=>{let{key:R,keyCode:S}=p,b=p.ctrlKey,x=p.altKey,D=p.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")r(R,S)&&(t==="ctrl"&&b||t==="alt"&&x||t==="shift"&&D)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o));else{let g=t.every(T=>T==="ctrl"?b:T==="alt"?x:T==="shift"?D:!1);r(R,S)&&g&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))}else r(R,S)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))},d=({key:p,keyCode:R})=>{r(p,R)&&a(!1)};return ke(()=>(window.addEventListener("keydown",i),window.addEventListener("keyup",d),()=>{window.removeEventListener("keydown",i),window.removeEventListener("keyup",d)}),[]),o}import Ke from"axios";var rr=({url:e,token:t,beforeRequest:n,onCallback:o,headers:a,onUnauthorized:r,handleToast:c,handleAuthorization:i,disabledToastWhenCancel:d,withCredentials:p,encryptRequest:R,encryptResponse:S,passphrase:b})=>{let{encrypt:x,decrypt:D,passphrase:g}=M(),T=(m,l,s,f)=>{let y=f?.code==="ERR_CANCELED",h=m.status===401,u=m?.data;if((typeof s?.encryptResponse=="boolean"?s?.encryptResponse:S)&&u){let v=s?.passphrase?typeof s.passphrase=="boolean"&&s.passphrase?g:s.passphrase:b;try{u=D(u,v)}catch{try{u=D(u,g)}catch{}}}let C={...o({...m,data:u,isCancel:y,isUnauthorization:h},f),isCancel:y,isUnauthorization:h,httpCode:m.status},B=typeof s?.disabledToastWhenCancel=="boolean"?s?.disabledToastWhenCancel:d,me=i?i(C,s):!h;if((s?.infoSuccess&&C.status||s?.infoError&&!C.status)&&c&&(!y||!B)&&c(C),!me&&(!y||!s?.disabledHandleUnauthorized)){let v=s?.onUnauthorized||r;v&&v(C)}if(l)l(C);else return C},P=(m,l=()=>{})=>Ke.create({baseURL:`${e}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:p})(m).then(l).catch(f=>l(f.response,f)),A=(m,l,s,f,y)=>{let u={...{token:!0,infoError:!0,infoSuccess:!0,responseType:"json"},...y},w={"Content-Type":"application/json",...a,...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(w.Authorization=`Bearer ${t}`):u.token&&(w.Authorization=`Bearer ${u.token}`)),n&&(s=n(s)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:R)&&s){let C=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?g:y.passphrase:b;s=x(s,C)}return P({url:l,method:m,data:s,headers:w,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:C=>{u?.onUploadProgress&&u?.onUploadProgress(C)}},(C,B)=>T(C,f,u,B))};return{client:P,post:(m,l,s,f)=>A("POST",`${m}`,l,s,f),put:(m,l,s,f)=>A("PUT",`${m}`,l,s,f),patch:(m,l,s,f)=>A("PATCH",`${m}`,l,s,f),delete:(m,l,s)=>A("DELETE",`${m}`,null,l,s),get:(m,l,s)=>A("GET",`${m}`,null,l,s),upload:(m,l,s,f)=>{let y=new FormData;return Object.keys(l).forEach(h=>y.append(h,l[h])),A("POST",`${m}`,y,s,{infoSuccess:!1,...f,headers:{"Content-Type":"multipart/form-data",...f?.headers}})}}};import{useEffect as Me,useRef as Fe,useState as V}from"react";function ar(e,t){let[n,o]=V(!1),[a,r]=V(),[c,i]=V(0),d=Fe(null);return Me(()=>{if(t?.abortOnUnmount)return()=>{d.current?.abort()}},[]),[async b=>{d.current?.abort();let x=new AbortController;d.current=x,o(!0),t?.beforeRequest&&(b=t?.beforeRequest(b)),t?.logging&&console.log("Before request",b);let D={...t,signal:x.signal,onUploadProgress:T=>{let P=Math.round(T.loaded*100/(T.total||1));i(P)}},g=q(b)?await e(b,void 0,D):await e(void 0,D);t?.logging&&console.log("After response",g),r(g),o(!1),i(0),g.status&&t?.onSuccess&&t?.onSuccess(g),!g.status&&t?.onError&&t?.onError(g),t?.afterResponse&&t?.afterResponse(g)},{...a,loading:n,abort:()=>{d.current?.abort(),d.current=null,o(!1),i(0)},progress:c,reset:()=>{o(!1),i(0),r(null)}}]}import{useCallback as Be,useEffect as Ie,useRef as Le,useState as ce}from"react";function lr(e="vertical"){let t=Le(null),[n,o]=ce(!1),[a,r]=ce(!1),c=Be(()=>{let i=t.current;if(i)if(e==="vertical"){let d=Math.ceil(i.scrollTop+i.clientHeight),p=Math.floor(i.scrollHeight);o(i.scrollTop>0),r(d<p)}else{let d=Math.ceil(i.scrollLeft+i.clientWidth),p=Math.floor(i.scrollWidth);o(i.scrollLeft>0),r(d<p)}},[e]);return Ie(()=>{let i=t.current;if(i)return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)},[c]),{ref:t,showStartShadow:n,showEndShadow:a}}var fr=(e,t)=>F(t).useStore();import ue from"react";var yr=(e,t)=>{let n=o=>e(o);return n.displayName=t,n},Rr=(e,t)=>{let n={};n.others=[];let o=a=>{ue.Children.forEach(a,r=>{if(ue.isValidElement(r)){let c=r.type.displayName;if(t.includes(c))n[c]=r;else{let i=r;i.props?.children?o(i.props.children):n.others.push(r)}}else n.others.push(r)})};return o(e),n};export{he as BgsCoreProvider,pe as DataTypeEnum,ie as HttpMethod,Z as capitalizeWords,rr as createApiHelper,yr as createElement,L as decrypt,ne as decryptString,ze as diffJson,I as encrypt,re as encryptString,_ as generateCacheKey,je as generateUUID,O as getFieldValue,Je as isArray,q as isNotEmpty,_e as jsonCopy,X as labelFormatter,Ve as mappingUndefinedtoNull,We as renderChildren,Ge as sorting,Rr as splitElement,ye as stableStringify,Xe as summary,Pe as useApiLoad,ar as useApiSend,fr as useApiStore,U as useBgsCore,M as useCrypto,Pt as useDelay,Kt as useFormatted,Bt as useInterval,Ht as useKeyPress,lr as useScroll,oe as useStorage};
|
|
1
|
+
import j from"moment";import{useCallback as Ae,useEffect as k,useMemo as Se,useRef as ae,useState as z}from"react";function je(){let e=()=>Math.random()*16%16|0;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>(t==="x"?e():e()&3|8).toString(16))}function ze(e,t){try{return JSON.stringify(e)!==JSON.stringify(t)}catch{return!1}}var Ve=e=>(Object.keys(e).forEach(t=>{e[t]===void 0&&(e[t]=null)}),e);function Je(e,t){let n=!1;return e&&typeof e=="object"&&Array.isArray(e)&&(typeof t=="number"?e.length>t&&(n=!0):n=!0),n}function q(e){return!(e==null||typeof e=="string"&&e.trim()===""||Array.isArray(e)&&e.length===0||typeof e=="object"&&e!==null&&!Array.isArray(e)&&Object.keys(e).length===0)}var X={camelCase:(e="")=>(e=e.split(".").map(t=>(t=t.charAt(0).toUpperCase()+t.slice(1),t)).join(" "),e=e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),e.charAt(0).toUpperCase()+e.slice(1)),snackCase:(e="")=>{let n=e.replace(/_([a-z])/g,(o,a)=>a.toUpperCase()).replace(/([A-Z])/g," $1");return n=n.charAt(0).toUpperCase()+n.slice(1),n},changeAll:(e="",t=!1)=>{let n="";try{e=e?.split(".")[e?.split(".")?.length-1],e=e?.split("[]")[e?.split("[]")?.length-1],n=X.snackCase(X.camelCase(e)),t&&(n=n?.split(" ")?.map(o=>o?.length<=3?o?.toUpperCase():o)?.join(" "))}catch{}return n?.trim()}};function We(e,t){return typeof e=="function"?e(t):e}var O=(e,t,n="")=>{if(!e)return n;if(e.hasOwnProperty(t))return e[t];let o=t.replace(/\[(\d+)\]/g,".$1").split("."),a=e;for(let r of o){if(a==null)return n;a=a[r]}return a===void 0?n:a},Ge={desc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(n,t):"";return a<r?1:-1}else return n<o?1:-1})),asc:(e,t)=>(e||(e=[]),e.sort((n,o)=>{if(t){let a=O(n,t)?O(n,t):"",r=O(o,t)?O(o,t):"";return a>r?1:-1}else return n>o?1:-1}))},Xe=(e,t)=>{Array.isArray(e)||(e=[]);let n=[];return n=e.map(o=>Number(t?O(o,t)||0:o||0)),n.reduce((o,a)=>(o||0)+(a||0),0)||0};function _e(e){try{return e&&JSON.parse(JSON.stringify(e))}catch{return e}}function ye(e){let t=new WeakSet;return JSON.stringify(e,function(n,o){return o!==null&&typeof o=="object"?t.has(o)?void 0:(t.add(o),Object.keys(o).sort().reduce((a,r)=>(a[r]=o[r],a),{})):o})??""}function _(e,t){return ye([t??"undefined",e??"undefined"])}function Z(e=""){return typeof e!="string"&&(e=""),e.replace(/\b\w/g,t=>t.toUpperCase())}import{createContext as Re,useContext as ge}from"react";import{jsx as be}from"react/jsx-runtime";var Y=Re(void 0);function N(){let e=ge(Y);return e||{}}var he=({children:e,value:t})=>{let n={...t};return be(Y.Provider,{value:n,children:e})};import{useCallback as H,useEffect as Te,useState as Ce}from"react";import ee from"crypto-js/aes";import te from"crypto-js/pbkdf2";import xe from"crypto-js/enc-utf8";import K from"crypto-js/enc-base64";import Q from"crypto-js/lib-typedarrays";function I(e,t){let n=Q.random(16),o=Q.random(16),a=te(t,n,{keySize:256/32,iterations:1e3}),r=ee.encrypt(JSON.stringify(e),a,{iv:o}).toString();return{salt:n.toString(K),iv:o.toString(K),encrypted:r}}function L(e,t){let{salt:n,iv:o,encrypted:a}=e,r=te(t,K.parse(n),{keySize:256/32,iterations:1e3}),i=ee.decrypt(a,r,{iv:K.parse(o)}).toString(xe);return JSON.parse(i)}function re(e,t){return JSON.stringify(I(e,t))}function ne(e,t){return L(JSON.parse(e),t)}function M(){let{passphrase:e}=N();return{passphrase:e,encrypt(t,n){return I(t,n||e)},decrypt(t,n){return L(t,n||e)},encryptString(t,n){return re(t,n||e)},decryptString(t,n){return ne(t,n||e)}}}var oe=()=>{let{encrypt:e,decrypt:t}=M(),n=H((c,i)=>{try{let d=e(i);localStorage.setItem(c,JSON.stringify(d))}catch(d){console.error("Failed to save to storage:",d)}},[e]),o=H(c=>{try{let i=localStorage.getItem(c);return i?t(JSON.parse(i)):null}catch(i){return console.error("Failed to get from storage:",i),null}},[t]),a=c=>{let[i,d]=Ce(()=>{try{let p=localStorage.getItem(c);return p?t(JSON.parse(p)):null}catch(p){return console.error("Failed to parse localStorage value",p),null}});return Te(()=>{let p=R=>{if(R.key===c)if(R.newValue)try{d(t(JSON.parse(R.newValue)))}catch(S){console.error("Decrypt error from storage event",S)}else d(null)};return window.addEventListener("storage",p),()=>window.removeEventListener("storage",p)},[c,t]),i},r=H(c=>{c?localStorage.removeItem(c):localStorage.clear()},[]);return{save:n,get:o,clear:r,useWatchStorage:a}};import{useSyncExternalStore as De}from"react";function se(e){let t=e,n=new Set;function o(){return t}function a(i){return n.add(i),()=>n.delete(i)}function r(i){typeof i=="function"?t=i(t):t=i,n.forEach(d=>d())}function c(i){return De(a,()=>i?i(t):t,()=>i?i(t):t)}return{getSnapshot:o,subscribe:a,setState:r,useStore:c}}var $=new Map;function F(e){return $.has(e)||$.set(e,se([null,{}])),$.get(e)}function Pe(e,t,n){let o=arguments.length===3,a=o?t:void 0,r=o?n:t,{storageKey:c,cache:i}=N(),d=oe(),[p,R]=z(!1),[S,b]=z(!1),[T,C]=z(),g=ae(void 0),x=ae(null),{cacheName:P,cacheKey:A,timeout:J,timeoutUnit:W,persistence:G}=Se(()=>{let l=c?d.get(c):void 0,s=typeof r?.cache=="object"?r?.cache?.cacheName??e.name:e.name,f=_({...a,session:l},typeof r?.cache=="object"?r?.cache?.cacheKey:void 0),y=!1;typeof i?.persistence=="boolean"&&(y=i?.persistence),typeof r?.cache=="object"&&typeof r?.cache?.persistence=="boolean"&&(y=r?.cache?.persistence??!1);let h=60*5,u="s";return q(i?.timeout)&&(typeof i?.timeout=="number"?(h=i.timeout,u="s"):typeof i?.timeout=="object"&&(h=i?.timeout.value,u=i?.timeout.unit)),r?.cache&&typeof r.cache!="boolean"&&(typeof r.cache.timeout=="number"?(h=r.cache.timeout,u="s"):typeof r.cache.timeout=="object"&&(h=r.cache.timeout.value,u=r.cache.timeout.unit)),{cacheName:s,cacheKey:f,timeout:h,timeoutUnit:u,persistence:y}},[r?.cache,c,i]);k(()=>{let l=JSON.stringify(q(g.current)?g.current:""),s=JSON.stringify(q(a)?a:""),f=g.current===void 0;(l!==s||f)&&!r?.hold&&(C(null),U(),g.current=a),r?.onChange&&r?.onChange(a,m)},[a,r?.hold,...r?.trigger||[]]),k(()=>{let l=async()=>{!G&&P&&A&&(await caches.open(P)).delete(A)};return window.addEventListener("beforeunload",l),()=>{window.removeEventListener("beforeunload",l),x.current?.abort()}},[]);let U=Ae(async l=>{let s=a;if(r?.hold&&r?.logging&&console.log("Hold active"),r?.beforeRequest&&(s=r?.beforeRequest(a)),r?.cache&&!l&&!S){R(!0),r?.onBeforeRequest&&r?.onBeforeRequest(a);let f=await caches.open(P),h=await(await f.match(A))?.json();if(h){let{data:u,expired:w}=h;if(j().isAfter(w))await f.delete(A);else{r?.afterResponse&&u?.data&&(u.data=r?.afterResponse(u.data)),r?.logging&&console.log("After request: Using Cache",u),r?.onAfterResponse&&r?.onAfterResponse(u),R(!1),C(u);return}}}if(typeof e=="function"){x.current?.abort();let f=new AbortController;x.current=f,R(!0),r?.logging&&console.log("Before request",a),r?.onBeforeRequest&&r?.onBeforeRequest(a);let y=o?await e(s,void 0,{...r,signal:f.signal}):await e(void 0,{...r,signal:f.signal});if(r?.afterResponse&&y?.data&&(y.data=r?.afterResponse(y.data)),r?.logging&&console.log("After request",y),r?.onAfterResponse&&r?.onAfterResponse(y),R(!1),C(y),b(!1),r?.cache&&y.status){let h=j().add(J,W).toISOString(),u={data:y,expired:h},w=await caches.open(P),E=new Response(JSON.stringify(u));await w.put(A,E)}}},[a,e,r]);k(()=>{if(r?.refreshInterval){let l=typeof r.refreshInterval=="number"?r.refreshInterval:r.refreshInterval.value,s=typeof r.refreshInterval=="number"?"s":r.refreshInterval.unit,f=setInterval(()=>{U()},j.duration(l,s).asMilliseconds());return()=>clearInterval(f)}return()=>{}},[r?.refreshInterval,U]),k(()=>{if(!r?.refetchOnWindowFocus)return;let l=()=>{U()};return window.addEventListener("focus",l),()=>{window.removeEventListener("focus",l)}},[r?.refetchOnWindowFocus,U]);let m={...T,loading:p,refresh:U,abort:()=>{x.current?.abort(),x.current=null,R(!1),b(!0)},clear:()=>{R(!1),C(null)},response:T,isCancel:S,clone:(l,s)=>Pe(e,l,s)};return k(()=>{r?.storeName&&F(r?.storeName).setState([T?.data,m])},[T,m,r?.storeName]),[T?.data,m]}async function Pt(e,t=()=>{}){let n=e*1e3;return new Promise(o=>{let a=0,r=setInterval(()=>{t(),a===9&&clearInterval(r)},1e3);setTimeout(async()=>{await t(),o(!0)},n)})}import Oe from"moment";var ie=(r=>(r.POST="POST",r.PUT="PUT",r.PATCH="PATCH",r.DELETE="DELETE",r.GET="GET",r))(ie||{}),pe=(s=>(s.number="number",s.currency="currency",s.percent="percent",s.date="date",s.dateTime="dateTime",s.month="month",s.year="year",s.time="time",s.timestamp="timestamp",s.string="string",s.textarea="textarea",s.code="code",s.password="password",s.boolean="boolean",s.toggle="toggle",s.email="email",s.phone="phone",s.url="url",s.json="json",s.file="file",s.image="image",s.array="array",s.object="object",s.enum="enum",s.user="user",s.department="department",s.status="status",s))(pe||{});var Kt=(e,t,n)=>{let{format:o}=N();return t==="number"?Ue(e,{thouSep:o.number.thouSep,decDigits:o.number.decDigits,decSep:o.number.decSep,...n}):["date","dateTime","month","year","time"].some(a=>a===t)?Ne(e,{display:o[t]?.display,value:o[t]?.value,...n}):t==="boolean"?qe(e,n):t==="string"?we(e,n):e?.toString()??""};function qe(e,t){let n=typeof e=="string"?e==="true":!!e,o=t?.trueLabel??"Yes",a=t?.falseLabel??"No";return n?o:a}function we(e,t){if(!q(e))return"";let n=String(e);switch(t?.textTransform){case"capitalize":n=Z(n);break;case"uppercase":n=n.toUpperCase();break;case"lowercase":n=n.toLowerCase();break}return t?.ellipsis&&n.length>t.ellipsis&&(n=n.slice(0,t.ellipsis)+"..."),n}function Ue(e,{thouSep:t,decSep:n,decDigits:o,method:a}){if(e==null||isNaN(Number(e)))return"";let r=typeof e=="string"?parseFloat(e):e;if(a)if(typeof o=="number"){let p=Math.pow(10,o);r=Math[a](r*p)/p}else r=Math[a](r);else if(typeof o=="number"){let p=Math.pow(10,o);r=Math.floor(r*p)/p}let c=0;if(o==="auto"){let p=r.toString(),R=p.indexOf(".");R!==-1&&(c=p.length-R-1)}let i={style:"decimal",useGrouping:!0,minimumFractionDigits:o==="auto"?c:o||0,maximumFractionDigits:o==="auto"?c:o||0,minimumIntegerDigits:1};return r.toLocaleString("en-US",i).replace(/\./g,"decSep").replace(/,/g,"thouSep").replace(/decSep/g,n).replace(/thouSep/g,t)}function Ne(e,{display:t,value:n}){if(!q(e))return e;let o=Oe(e,n);return o.isValid()?o.format(t):e}import{useEffect as le,useRef as ke}from"react";function Bt(e,{interval:t,lead:n}){let o=ke(null);le(()=>{o.current=e},[e]),le(()=>{let a=()=>o.current();if(n&&a(),t!==null){let r=setInterval(a,t);return()=>clearInterval(r)}},[t])}import{useEffect as Ee,useState as ve}from"react";function Ht(e,t,n){let[o,a]=ve(!1),r=(p,R)=>typeof e=="string"&&p===e||typeof e=="number"&&R===e,c=p=>p!==null&&(["INPUT","TEXTAREA","SELECT","BUTTON"].includes(p.tagName)||p.hasAttribute("contentEditable")),i=p=>{let{key:R,keyCode:S}=p,b=p.ctrlKey,T=p.altKey,C=p.shiftKey;if(!c(document.activeElement))if(t)if(typeof t=="string")r(R,S)&&(t==="ctrl"&&b||t==="alt"&&T||t==="shift"&&C)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o));else{let g=t.every(x=>x==="ctrl"?b:x==="alt"?T:x==="shift"?C:!1);r(R,S)&&g&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))}else r(R,S)&&(p.preventDefault(),n&&p.stopPropagation(),a(!o))},d=({key:p,keyCode:R})=>{r(p,R)&&a(!1)};return Ee(()=>(window.addEventListener("keydown",i),window.addEventListener("keyup",d),()=>{window.removeEventListener("keydown",i),window.removeEventListener("keyup",d)}),[]),o}import Ke from"axios";var rr=({url:e,token:t,beforeRequest:n,onCallback:o,headers:a,onUnauthorized:r,handleToast:c,handleAuthorization:i,disabledToastWhenCancel:d,withCredentials:p,encryptRequest:R,encryptResponse:S,passphrase:b})=>{let{encrypt:T,decrypt:C,passphrase:g}=M(),x=(m,l,s,f)=>{let y=f?.code==="ERR_CANCELED",h=m.status===401,u=m?.data;if((typeof s?.encryptResponse=="boolean"?s?.encryptResponse:S)&&u){let v=s?.passphrase?typeof s.passphrase=="boolean"&&s.passphrase?g:s.passphrase:b;try{u=C(u,v)}catch{try{u=C(u,g)}catch{}}}let D={...o({...m,data:u,isCancel:y,isUnauthorization:h},f),isCancel:y,isUnauthorization:h,httpCode:m.status},B=typeof s?.disabledToastWhenCancel=="boolean"?s?.disabledToastWhenCancel:d,me=i?i(D,s):!h;if((s?.infoSuccess&&D.status||s?.infoError&&!D.status)&&c&&(!y||!B)&&c(D),!me&&(!y||!s?.disabledHandleUnauthorized)){let v=s?.onUnauthorized||r;v&&v(D)}if(l)l(D);else return D},P=(m,l=()=>{})=>Ke.create({baseURL:`${e}`,withCredentials:typeof m.withCredentials=="boolean"?m.withCredentials:p})(m).then(l).catch(f=>l(f.response,f)),A=(m,l,s,f,y)=>{let u={...{token:!0,infoError:!0,infoSuccess:!0,responseType:"json"},...y},w={"Content-Type":"application/json",...a,...u.headers};if(u.token&&(typeof u.token=="boolean"?t&&(w.Authorization=`Bearer ${t}`):u.token&&(w.Authorization=`Bearer ${u.token}`)),n&&(s=n(s)),(typeof u?.encryptRequest=="boolean"?u?.encryptRequest:R)&&s){let D=y?.passphrase?typeof y.passphrase=="boolean"&&y.passphrase?g:y.passphrase:b;s=T(s,D)}return P({url:l,method:m,data:s,headers:w,responseType:u.responseType,signal:u.signal,withCredentials:u.withCredentials,onUploadProgress:D=>{u?.onUploadProgress&&u?.onUploadProgress(D)}},(D,B)=>x(D,f,u,B))};return{client:P,post:(m,l,s,f)=>A("POST",`${m}`,l,s,f),put:(m,l,s,f)=>A("PUT",`${m}`,l,s,f),patch:(m,l,s,f)=>A("PATCH",`${m}`,l,s,f),delete:(m,l,s)=>A("DELETE",`${m}`,null,l,s),get:(m,l,s)=>A("GET",`${m}`,null,l,s),upload:(m,l,s,f)=>{let y=new FormData;return Object.keys(l).forEach(h=>y.append(h,l[h])),A("POST",`${m}`,y,s,{infoSuccess:!1,...f,headers:{"Content-Type":"multipart/form-data",...f?.headers}})}}};import{useEffect as Me,useRef as Fe,useState as V}from"react";function ar(e,t){let[n,o]=V(!1),[a,r]=V(),[c,i]=V(0),d=Fe(null);return Me(()=>{if(t?.abortOnUnmount)return()=>{d.current?.abort()}},[]),[async b=>{d.current?.abort();let T=new AbortController;d.current=T,o(!0),t?.beforeRequest&&(b=t?.beforeRequest(b)),t?.logging&&console.log("Before request",b);let C={...t,signal:T.signal,onUploadProgress:x=>{let P=Math.round(x.loaded*100/(x.total||1));i(P)}},g=q(b)?await e(b,void 0,C):await e(void 0,C);t?.logging&&console.log("After response",g),r(g),o(!1),i(0),g.status&&t?.onSuccess&&t?.onSuccess(g),!g.status&&t?.onError&&t?.onError(g),t?.afterResponse&&t?.afterResponse(g)},{...a,loading:n,abort:()=>{d.current?.abort(),d.current=null,o(!1),i(0)},progress:c,reset:()=>{o(!1),i(0),r(null)}}]}import{useCallback as Be,useEffect as Ie,useRef as Le,useState as ce}from"react";function lr(e="vertical"){let t=Le(null),[n,o]=ce(!1),[a,r]=ce(!1),c=Be(()=>{let i=t.current;if(i)if(e==="vertical"){let d=Math.ceil(i.scrollTop+i.clientHeight),p=Math.floor(i.scrollHeight);o(i.scrollTop>0),r(d<p)}else{let d=Math.ceil(i.scrollLeft+i.clientWidth),p=Math.floor(i.scrollWidth);o(i.scrollLeft>0),r(d<p)}},[e]);return Ie(()=>{let i=t.current;if(i)return c(),i.addEventListener("scroll",c),()=>i.removeEventListener("scroll",c)},[c]),{ref:t,showStartShadow:n,showEndShadow:a}}var fr=(e,t)=>F(t).useStore();import ue from"react";var yr=(e,t)=>{let n=o=>e(o);return n.displayName=t,n},Rr=(e,t)=>{let n={};n.others=[];let o=a=>{ue.Children.forEach(a,r=>{if(ue.isValidElement(r)){let c=r.type.displayName;if(t.includes(c))n[c]=r;else{let i=r;i.props?.children?o(i.props.children):n.others.push(r)}}else n.others.push(r)})};return o(e),n};export{he as BgsCoreProvider,pe as DataTypeEnum,ie as HttpMethod,Z as capitalizeWords,rr as createApiHelper,yr as createElement,L as decrypt,ne as decryptString,ze as diffJson,I as encrypt,re as encryptString,_ as generateCacheKey,je as generateUUID,O as getFieldValue,Je as isArray,q as isNotEmpty,_e as jsonCopy,X as labelFormatter,Ve as mappingUndefinedtoNull,We as renderChildren,Ge as sorting,Rr as splitElement,ye as stableStringify,Xe as summary,Pe as useApiLoad,ar as useApiSend,fr as useApiStore,N as useBgsCore,M as useCrypto,Pt as useDelay,Kt as useFormatted,Bt as useInterval,Ht as useKeyPress,lr as useScroll,oe as useStorage};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bgscore/react-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.8",
|
|
4
4
|
"description": "A React utility library that provides advanced API hooks (fetch, mutation, caching). Built for scalable and flexible data handling in modern React applications.",
|
|
5
5
|
"main": "dist/index.cjs",
|
|
6
6
|
"module": "dist/index.js",
|