datastake-daf 0.6.485 → 0.6.486

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.
@@ -12340,8 +12340,8 @@ var unitlessKeys = {
12340
12340
 
12341
12341
  var f="undefined"!=typeof process&&void 0!==process.env&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",m="active",y="data-styled-version",v="6.1.12",g="/*!sc*/\n",S="undefined"!=typeof window&&"HTMLElement"in window,w=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!==process.env.NODE_ENV),E=/invalid hook call/i,N=new Set,P=function(t,n){if("production"!==process.env.NODE_ENV){var o=n?' with the id of "'.concat(n,'"'):"",s="The component ".concat(t).concat(o," has been created dynamically.\n")+"You may see this warning because you've called styled inside another component.\nTo resolve this only create new StyledComponents outside of any render method and function component.",i=console.error;try{var a=!0;console.error=function(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];E.test(t)?(a=!1,N.delete(s)):i.apply(void 0,__spreadArray([t],n,!1));},React.useRef(),a&&!N.has(s)&&(console.warn(s),N.add(s));}catch(e){E.test(e.message)&&N.delete(s);}finally{console.error=i;}}},_=Object.freeze([]),C=Object.freeze({});function I(e,t,n){return void 0===n&&(n=C),e.theme!==n.theme&&e.theme||t||n.theme}var A=new Set(["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","use","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","tspan"]),O=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,D=/(^-|-$)/g;function R(e){return e.replace(O,"-").replace(D,"")}var T=/(a)(d)/gi,k=52,j=function(e){return String.fromCharCode(e+(e>25?39:97))};function x(e){var t,n="";for(t=Math.abs(e);t>k;t=t/k|0)n=j(t%k)+n;return (j(t%k)+n).replace(T,"$1-$2")}var V,F=5381,M=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},z=function(e){return M(F,e)};function $(e){return x(z(e)>>>0)}function B(e){return "production"!==process.env.NODE_ENV&&"string"==typeof e&&e||e.displayName||e.name||"Component"}function L$1(e){return "string"==typeof e&&("production"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var G="function"==typeof Symbol&&Symbol.for,Y=G?Symbol.for("react.memo"):60115,W=G?Symbol.for("react.forward_ref"):60112,q={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},H={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},U={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},J=((V={})[W]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},V[Y]=U,V);function X(e){return ("type"in(t=e)&&t.type.$$typeof)===Y?U:"$$typeof"in e?J[e.$$typeof]:q;var t;}var Z=Object.defineProperty,K=Object.getOwnPropertyNames,Q=Object.getOwnPropertySymbols,ee=Object.getOwnPropertyDescriptor,te=Object.getPrototypeOf,ne=Object.prototype;function oe(e,t,n){if("string"!=typeof t){if(ne){var o=te(t);o&&o!==ne&&oe(e,o,n);}var r=K(t);Q&&(r=r.concat(Q(t)));for(var s=X(e),i=X(t),a=0;a<r.length;++a){var c=r[a];if(!(c in H||n&&n[c]||i&&c in i||s&&c in s)){var l=ee(t,c);try{Z(e,c,l);}catch(e){}}}}return e}function re(e){return "function"==typeof e}function se(e){return "object"==typeof e&&"styledComponentId"in e}function ie(e,t){return e&&t?"".concat(e," ").concat(t):e||t||""}function ae(e,t){if(0===e.length)return "";for(var n=e[0],o=1;o<e.length;o++)n+=t?t+e[o]:e[o];return n}function ce(e){return null!==e&&"object"==typeof e&&e.constructor.name===Object.name&&!("props"in e&&e.$$typeof)}function le(e,t,n){if(void 0===n&&(n=!1),!n&&!ce(e)&&!Array.isArray(e))return t;if(Array.isArray(t))for(var o=0;o<t.length;o++)e[o]=le(e[o],t[o]);else if(ce(t))for(var o in t)e[o]=le(e[o],t[o]);return e}function ue(e,t){Object.defineProperty(e,"toString",{value:t});}var pe="production"!==process.env.NODE_ENV?{1:"Cannot create styled-component for component: %s.\n\n",2:"Can't collect styles once you've consumed a `ServerStyleSheet`'s styles! `ServerStyleSheet` is a one off instance for each server-side render cycle.\n\n- Are you trying to reuse it across renders?\n- Are you accidentally calling collectStyles twice?\n\n",3:"Streaming SSR is only supported in a Node.js environment; Please do not try to call this method in the browser.\n\n",4:"The `StyleSheetManager` expects a valid target or sheet prop!\n\n- Does this error occur on the client and is your target falsy?\n- Does this error occur on the server and is the sheet falsy?\n\n",5:"The clone method cannot be used on the client!\n\n- Are you running in a client-like environment on the server?\n- Are you trying to run SSR on the client?\n\n",6:"Trying to insert a new style tag, but the given Node is unmounted!\n\n- Are you using a custom target that isn't mounted?\n- Does your document not have a valid head element?\n- Have you accidentally removed a style tag manually?\n\n",7:'ThemeProvider: Please return an object from your "theme" prop function, e.g.\n\n```js\ntheme={() => ({})}\n```\n\n',8:'ThemeProvider: Please make your "theme" prop an object.\n\n',9:"Missing document `<head>`\n\n",10:"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\n\n",11:"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\n\n",12:"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\`\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\n\n",13:"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\n\n",14:'ThemeProvider: "theme" prop is required.\n\n',15:"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to `<StyleSheetManager stylisPlugins={[]}>`, please make sure each plugin is uniquely-named, e.g.\n\n```js\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\n```\n\n",16:"Reached the limit of how many styled components may be created at group %s.\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\nas for instance in your render method then you may be running into this limitation.\n\n",17:"CSSStyleSheet could not be found on HTMLStyleElement.\nHas styled-components' style tag been unmounted or altered by another script?\n",18:"ThemeProvider: Please make sure your useTheme hook is within a `<ThemeProvider>`"}:{};function de(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n=e[0],o=[],r=1,s=e.length;r<s;r+=1)o.push(e[r]);return o.forEach(function(e){n=n.replace(/%[a-z]/,e);}),n}function he(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return "production"===process.env.NODE_ENV?new Error("An error occurred. See https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#".concat(t," for more information.").concat(n.length>0?" Args: ".concat(n.join(", ")):"")):new Error(de.apply(void 0,__spreadArray([pe[t]],n,!1)).trim())}var fe=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e;}return e.prototype.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},e.prototype.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,o=n.length,r=o;e>=r;)if((r<<=1)<0)throw he(16,"".concat(e));this.groupSizes=new Uint32Array(r),this.groupSizes.set(n),this.length=r;for(var s=o;s<r;s++)this.groupSizes[s]=0;}for(var i=this.indexOfGroup(e+1),a=(s=0,t.length);s<a;s++)this.tag.insertRule(i,t[s])&&(this.groupSizes[e]++,i++);},e.prototype.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),o=n+t;this.groupSizes[e]=0;for(var r=n;r<o;r++)this.tag.deleteRule(n);}},e.prototype.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],o=this.indexOfGroup(e),r=o+n,s=o;s<r;s++)t+="".concat(this.tag.getRule(s)).concat(g);return t},e}(),me=1<<30,ye=new Map,ve=new Map,ge=1,Se=function(e){if(ye.has(e))return ye.get(e);for(;ve.has(ge);)ge++;var t=ge++;if("production"!==process.env.NODE_ENV&&((0|t)<0||t>me))throw he(16,"".concat(t));return ye.set(e,t),ve.set(t,e),t},we=function(e,t){ge=t+1,ye.set(e,t),ve.set(t,e);},be="style[".concat(f,"][").concat(y,'="').concat(v,'"]'),Ee=new RegExp("^".concat(f,'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)')),Ne=function(e,t,n){for(var o,r=n.split(","),s=0,i=r.length;s<i;s++)(o=r[s])&&e.registerName(t,o);},Pe=function(e,t){for(var n,o=(null!==(n=t.textContent)&&void 0!==n?n:"").split(g),r=[],s=0,i=o.length;s<i;s++){var a=o[s].trim();if(a){var c=a.match(Ee);if(c){var l=0|parseInt(c[1],10),u=c[2];0!==l&&(we(u,l),Ne(e,u,c[3]),e.getTag().insertRules(l,r)),r.length=0;}else r.push(a);}}},_e=function(e){for(var t=document.querySelectorAll(be),n=0,o=t.length;n<o;n++){var r=t[n];r&&r.getAttribute(f)!==m&&(Pe(e,r),r.parentNode&&r.parentNode.removeChild(r));}};function Ce(){return "undefined"!=typeof __webpack_nonce__?__webpack_nonce__:null}var Ie=function(e){var t=document.head,n=e||t,o=document.createElement("style"),r=function(e){var t=Array.from(e.querySelectorAll("style[".concat(f,"]")));return t[t.length-1]}(n),s=void 0!==r?r.nextSibling:null;o.setAttribute(f,m),o.setAttribute(y,v);var i=Ce();return i&&o.setAttribute("nonce",i),n.insertBefore(o,s),o},Ae=function(){function e(e){this.element=Ie(e),this.element.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,o=t.length;n<o;n++){var r=t[n];if(r.ownerNode===e)return r}throw he(17)}(this.element),this.length=0;}return e.prototype.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return !1}},e.prototype.deleteRule=function(e){this.sheet.deleteRule(e),this.length--;},e.prototype.getRule=function(e){var t=this.sheet.cssRules[e];return t&&t.cssText?t.cssText:""},e}(),Oe=function(){function e(e){this.element=Ie(e),this.nodes=this.element.childNodes,this.length=0;}return e.prototype.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t);return this.element.insertBefore(n,this.nodes[e]||null),this.length++,!0}return !1},e.prototype.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--;},e.prototype.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),De=function(){function e(e){this.rules=[],this.length=0;}return e.prototype.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},e.prototype.deleteRule=function(e){this.rules.splice(e,1),this.length--;},e.prototype.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),Re=S,Te={isServer:!S,useCSSOMInjection:!w},ke=function(){function e(e,n,o){void 0===e&&(e=C),void 0===n&&(n={});var r=this;this.options=__assign(__assign({},Te),e),this.gs=n,this.names=new Map(o),this.server=!!e.isServer,!this.server&&S&&Re&&(Re=!1,_e(this)),ue(this,function(){return function(e){for(var t=e.getTag(),n=t.length,o="",r=function(n){var r=function(e){return ve.get(e)}(n);if(void 0===r)return "continue";var s=e.names.get(r),i=t.getGroup(n);if(void 0===s||!s.size||0===i.length)return "continue";var a="".concat(f,".g").concat(n,'[id="').concat(r,'"]'),c="";void 0!==s&&s.forEach(function(e){e.length>0&&(c+="".concat(e,","));}),o+="".concat(i).concat(a,'{content:"').concat(c,'"}').concat(g);},s=0;s<n;s++)r(s);return o}(r)});}return e.registerId=function(e){return Se(e)},e.prototype.rehydrate=function(){!this.server&&S&&_e(this);},e.prototype.reconstructWithOptions=function(n,o){return void 0===o&&(o=!0),new e(__assign(__assign({},this.options),n),this.gs,o&&this.names||void 0)},e.prototype.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},e.prototype.getTag=function(){return this.tag||(this.tag=(e=function(e){var t=e.useCSSOMInjection,n=e.target;return e.isServer?new De(n):t?new Ae(n):new Oe(n)}(this.options),new fe(e)));var e;},e.prototype.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},e.prototype.registerName=function(e,t){if(Se(e),this.names.has(e))this.names.get(e).add(t);else {var n=new Set;n.add(t),this.names.set(e,n);}},e.prototype.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(Se(e),n);},e.prototype.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear();},e.prototype.clearRules=function(e){this.getTag().clearGroup(Se(e)),this.clearNames(e);},e.prototype.clearTag=function(){this.tag=void 0;},e}(),je=/&/g,xe=/^\s*\/\/.*$/gm;function Ve(e,t){return e.map(function(e){return "rule"===e.type&&(e.value="".concat(t," ").concat(e.value),e.value=e.value.replaceAll(",",",".concat(t," ")),e.props=e.props.map(function(e){return "".concat(t," ").concat(e)})),Array.isArray(e.children)&&"@keyframes"!==e.type&&(e.children=Ve(e.children,t)),e})}function Fe(e){var t,n,o,r=void 0===e?C:e,s=r.options,i=void 0===s?C:s,a=r.plugins,c$1=void 0===a?_:a,l=function(e,o,r){return r.startsWith(n)&&r.endsWith(n)&&r.replaceAll(n,"").length>0?".".concat(t):e},u=c$1.slice();u.push(function(e){e.type===c&&e.value.includes("&")&&(e.props[0]=e.props[0].replace(je,n).replace(o,l));}),i.prefix&&u.push(de$1),u.push(he$1);var p=function(e,r,s,a){void 0===r&&(r=""),void 0===s&&(s=""),void 0===a&&(a="&"),t=a,n=r,o=new RegExp("\\".concat(n,"\\b"),"g");var c=e.replace(xe,""),l=ue$1(s||r?"".concat(s," ").concat(r," { ").concat(c," }"):c);i.namespace&&(l=Ve(l,i.namespace));var p=[];return pe$1(l,be$1(u.concat(we$1(function(e){return p.push(e)})))),p};return p.hash=c$1.length?c$1.reduce(function(e,t){return t.name||he(15),M(e,t.name)},F).toString():"",p}var Me=new ke,ze=Fe(),$e=React__default["default"].createContext({shouldForwardProp:void 0,styleSheet:Me,stylis:ze});$e.Consumer;React__default["default"].createContext(void 0);function Ge(){return React.useContext($e)}var We=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=ze);var o=n.name+t.hash;e.hasNameForId(n.id,o)||e.insertRules(n.id,o,t(n.rules,o,"@keyframes"));},this.name=e,this.id="sc-keyframes-".concat(e),this.rules=t,ue(this,function(){throw he(12,String(n.name))});}return e.prototype.getName=function(e){return void 0===e&&(e=ze),this.name+e.hash},e}(),qe=function(e){return e>="A"&&e<="Z"};function He(e){for(var t="",n=0;n<e.length;n++){var o=e[n];if(1===n&&"-"===o&&"-"===e[0])return e;qe(o)?t+="-"+o.toLowerCase():t+=o;}return t.startsWith("ms-")?"-"+t:t}var Ue=function(e){return null==e||!1===e||""===e},Je=function(t){var n,o,r=[];for(var s in t){var i=t[s];t.hasOwnProperty(s)&&!Ue(i)&&(Array.isArray(i)&&i.isCss||re(i)?r.push("".concat(He(s),":"),i,";"):ce(i)?r.push.apply(r,__spreadArray(__spreadArray(["".concat(s," {")],Je(i),!1),["}"],!1)):r.push("".concat(He(s),": ").concat((n=s,null==(o=i)||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||n in unitlessKeys||n.startsWith("--")?String(o).trim():"".concat(o,"px")),";")));}return r};function Xe(e,t,n,o){if(Ue(e))return [];if(se(e))return [".".concat(e.styledComponentId)];if(re(e)){if(!re(s=e)||s.prototype&&s.prototype.isReactComponent||!t)return [e];var r=e(t);return "production"===process.env.NODE_ENV||"object"!=typeof r||Array.isArray(r)||r instanceof We||ce(r)||null===r||console.error("".concat(B(e)," is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.")),Xe(r,t,n,o)}var s;return e instanceof We?n?(e.inject(n,o),[e.getName(o)]):[e]:ce(e)?Je(e):Array.isArray(e)?Array.prototype.concat.apply(_,e.map(function(e){return Xe(e,t,n,o)})):[e.toString()]}function Ze(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(re(n)&&!se(n))return !1}return !0}var Ke=z(v),Qe=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic="production"===process.env.NODE_ENV&&(void 0===n||n.isStatic)&&Ze(e),this.componentId=t,this.baseHash=M(Ke,t),this.baseStyle=n,ke.registerId(t);}return e.prototype.generateAndInjectStyles=function(e,t,n){var o=this.baseStyle?this.baseStyle.generateAndInjectStyles(e,t,n):"";if(this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(this.componentId,this.staticRulesId))o=ie(o,this.staticRulesId);else {var r=ae(Xe(this.rules,e,t,n)),s=x(M(this.baseHash,r)>>>0);if(!t.hasNameForId(this.componentId,s)){var i=n(r,".".concat(s),void 0,this.componentId);t.insertRules(this.componentId,s,i);}o=ie(o,s),this.staticRulesId=s;}else {for(var a=M(this.baseHash,n.hash),c="",l=0;l<this.rules.length;l++){var u=this.rules[l];if("string"==typeof u)c+=u,"production"!==process.env.NODE_ENV&&(a=M(a,u));else if(u){var p=ae(Xe(u,e,t,n));a=M(a,p+l),c+=p;}}if(c){var d=x(a>>>0);t.hasNameForId(this.componentId,d)||t.insertRules(this.componentId,d,n(c,".".concat(d),void 0,this.componentId)),o=ie(o,d);}}return o},e}(),et=React__default["default"].createContext(void 0);et.Consumer;var rt={},st=new Set;function it(e,r,s){var i=se(e),a=e,c=!L$1(e),p=r.attrs,d=void 0===p?_:p,h=r.componentId,f=void 0===h?function(e,t){var n="string"!=typeof e?"sc":R(e);rt[n]=(rt[n]||0)+1;var o="".concat(n,"-").concat($(v+n+rt[n]));return t?"".concat(t,"-").concat(o):o}(r.displayName,r.parentComponentId):h,m=r.displayName,y=void 0===m?function(e){return L$1(e)?"styled.".concat(e):"Styled(".concat(B(e),")")}(e):m,g=r.displayName&&r.componentId?"".concat(R(r.displayName),"-").concat(r.componentId):r.componentId||f,S=i&&a.attrs?a.attrs.concat(d).filter(Boolean):d,w=r.shouldForwardProp;if(i&&a.shouldForwardProp){var b=a.shouldForwardProp;if(r.shouldForwardProp){var E=r.shouldForwardProp;w=function(e,t){return b(e,t)&&E(e,t)};}else w=b;}var N=new Qe(s,g,i?a.componentStyle:void 0);function O(e,r){return function(e,r,s){var i=e.attrs,a=e.componentStyle,c=e.defaultProps,p=e.foldedComponentIds,d=e.styledComponentId,h=e.target,f=React__default["default"].useContext(et),m=Ge(),y=e.shouldForwardProp||m.shouldForwardProp;"production"!==process.env.NODE_ENV&&React.useDebugValue(d);var v=I(r,f,c)||C,g=function(e,n,o){for(var r,s=__assign(__assign({},n),{className:void 0,theme:o}),i=0;i<e.length;i+=1){var a=re(r=e[i])?r(s):r;for(var c in a)s[c]="className"===c?ie(s[c],a[c]):"style"===c?__assign(__assign({},s[c]),a[c]):a[c];}return n.className&&(s.className=ie(s.className,n.className)),s}(i,r,v),S=g.as||h,w={};for(var b in g)void 0===g[b]||"$"===b[0]||"as"===b||"theme"===b&&g.theme===v||("forwardedAs"===b?w.as=g.forwardedAs:y&&!y(b,S)||(w[b]=g[b],y||"development"!==process.env.NODE_ENV||isPropValid(b)||st.has(b)||!A.has(S)||(st.add(b),console.warn('styled-components: it looks like an unknown prop "'.concat(b,'" is being sent through to the DOM, which will likely trigger a React console error. If you would like automatic filtering of unknown props, you can opt-into that behavior via `<StyleSheetManager shouldForwardProp={...}>` (connect an API like `@emotion/is-prop-valid`) or consider using transient props (`$` prefix for automatic filtering.)')))));var E=function(e,t){var n=Ge(),o=e.generateAndInjectStyles(t,n.styleSheet,n.stylis);return "production"!==process.env.NODE_ENV&&React.useDebugValue(o),o}(a,g);"production"!==process.env.NODE_ENV&&e.warnTooManyClasses&&e.warnTooManyClasses(E);var N=ie(p,d);return E&&(N+=" "+E),g.className&&(N+=" "+g.className),w[L$1(S)&&!A.has(S)?"class":"className"]=N,w.ref=s,React.createElement(S,w)}(D,e,r)}O.displayName=y;var D=React__default["default"].forwardRef(O);return D.attrs=S,D.componentStyle=N,D.displayName=y,D.shouldForwardProp=w,D.foldedComponentIds=i?ie(a.foldedComponentIds,a.styledComponentId):"",D.styledComponentId=g,D.target=i?a.target:e,Object.defineProperty(D,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(e){this._foldedDefaultProps=i?function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];for(var o=0,r=t;o<r.length;o++)le(e,r[o],!0);return e}({},a.defaultProps,e):e;}}),"production"!==process.env.NODE_ENV&&(P(y,g),D.warnTooManyClasses=function(e,t){var n={},o=!1;return function(r){if(!o&&(n[r]=!0,Object.keys(n).length>=200)){var s=t?' with the id of "'.concat(t,'"'):"";console.warn("Over ".concat(200," classes were generated for component ").concat(e).concat(s,".\n")+"Consider using the attrs method, together with a style object for frequently changed styles.\nExample:\n const Component = styled.div.attrs(props => ({\n style: {\n background: props.background,\n },\n }))`width: 100%;`\n\n <Component />"),o=!0,n={};}}}(y,g)),ue(D,function(){return ".".concat(D.styledComponentId)}),c&&oe(D,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0}),D}function at(e,t){for(var n=[e[0]],o=0,r=t.length;o<r;o+=1)n.push(t[o],e[o+1]);return n}var ct=function(e){return Object.assign(e,{isCss:!0})};function lt(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];if(re(t)||ce(t))return ct(Xe(at(_,__spreadArray([t],n,!0))));var r=t;return 0===n.length&&1===r.length&&"string"==typeof r[0]?Xe(r):ct(Xe(at(r,n)))}function ut(n,o,r){if(void 0===r&&(r=C),!o)throw he(1,o);var s=function(t){for(var s=[],i=1;i<arguments.length;i++)s[i-1]=arguments[i];return n(o,r,lt.apply(void 0,__spreadArray([t],s,!1)))};return s.attrs=function(e){return ut(n,o,__assign(__assign({},r),{attrs:Array.prototype.concat(r.attrs,e).filter(Boolean)}))},s.withConfig=function(e){return ut(n,o,__assign(__assign({},r),e))},s}var pt=function(e){return ut(it,e)},dt=pt;A.forEach(function(e){dt[e]=pt(e);});"production"!==process.env.NODE_ENV&&"undefined"!=typeof navigator&&"ReactNative"===navigator.product&&console.warn("It looks like you've imported 'styled-components' on React Native.\nPerhaps you're looking to import 'styled-components/native'?\nRead more about this at https://www.styled-components.com/docs/basics#react-native");var St="__sc-".concat(f,"__");"production"!==process.env.NODE_ENV&&"test"!==process.env.NODE_ENV&&"undefined"!=typeof window&&(window[St]||(window[St]=0),1===window[St]&&console.warn("It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\n\nSee https://s-c.sh/2BAXzed for more info."),window[St]+=1);
12342
12342
 
12343
- var _templateObject$d;
12344
- const Style$K = dt.div(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\n\t.p-placeholder {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: transparent;\n\t\tz-index: 100;\n\t}\n"])));
12343
+ var _templateObject$e;
12344
+ const Style$L = dt.div(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\n\t.p-placeholder {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: transparent;\n\t\tz-index: 100;\n\t}\n"])));
12345
12345
 
12346
12346
  /**
12347
12347
  * ComponentWithFocus
@@ -12390,29 +12390,10 @@ function ComponentWithFocus(_ref) {
12390
12390
  }
12391
12391
  }
12392
12392
  }
12393
- }, [placeholderIsVisible, unFocus] // Add unFocus to dependencies
12394
- );
12395
-
12396
- // Add wheel event handler
12397
- const handleWheel = React.useCallback(() => {
12398
- if (placeholderIsVisible) {
12399
- setPlaceholderIsVisible(false);
12400
- }
12401
12393
  }, [placeholderIsVisible]);
12402
12394
  React.useEffect(() => {
12403
12395
  document.addEventListener("mousemove", checkMouse);
12404
- return () => document.removeEventListener("mousemove", checkMouse); // Fix typo
12405
- }, [checkMouse]);
12406
- React.useEffect(() => {
12407
- if (ref.current) {
12408
- const element = ref.current;
12409
- element.addEventListener("wheel", handleWheel);
12410
- return () => element.removeEventListener("wheel", handleWheel);
12411
- }
12412
- }, [handleWheel]);
12413
- React.useEffect(() => {
12414
- document.addEventListener("mousemove", checkMouse);
12415
- return () => document.removeEventListener("mousemov", checkMouse);
12396
+ return () => document.removeEventListener("mousemove", checkMouse);
12416
12397
  }, [checkMouse]);
12417
12398
  React.useEffect(() => {
12418
12399
  if (closed) {
@@ -12420,7 +12401,7 @@ function ComponentWithFocus(_ref) {
12420
12401
  setClosed(false);
12421
12402
  }
12422
12403
  }, [closed]);
12423
- return /*#__PURE__*/jsxRuntime.jsxs(Style$K, {
12404
+ return /*#__PURE__*/jsxRuntime.jsxs(Style$L, {
12424
12405
  className: className,
12425
12406
  ref: ref,
12426
12407
  style: style,
@@ -12432,7 +12413,7 @@ function ComponentWithFocus(_ref) {
12432
12413
  });
12433
12414
  }
12434
12415
 
12435
- var _templateObject$c;
12416
+ var _templateObject$d;
12436
12417
  const _excluded$w = ["size", "maxHeight", "containerHeight", "dataSource", "columns", "pagination", "doEmptyRows"];
12437
12418
  function StickyTable(_ref) {
12438
12419
  let {
@@ -12465,7 +12446,7 @@ function StickyTable(_ref) {
12465
12446
  return data.length > 5 ? ComponentWithFocus : "div";
12466
12447
  }, [data.length]);
12467
12448
  return /*#__PURE__*/jsxRuntime.jsx(Wrapper, {
12468
- children: /*#__PURE__*/jsxRuntime.jsx(Style$J, {
12449
+ children: /*#__PURE__*/jsxRuntime.jsx(Style$K, {
12469
12450
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
12470
12451
  className: "daf-table-wrapper",
12471
12452
  style: {
@@ -12490,7 +12471,7 @@ function StickyTable(_ref) {
12490
12471
  })
12491
12472
  });
12492
12473
  }
12493
- const Style$J = dt.div(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n\tmax-width: calc(100% - 48px);\n\tmargin-left: var(--size-lg);\n\toverflow: hidden;\n\n\t.daf-table {\n\t\tpadding: 0px;\n\t\tmargin-top: 0px;\n\n\t\t.ant-tag {\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.daf-select-filters .filters {\n\t\tpadding-top: 16px;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t}\n\n\t.daf-table {\n\t\tpadding-top: 16px;\n\t}\n"])));
12474
+ const Style$K = dt.div(_templateObject$d || (_templateObject$d = _taggedTemplateLiteral(["\n\tmax-width: calc(100% - 48px);\n\tmargin-left: var(--size-lg);\n\toverflow: hidden;\n\n\t.daf-table {\n\t\tpadding: 0px;\n\t\tmargin-top: 0px;\n\n\t\t.ant-tag {\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.daf-select-filters .filters {\n\t\tpadding-top: 16px;\n\t\tpadding-left: 0;\n\t\tpadding-right: 0;\n\t}\n\n\t.daf-table {\n\t\tpadding-top: 16px;\n\t}\n"])));
12494
12475
  StickyTable.propTypes = {
12495
12476
  size: PropTypes__default["default"].any,
12496
12477
  maxHeight: PropTypes__default["default"].number,
@@ -13018,7 +12999,7 @@ FilterButton.propTypes = {
13018
12999
  const MOBILE_W = 850;
13019
13000
  const MOBILE_WIDTH = `max-width: ${MOBILE_W}px`;
13020
13001
 
13021
- const Style$I = dt.div`
13002
+ const Style$J = dt.div`
13022
13003
  .ant-btn {
13023
13004
  border-radius: 100px 100px 100px 0;
13024
13005
  padding: 10px;
@@ -13079,7 +13060,7 @@ const BorderedButton = _ref => {
13079
13060
  children
13080
13061
  } = _ref,
13081
13062
  props = _objectWithoutProperties(_ref, _excluded$u);
13082
- return /*#__PURE__*/jsxRuntime.jsx(Style$I, {
13063
+ return /*#__PURE__*/jsxRuntime.jsx(Style$J, {
13083
13064
  className: "d-btn-cont",
13084
13065
  children: /*#__PURE__*/jsxRuntime.jsx(antd.Button, _objectSpread2(_objectSpread2({}, props), {}, {
13085
13066
  children: children
@@ -13087,7 +13068,7 @@ const BorderedButton = _ref => {
13087
13068
  });
13088
13069
  };
13089
13070
 
13090
- var _templateObject$b;
13071
+ var _templateObject$c;
13091
13072
  const variantConfig = {
13092
13073
  default: {
13093
13074
  className: "default-badge",
@@ -13190,7 +13171,7 @@ function Badge(_ref) {
13190
13171
  }, [tooltip]);
13191
13172
  return /*#__PURE__*/jsxRuntime.jsx(antd.Tooltip, {
13192
13173
  title: tooltipTitle,
13193
- children: /*#__PURE__*/jsxRuntime.jsxs(Style$H, {
13174
+ children: /*#__PURE__*/jsxRuntime.jsxs(Style$I, {
13194
13175
  className: "".concat((_variantConfig$varian = variantConfig[variant]) === null || _variantConfig$varian === void 0 ? void 0 : _variantConfig$varian.className, " ").concat(roundedConfig[rounded], " ").concat(className ? className : ""),
13195
13176
  style: _objectSpread2({
13196
13177
  width: size === "icon" ? "fit-content" : isNumberSize ? "".concat(size, "px") : "100%"
@@ -13205,7 +13186,7 @@ function Badge(_ref) {
13205
13186
  })
13206
13187
  });
13207
13188
  }
13208
- const Style$H = dt.div(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 4px;\n\tpadding: 4px;\n\tmax-width: 100%;\n\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\n\t> svg {\n\t\tflex-shrink: 0;\n\t}\n\n\t> span {\n\t\tall: unset;\n\t\tmargin-left: 4px;\n\t\tfont-weight: 600;\n\t\tfont-size: 12px;\n\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tdisplay: block;\n\t\tmax-width: 100%;\n\t}\n"])));
13189
+ const Style$I = dt.div(_templateObject$c || (_templateObject$c = _taggedTemplateLiteral(["\n\tdisplay: inline-flex;\n\talign-items: center;\n\tjustify-content: center;\n\tgap: 4px;\n\tpadding: 4px;\n\tmax-width: 100%;\n\n\toverflow: hidden;\n\twhite-space: nowrap;\n\ttext-overflow: ellipsis;\n\n\t> svg {\n\t\tflex-shrink: 0;\n\t}\n\n\t> span {\n\t\tall: unset;\n\t\tmargin-left: 4px;\n\t\tfont-weight: 600;\n\t\tfont-size: 12px;\n\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space: nowrap;\n\t\tdisplay: block;\n\t\tmax-width: 100%;\n\t}\n"])));
13209
13190
  Badge.propTypes = {
13210
13191
  children: PropTypes__default["default"].node,
13211
13192
  className: PropTypes__default["default"].string,
@@ -14521,8 +14502,8 @@ const useFooter = _ref => {
14521
14502
  };
14522
14503
  };
14523
14504
 
14524
- var _templateObject$a;
14525
- const FooterContainer = dt.div(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n\t.daf-footer {\n\t\tbackground: #ffffff;\n\t\tborder-top: 1px solid #e8e8e8;\n\t\tborder-left: none;\n\t\tborder-right: none;\n\t\tborder-bottom: none;\n\t\tborder-radius: 0;\n\t\tpadding: 24px;\n\t\tmargin: 0;\n\t\tbox-shadow: none;\n\t\tz-index: 100;\n\t\tposition: relative;\n\t\tmin-height: 80px;\n\n\t\t&.daf-footer-fixed {\n\t\t\tposition: fixed;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tz-index: 1000;\n\t\t}\n\n\t\t.daf-footer-content {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmin-height: 32px;\n\n\t\t\t.daf-footer-left {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\n\t\t\t.daf-footer-center {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\n\t\t\t.daf-footer-right {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\tgap: 12px;\n\n\t\t\t\t.daf-footer-actions {\n\t\t\t\t\t.ant-btn {\n\t\t\t\t\t\theight: 40px;\n\t\t\t\t\t\tpadding: 0 24px;\n\t\t\t\t\t\tborder-radius: 6px;\n\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\ttransition: all 0.3s ease;\n\t\t\t\t\t\tborder: 1px solid transparent;\n\n\t\t\t\t\t\t&.ant-btn-primary {\n\t\t\t\t\t\t\tbackground-color: var(--color-primary-70);\n\t\t\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tbackground-color: var(--color-primary-60);\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-60);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tbackground-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tbackground-color: #f5f5f5;\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.ant-btn-default {\n\t\t\t\t\t\t\tbackground: #ffffff;\n\t\t\t\t\t\t\tcolor: #666666;\n\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-70);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tbackground-color: #f5f5f5;\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.ant-btn-ghost {\n\t\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\t\tcolor: #666666;\n\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-70);\n\t\t\t\t\t\t\t\tbackground: rgba(0, 0, 0, 0.02);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Responsive design */\n\t@media (max-width: 768px) {\n\t\t.daf-footer {\n\t\t\tmargin: 0;\n\t\t\tpadding: 16px;\n\n\t\t\t.daf-footer-content {\n\t\t\t\tflex-direction: column;\n\t\t\t\tgap: 16px;\n\t\t\t\talign-items: stretch;\n\n\t\t\t\t.daf-footer-left,\n\t\t\t\t.daf-footer-center,\n\t\t\t\t.daf-footer-right {\n\t\t\t\t\tflex: none;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\n\t\t\t\t.daf-footer-right {\n\t\t\t\t\t.daf-footer-actions {\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* App-specific styling */\n\t&.sbg-app {\n\t\t.daf-footer {\n\t\t\tbackground: #f8f9fa;\n\t\t\tborder-color: #e9ecef;\n\t\t}\n\t}\n\n\t&.nashiriki-app {\n\t\t.daf-footer {\n\t\t\tbackground: #fff;\n\t\t\tborder-color: #d9d9d9;\n\t\t}\n\t}\n"])));
14505
+ var _templateObject$b;
14506
+ const FooterContainer = dt.div(_templateObject$b || (_templateObject$b = _taggedTemplateLiteral(["\n\t.daf-footer {\n\t\tbackground: #ffffff;\n\t\tborder-top: 1px solid #e8e8e8;\n\t\tborder-left: none;\n\t\tborder-right: none;\n\t\tborder-bottom: none;\n\t\tborder-radius: 0;\n\t\tpadding: 24px;\n\t\tmargin: 0;\n\t\tbox-shadow: none;\n\t\tz-index: 100;\n\t\tposition: relative;\n\t\tmin-height: 80px;\n\n\t\t&.daf-footer-fixed {\n\t\t\tposition: fixed;\n\t\t\tbottom: 0;\n\t\t\tleft: 0;\n\t\t\tright: 0;\n\t\t\tz-index: 1000;\n\t\t}\n\n\t\t.daf-footer-content {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\twidth: 100%;\n\t\t\tmin-height: 32px;\n\n\t\t\t.daf-footer-left {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\n\t\t\t.daf-footer-center {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\n\t\t\t.daf-footer-right {\n\t\t\t\tflex: 1;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\tgap: 12px;\n\n\t\t\t\t.daf-footer-actions {\n\t\t\t\t\t.ant-btn {\n\t\t\t\t\t\theight: 40px;\n\t\t\t\t\t\tpadding: 0 24px;\n\t\t\t\t\t\tborder-radius: 6px;\n\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\ttransition: all 0.3s ease;\n\t\t\t\t\t\tborder: 1px solid transparent;\n\n\t\t\t\t\t\t&.ant-btn-primary {\n\t\t\t\t\t\t\tbackground-color: var(--color-primary-70);\n\t\t\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tbackground-color: var(--color-primary-60);\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-60);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tbackground-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tbackground-color: #f5f5f5;\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.ant-btn-default {\n\t\t\t\t\t\t\tbackground: #ffffff;\n\t\t\t\t\t\t\tcolor: #666666;\n\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-70);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tbackground-color: #f5f5f5;\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&.ant-btn-ghost {\n\t\t\t\t\t\t\tbackground: transparent;\n\t\t\t\t\t\t\tcolor: #666666;\n\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-70);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-70);\n\t\t\t\t\t\t\t\tbackground: rgba(0, 0, 0, 0.02);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:active {\n\t\t\t\t\t\t\t\tborder-color: var(--color-primary-80);\n\t\t\t\t\t\t\t\tcolor: var(--color-primary-80);\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&:disabled {\n\t\t\t\t\t\t\t\tcolor: #bfbfbf;\n\t\t\t\t\t\t\t\tborder-color: #d9d9d9;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* Responsive design */\n\t@media (max-width: 768px) {\n\t\t.daf-footer {\n\t\t\tmargin: 0;\n\t\t\tpadding: 16px;\n\n\t\t\t.daf-footer-content {\n\t\t\t\tflex-direction: column;\n\t\t\t\tgap: 16px;\n\t\t\t\talign-items: stretch;\n\n\t\t\t\t.daf-footer-left,\n\t\t\t\t.daf-footer-center,\n\t\t\t\t.daf-footer-right {\n\t\t\t\t\tflex: none;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t}\n\n\t\t\t\t.daf-footer-right {\n\t\t\t\t\t.daf-footer-actions {\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t/* App-specific styling */\n\t&.sbg-app {\n\t\t.daf-footer {\n\t\t\tbackground: #f8f9fa;\n\t\t\tborder-color: #e9ecef;\n\t\t}\n\t}\n\n\t&.nashiriki-app {\n\t\t.daf-footer {\n\t\t\tbackground: #fff;\n\t\t\tborder-color: #d9d9d9;\n\t\t}\n\t}\n"])));
14526
14507
 
14527
14508
  function DAFFooter(_ref) {
14528
14509
  let {
@@ -17471,7 +17452,7 @@ function ImageWidget(_ref) {
17471
17452
  }
17472
17453
  ImageWidget.displayName = 'ImageWidget';
17473
17454
 
17474
- var _templateObject$9;
17455
+ var _templateObject$a;
17475
17456
  const _excluded$o = ["title", "loading", "data", "current", "defaultActiveTab", "widgetClassname", "className", "direction"];
17476
17457
  function FlowWidget(_ref) {
17477
17458
  let {
@@ -17579,7 +17560,7 @@ function FlowWidget(_ref) {
17579
17560
  className: "with-border-header ".concat(widgetClassname),
17580
17561
  tabsConfig: tabConfig
17581
17562
  }, rest), {}, {
17582
- children: !isEmpty ? /*#__PURE__*/jsxRuntime.jsx(Style$G, {
17563
+ children: !isEmpty ? /*#__PURE__*/jsxRuntime.jsx(Style$H, {
17583
17564
  children: /*#__PURE__*/jsxRuntime.jsx(antd.Steps, {
17584
17565
  current: currentForActiveTab,
17585
17566
  initial: initialForActiveTab,
@@ -17621,7 +17602,7 @@ function Icon(_ref2) {
17621
17602
  return icon(status);
17622
17603
  }
17623
17604
  }
17624
- const Style$G = dt.div(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n\toverflow-x: auto;\n\toverflow-y: hidden;\n\n\t::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\n\tscrollbar-width: none;\n\n\t-ms-overflow-style: none;\n\n\t@media (max-width: 532px) {\n\t\toverflow-x: hidden;\n\t}\n\n\t:where(.ant-steps-horizontal):not(.ant-steps-label-vertical) {\n\t\t.ant-steps-item-content {\n\t\t\twidth: 100%;\n\n\t\t\t.ant-steps-item-description {\n\t\t\t\tmin-width: 205px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n"])));
17605
+ const Style$H = dt.div(_templateObject$a || (_templateObject$a = _taggedTemplateLiteral(["\n\toverflow-x: auto;\n\toverflow-y: hidden;\n\n\t::-webkit-scrollbar {\n\t\tdisplay: none;\n\t}\n\n\tscrollbar-width: none;\n\n\t-ms-overflow-style: none;\n\n\t@media (max-width: 532px) {\n\t\toverflow-x: hidden;\n\t}\n\n\t:where(.ant-steps-horizontal):not(.ant-steps-label-vertical) {\n\t\t.ant-steps-item-content {\n\t\t\twidth: 100%;\n\n\t\t\t.ant-steps-item-description {\n\t\t\t\tmin-width: 205px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t}\n"])));
17625
17606
  FlowWidget.propTypes = {
17626
17607
  title: PropTypes__default["default"].string,
17627
17608
  loading: PropTypes__default["default"].bool,
@@ -17683,7 +17664,7 @@ ActionWidget.propTypes = {
17683
17664
  onClick: PropTypes__default["default"].func
17684
17665
  };
17685
17666
 
17686
- const Style$F = dt.div`
17667
+ const Style$G = dt.div`
17687
17668
  overflow-x: auto;
17688
17669
 
17689
17670
  @media (${MOBILE_WIDTH}) {
@@ -17874,7 +17855,7 @@ function KeyIndicatorsWidget$1(_ref) {
17874
17855
  className: formatClassname(["flex-1 with-border-header", widgetClassName]),
17875
17856
  title: noTitle ? undefined : t(title),
17876
17857
  noTitle: noTitle,
17877
- children: [children, /*#__PURE__*/jsxRuntime.jsx(Style$F, {
17858
+ children: [children, /*#__PURE__*/jsxRuntime.jsx(Style$G, {
17878
17859
  className: formatClassname(["flex", className]),
17879
17860
  children: config.map((c, i) => /*#__PURE__*/jsxRuntime.jsxs("div", {
17880
17861
  className: "row-item",
@@ -17928,7 +17909,7 @@ function TooltipIcon(_ref) {
17928
17909
  });
17929
17910
  }
17930
17911
 
17931
- const Style$E = dt.div`
17912
+ const Style$F = dt.div`
17932
17913
  display: flex;
17933
17914
  flex-direction: row;
17934
17915
  position: relative;
@@ -19359,7 +19340,7 @@ function LocationIcon({
19359
19340
  });
19360
19341
  }
19361
19342
 
19362
- const Style$D = dt.div`
19343
+ const Style$E = dt.div`
19363
19344
  .main {
19364
19345
  width: 24px;
19365
19346
  height: 24px;
@@ -19501,7 +19482,7 @@ function StakeholderIcon({
19501
19482
  link,
19502
19483
  onClickLink: () => onClickLink(marker)
19503
19484
  }),
19504
- children: /*#__PURE__*/jsxRuntime.jsx(Style$D
19485
+ children: /*#__PURE__*/jsxRuntime.jsx(Style$E
19505
19486
  // onClick={toggleOpen}
19506
19487
  , {
19507
19488
  className: `map-marker marker closed`,
@@ -19514,7 +19495,7 @@ function StakeholderIcon({
19514
19495
  })
19515
19496
  });
19516
19497
  }
19517
- return /*#__PURE__*/jsxRuntime.jsxs(Style$D, {
19498
+ return /*#__PURE__*/jsxRuntime.jsxs(Style$E, {
19518
19499
  onClick: toggleOpen,
19519
19500
  className: `map-marker marker ${isActive ? "opened" : "closed"}`,
19520
19501
  children: [/*#__PURE__*/jsxRuntime.jsx("div", {
@@ -20190,7 +20171,7 @@ const useMap$1 = ({
20190
20171
  };
20191
20172
  };
20192
20173
 
20193
- const Style$C = dt.div`
20174
+ const Style$D = dt.div`
20194
20175
  position: absolute;
20195
20176
  top: 24px;
20196
20177
  left: 24px;
@@ -20365,7 +20346,7 @@ function Filters({
20365
20346
  return null;
20366
20347
  }
20367
20348
  };
20368
- return /*#__PURE__*/jsxRuntime.jsxs(Style$C, {
20349
+ return /*#__PURE__*/jsxRuntime.jsxs(Style$D, {
20369
20350
  children: [/*#__PURE__*/jsxRuntime.jsxs(antd.Button, {
20370
20351
  onClick: () => setOpened(p => !p),
20371
20352
  children: [t("Filter"), /*#__PURE__*/jsxRuntime.jsx(CustomIcon, {
@@ -20446,7 +20427,7 @@ function Map$3(_ref) {
20446
20427
  isSatellite
20447
20428
  });
20448
20429
  return /*#__PURE__*/jsxRuntime.jsx(ComponentWithFocus, {
20449
- children: /*#__PURE__*/jsxRuntime.jsxs(Style$E, {
20430
+ children: /*#__PURE__*/jsxRuntime.jsxs(Style$F, {
20450
20431
  className: formatClassname([showSider && activeMarker && "with-sider"]),
20451
20432
  children: [filtersConfig ? /*#__PURE__*/jsxRuntime.jsx(Filters, {
20452
20433
  t: t,
@@ -20627,7 +20608,7 @@ function InExpandableWidgetMap(_ref) {
20627
20608
  });
20628
20609
  }
20629
20610
 
20630
- const Style$B = dt.div`
20611
+ const Style$C = dt.div`
20631
20612
  display: flex;
20632
20613
  flex-direction: row;
20633
20614
  position: relative;
@@ -22144,7 +22125,7 @@ function Globe(_ref) {
22144
22125
  }
22145
22126
  }, [forceResize]);
22146
22127
  return /*#__PURE__*/jsxRuntime.jsx(ComponentWithFocus, {
22147
- children: /*#__PURE__*/jsxRuntime.jsxs(Style$B, {
22128
+ children: /*#__PURE__*/jsxRuntime.jsxs(Style$C, {
22148
22129
  className: formatClassname([showSider && activeMarker && "with-sider"]),
22149
22130
  children: [filtersConfig ? /*#__PURE__*/jsxRuntime.jsx(Filters, {
22150
22131
  t: t,
@@ -22478,7 +22459,7 @@ const SimpleGlobe = _ref => {
22478
22459
  const next = Math.max((((_map$current$getPitch2 = (_map$current2 = map.current).getPitch) === null || _map$current$getPitch2 === void 0 ? void 0 : _map$current$getPitch2.call(_map$current2)) || 0) - 10, 0);
22479
22460
  map.current.setPitch(next);
22480
22461
  };
22481
- return /*#__PURE__*/jsxRuntime.jsx(Style$B, {
22462
+ return /*#__PURE__*/jsxRuntime.jsx(Style$C, {
22482
22463
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
22483
22464
  className: "daf-simple-globe-container",
22484
22465
  style: {
@@ -22609,7 +22590,7 @@ WidgetPlaceholder.propTypes = {
22609
22590
  inDevelopment: PropTypes__default["default"].bool
22610
22591
  };
22611
22592
 
22612
- const Style$A = dt.div`
22593
+ const Style$B = dt.div`
22613
22594
  .ant-steps-item-title {
22614
22595
  line-height: normal !important;
22615
22596
  }
@@ -22642,7 +22623,7 @@ const DAFSteps = _ref => {
22642
22623
  className: "with-border-header",
22643
22624
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
22644
22625
  style: scrollableStyles,
22645
- children: /*#__PURE__*/jsxRuntime.jsx(Style$A, {
22626
+ children: /*#__PURE__*/jsxRuntime.jsx(Style$B, {
22646
22627
  children: /*#__PURE__*/jsxRuntime.jsx(antd.Steps, {
22647
22628
  direction: direction,
22648
22629
  current: current,
@@ -22699,7 +22680,7 @@ function DashboardLayout(_ref) {
22699
22680
  });
22700
22681
  }
22701
22682
 
22702
- const Style$z = dt.div`
22683
+ const Style$A = dt.div`
22703
22684
 
22704
22685
 
22705
22686
  .card {
@@ -22779,7 +22760,7 @@ const Details = _ref => {
22779
22760
  loading: loading,
22780
22761
  title: title
22781
22762
  }, rest), {}, {
22782
- children: /*#__PURE__*/jsxRuntime.jsx(Style$z, {
22763
+ children: /*#__PURE__*/jsxRuntime.jsx(Style$A, {
22783
22764
  children: config.length > 0 ? /*#__PURE__*/jsxRuntime.jsx(MapConfig, {
22784
22765
  config: config
22785
22766
  }) : /*#__PURE__*/jsxRuntime.jsx(antd.Empty, {
@@ -22802,7 +22783,7 @@ const KeyIndicatorsDetails = _ref => {
22802
22783
  title: title,
22803
22784
  loading: loading
22804
22785
  }, rest), {}, {
22805
- children: /*#__PURE__*/jsxRuntime.jsx(Style$z, {
22786
+ children: /*#__PURE__*/jsxRuntime.jsx(Style$A, {
22806
22787
  children: /*#__PURE__*/jsxRuntime.jsx("div", {
22807
22788
  className: "key-info-card",
22808
22789
  children: /*#__PURE__*/jsxRuntime.jsx(MapConfig, {
@@ -22814,7 +22795,7 @@ const KeyIndicatorsDetails = _ref => {
22814
22795
  }));
22815
22796
  };
22816
22797
 
22817
- const Style$y = dt.div`
22798
+ const Style$z = dt.div`
22818
22799
 
22819
22800
  .main-details {
22820
22801
  display: grid;
@@ -22835,7 +22816,7 @@ const DetailsSection = _ref => {
22835
22816
  firstColumnWidth = "250px"
22836
22817
  } = _ref,
22837
22818
  rest = _objectWithoutProperties(_ref, _excluded$k);
22838
- return /*#__PURE__*/jsxRuntime.jsx(Style$y, {
22819
+ return /*#__PURE__*/jsxRuntime.jsx(Style$z, {
22839
22820
  firstColumnWidth: firstColumnWidth,
22840
22821
  children: /*#__PURE__*/jsxRuntime.jsxs("div", {
22841
22822
  className: "main-details",
@@ -23009,7 +22990,7 @@ const getGoalConfig = () => {
23009
22990
  }];
23010
22991
  };
23011
22992
 
23012
- var _templateObject$8;
22993
+ var _templateObject$9;
23013
22994
  const _excluded$j = ["title", "activeSdgGoals", "t"];
23014
22995
  function SDGWidget(_ref) {
23015
22996
  let {
@@ -23038,7 +23019,87 @@ function SDGWidget(_ref) {
23038
23019
  })
23039
23020
  }));
23040
23021
  }
23041
- const SDGContainer = dt.div(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(53px, 1fr));\n\tgap: 8px;\n\n\t.sdg-item {\n\t\theight: 53px;\n\t\twidth: 53px;\n\t\tborder-radius: 8px;\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t.sdg-item-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t\tcolor: white;\n\t\ttext-align: center;\n\t}\n"])));
23022
+ const SDGContainer = dt.div(_templateObject$9 || (_templateObject$9 = _taggedTemplateLiteral(["\n\tdisplay: grid;\n\tgrid-template-columns: repeat(auto-fit, minmax(53px, 1fr));\n\tgap: 8px;\n\n\t.sdg-item {\n\t\theight: 53px;\n\t\twidth: 53px;\n\t\tborder-radius: 8px;\n\t\tbackground-size: cover;\n\t\tbackground-position: center;\n\t\tbackground-repeat: no-repeat;\n\t}\n\n\t.sdg-item-content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\theight: 100%;\n\t\tcolor: white;\n\t\ttext-align: center;\n\t}\n"])));
23023
+
23024
+ var _templateObject$8;
23025
+ const Style$y = dt.div(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n\tposition: relative;\n\twidth: 100%;\n\theight: 100%;\n\n\t.p-placeholder {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground: transparent;\n\t\tz-index: 100;\n\t\tcursor: default;\n\t}\n"])));
23026
+
23027
+ /**
23028
+ * ComponentWithHoverFocus
23029
+ *
23030
+ * A wrapper component that requires user interaction to activate (focus) its children.
23031
+ * This is particularly useful for embedding interactive elements like tables, maps or flow editors
23032
+ * (e.g., built with React Flow) that could otherwise interfere with global interactions
23033
+ * like scrolling or dragging.
23034
+ *
23035
+ * Behavior:
23036
+ * - Initially, a transparent overlay is shown to block interaction.
23037
+ * - Hovering over the overlay removes it, allowing interaction with the children.
23038
+ * - If the mouse moves outside the component bounds, the overlay reappears, blocking interaction again.
23039
+ * - An optional `unFocus` callback is triggered when the component loses focus.
23040
+ *
23041
+ * Props:
23042
+ * @param {React.ReactNode} children - The interactive content to be wrapped.
23043
+ * @param {React.CSSProperties} [style={}] - Inline styles to apply to the wrapper.
23044
+ * @param {boolean} [show=false] - If true, the placeholder overlay is always shown.
23045
+ * @param {string} [className] - Additional class names for styling the wrapper.
23046
+ * @param {() => void} [unFocus] - Callback fired when the component loses focus (mouse leaves bounds).
23047
+ *
23048
+ */
23049
+
23050
+ function ComponentWithHoverFocus(_ref) {
23051
+ let {
23052
+ children,
23053
+ style = {},
23054
+ show = false,
23055
+ className,
23056
+ unFocus
23057
+ } = _ref;
23058
+ const [placeholderIsVisible, setPlaceholderIsVisible] = React.useState(true);
23059
+ const ref = React.useRef();
23060
+ const [closed, setClosed] = React.useState(false);
23061
+ const checkMouse = React.useCallback(event => {
23062
+ if (!placeholderIsVisible) {
23063
+ if (ref.current) {
23064
+ const divRect = ref.current.getBoundingClientRect();
23065
+ if (event.clientX >= divRect.left && event.clientX <= divRect.right && event.clientY >= divRect.top && event.clientY <= divRect.bottom) {
23066
+ return;
23067
+ }
23068
+ setPlaceholderIsVisible(true);
23069
+ if (typeof unFocus === "function") {
23070
+ unFocus();
23071
+ }
23072
+ }
23073
+ }
23074
+ }, [placeholderIsVisible, unFocus]);
23075
+ React.useEffect(() => {
23076
+ document.addEventListener("mousemove", checkMouse);
23077
+ return () => document.removeEventListener("mousemove", checkMouse); // Fixed typo
23078
+ }, [checkMouse]);
23079
+ React.useEffect(() => {
23080
+ if (closed) {
23081
+ setPlaceholderIsVisible(false);
23082
+ setClosed(false);
23083
+ }
23084
+ }, [closed]);
23085
+ return /*#__PURE__*/jsxRuntime.jsxs(Style$y, {
23086
+ className: className,
23087
+ ref: ref,
23088
+ style: style,
23089
+ children: [(placeholderIsVisible || show) && /*#__PURE__*/jsxRuntime.jsx("div", {
23090
+ onMouseEnter: () => setPlaceholderIsVisible(false),
23091
+ className: "p-placeholder",
23092
+ style: style
23093
+ }), children]
23094
+ });
23095
+ }
23096
+ ComponentWithHoverFocus.propTypes = {
23097
+ children: PropTypes__default["default"].node,
23098
+ style: PropTypes__default["default"].object,
23099
+ show: PropTypes__default["default"].bool,
23100
+ className: PropTypes__default["default"].string,
23101
+ unFocus: PropTypes__default["default"].func
23102
+ };
23042
23103
 
23043
23104
  const ImageContainer = dt.div`
23044
23105
  overflow: hidden;
@@ -64336,6 +64397,7 @@ exports.Button = DafButton;
64336
64397
  exports.CarouselWidget = CarouselWidget;
64337
64398
  exports.ColumnChart = ColumnChart;
64338
64399
  exports.ComponentWithFocus = ComponentWithFocus;
64400
+ exports.ComponentWithHoverFocus = ComponentWithHoverFocus;
64339
64401
  exports.CountryFlag = CountryFlag;
64340
64402
  exports.CustomIcon = CustomIcon;
64341
64403
  exports.DafDashboardDetails = Details;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "datastake-daf",
3
- "version": "0.6.485",
3
+ "version": "0.6.486",
4
4
  "dependencies": {
5
5
  "@ant-design/icons": "^5.2.5",
6
6
  "@antv/g2": "^5.1.1",
@@ -0,0 +1,114 @@
1
+ import React, { useCallback, useEffect, useRef, useState } from "react";
2
+ import styled from "styled-components";
3
+ import PropTypes from "prop-types";
4
+
5
+ const Style = styled.div`
6
+ position: relative;
7
+ width: 100%;
8
+ height: 100%;
9
+
10
+ .p-placeholder {
11
+ position: absolute;
12
+ top: 0px;
13
+ left: 0px;
14
+ width: 100%;
15
+ height: 100%;
16
+ background: transparent;
17
+ z-index: 100;
18
+ cursor: default;
19
+ }
20
+ `;
21
+
22
+ /**
23
+ * ComponentWithHoverFocus
24
+ *
25
+ * A wrapper component that requires user interaction to activate (focus) its children.
26
+ * This is particularly useful for embedding interactive elements like tables, maps or flow editors
27
+ * (e.g., built with React Flow) that could otherwise interfere with global interactions
28
+ * like scrolling or dragging.
29
+ *
30
+ * Behavior:
31
+ * - Initially, a transparent overlay is shown to block interaction.
32
+ * - Hovering over the overlay removes it, allowing interaction with the children.
33
+ * - If the mouse moves outside the component bounds, the overlay reappears, blocking interaction again.
34
+ * - An optional `unFocus` callback is triggered when the component loses focus.
35
+ *
36
+ * Props:
37
+ * @param {React.ReactNode} children - The interactive content to be wrapped.
38
+ * @param {React.CSSProperties} [style={}] - Inline styles to apply to the wrapper.
39
+ * @param {boolean} [show=false] - If true, the placeholder overlay is always shown.
40
+ * @param {string} [className] - Additional class names for styling the wrapper.
41
+ * @param {() => void} [unFocus] - Callback fired when the component loses focus (mouse leaves bounds).
42
+ *
43
+ */
44
+
45
+ function ComponentWithHoverFocus({
46
+ children,
47
+ style = {},
48
+ show = false,
49
+ className,
50
+ unFocus,
51
+ }) {
52
+ const [placeholderIsVisible, setPlaceholderIsVisible] = useState(true);
53
+ const ref = useRef();
54
+ const [closed, setClosed] = useState(false);
55
+
56
+ const checkMouse = useCallback(
57
+ (event) => {
58
+ if (!placeholderIsVisible) {
59
+ if (ref.current) {
60
+ const divRect = ref.current.getBoundingClientRect();
61
+ if (
62
+ event.clientX >= divRect.left &&
63
+ event.clientX <= divRect.right &&
64
+ event.clientY >= divRect.top &&
65
+ event.clientY <= divRect.bottom
66
+ ) {
67
+ return;
68
+ }
69
+ setPlaceholderIsVisible(true);
70
+ if (typeof unFocus === "function") {
71
+ unFocus();
72
+ }
73
+ }
74
+ }
75
+ },
76
+ [placeholderIsVisible, unFocus],
77
+ );
78
+
79
+ useEffect(() => {
80
+ document.addEventListener("mousemove", checkMouse);
81
+ return () => document.removeEventListener("mousemove", checkMouse); // Fixed typo
82
+ }, [checkMouse]);
83
+
84
+ useEffect(() => {
85
+ if (closed) {
86
+ setPlaceholderIsVisible(false);
87
+ setClosed(false);
88
+ }
89
+ }, [closed]);
90
+
91
+ return (
92
+ <Style className={className} ref={ref} style={style}>
93
+ {(placeholderIsVisible || show) && (
94
+ <div
95
+ onMouseEnter={() => setPlaceholderIsVisible(false)}
96
+ className="p-placeholder"
97
+ style={style}
98
+ />
99
+ )}
100
+ {children}
101
+ </Style>
102
+ );
103
+ }
104
+
105
+ ComponentWithHoverFocus.propTypes = {
106
+ children: PropTypes.node,
107
+ style: PropTypes.object,
108
+ show: PropTypes.bool,
109
+ className: PropTypes.string,
110
+ unFocus: PropTypes.func,
111
+ };
112
+
113
+ export default ComponentWithHoverFocus;
114
+
@@ -71,32 +71,12 @@ export default function ComponentWithFocus({
71
71
  }
72
72
  }
73
73
  },
74
- [placeholderIsVisible, unFocus], // Add unFocus to dependencies
74
+ [placeholderIsVisible],
75
75
  );
76
-
77
- // Add wheel event handler
78
- const handleWheel = useCallback(() => {
79
- if (placeholderIsVisible) {
80
- setPlaceholderIsVisible(false);
81
- }
82
- }, [placeholderIsVisible]);
83
-
84
- useEffect(() => {
85
- document.addEventListener("mousemove", checkMouse);
86
- return () => document.removeEventListener("mousemove", checkMouse); // Fix typo
87
- }, [checkMouse]);
88
-
89
- useEffect(() => {
90
- if (ref.current) {
91
- const element = ref.current;
92
- element.addEventListener("wheel", handleWheel);
93
- return () => element.removeEventListener("wheel", handleWheel);
94
- }
95
- }, [handleWheel]);
96
76
 
97
77
  useEffect(() => {
98
78
  document.addEventListener("mousemove", checkMouse);
99
- return () => document.removeEventListener("mousemov", checkMouse);
79
+ return () => document.removeEventListener("mousemove", checkMouse);
100
80
  }, [checkMouse]);
101
81
 
102
82
  useEffect(() => {
package/src/index.js CHANGED
@@ -71,6 +71,7 @@ export { default as KeyIndicatorsDetails } from "./@daf/core/components/Dashboar
71
71
  export { default as DetailsSection } from "./@daf/core/components/Dashboard/Widget/DetailsSection/index.jsx";
72
72
  export { default as SDGWidget } from "./@daf/core/components/Dashboard/Widget/SDGWidget/index.jsx";
73
73
  export { default as ComponentWithFocus } from "./@daf/core/components/Dashboard/ComponentWithFocus/index.jsx";
74
+ export { default as ComponentWithHoverFocus } from "./@daf/core/components/Dashboard/ComponentWithFocus/HoverFocus/index.jsx";
74
75
  export { default as ProjectWidget } from "./@daf/core/components/Dashboard/Widget/ProjectWidget/index.jsx";
75
76
  export { default as WidgetCard } from "./@daf/core/components/Dashboard/Widget/WidgetCard/index.js";
76
77
  export { default as CarouselWidget } from "./@daf/core/components/Dashboard/Widget/CarouselWidget/index.jsx";