@instincthub/react-ui 0.1.35 → 0.1.36

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.
@@ -174,6 +174,10 @@
174
174
  z-index: 10;
175
175
  }
176
176
 
177
+ .ihub-table tr:nth-child(1n) {
178
+ background-color: var(--White);
179
+ }
180
+
177
181
  .ihub-empty-state {
178
182
  padding: 40px 0;
179
183
  text-align: center;
@@ -283,7 +287,7 @@
283
287
  }
284
288
 
285
289
  /* Dark mode support */
286
- @media (prefers-color-scheme: dark) {
290
+ /* @media (prefers-color-scheme: dark) {
287
291
  .ihub-table th {
288
292
  background-color: var(--OpacityBackground);
289
293
  color: var(--Gunmetal);
@@ -322,7 +326,7 @@
322
326
  background-color: var(--White);
323
327
  color: var(--LavenderGray);
324
328
  }
325
- }
329
+ } */
326
330
 
327
331
  /* Status Badge Styles */
328
332
  .ihub-status-badge {
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,typeof as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,Fragment as i,jsx as l}from"react/jsx-runtime";import{useState as r,useEffect as s}from"react";import n from"@mui/icons-material/ExpandMore";import{setCookie as o}from"../lib/helpFunction.js";import u from"../ui/viewer/ContentViewer.js";var d=function(d){var c=r(!1),m=e(c,2),p=m[0],f=m[1],h=r("Choose..."),b=e(h,2),v=b[0],_=b[1],N=r([]),V=e(N,2),y=V[0],C=V[1],j=r(""),x=e(j,2),k=x[0],w=x[1];s(function(){var e=[];for(var t in d.options)d.options[t].id===d.defaultValue&&(_(d.options[t].title),w(d.options[t].id)),e.push(d.options[t]);C(e)},[d.options,d.defaultValue]),s(function(){var e;if("object"===t(d.defaultValue)&&null!==(e=d.defaultValue)&&void 0!==e&&e.id)_(d.defaultValue.title),w(d.defaultValue.id);else if(d.defaultValue){var a=d.options.find(function(e){return e.id===d.defaultValue});null!=a&&a.id&&(_(a.title),w(a.id))}else _("Choose..."),w("")},[d.defaultValue,d.options]);return a(i,{children:[a("div",{className:"ihub-select ".concat(d.err?"ihub-form-err":""),style:{width:d.defaultWidth||"300px"},children:[a("div",{className:"ihub-select__btn",onClick:function(){return 0!==d.status&&f(!p)},children:[a("div",{className:0===d.status?"disabled":"",children:[l("input",{type:"text",className:"ihub-select__input",value:d.upperCases?String(k).toUpperCase():k||"",id:"id_"+d.name,name:d.name,required:d.required,"data-name":d.dataName||d.name,readOnly:!0}),l(u,{content:v||"...",showToolbar:!1})]}),d.label&&l("label",{className:"ihub-select__label",children:d.label}),l("div",{className:"search_btn",children:0===d.status?l("div",{className:"ihub-select__loader"}):l(n,{})})]}),p&&l("div",{className:"ihub-select__content",children:y.map(function(e,t){return l("div",{className:"ihub-select__item",onClick:function(){return function(e,t){_(t),w(e.id),f(!1),d.setValue&&d.setValue(e),d.setNameValue&&d.setNameValue(d.name,e),d.setObjects&&d.setObjects(e),d.setArrayProps&&d.setArrayProps(d.arrayProps||[],e),d.setCookies&&o(d.setCookies,JSON.stringify(e),365)}(e,e.title)},children:e.title},t)})})]}),d.note&&l("p",{className:"ihub-input-notes",children:d.note}),d.error&&l("span",{className:"ihub-error-text",children:d.error})]})};export{d as default};
1
+ import{slicedToArray as e,typeof as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,Fragment as i,jsx as l}from"react/jsx-runtime";import{useState as s,useEffect as r}from"react";import n from"@mui/icons-material/ExpandMore";import{setCookie as o}from"../lib/helpFunction.js";import u from"../ui/viewer/ContentViewer.js";var c=function(c){var d=s(!1),m=e(d,2),p=m[0],f=m[1],h=s("Choose..."),b=e(h,2),v=b[0],N=b[1],_=s([]),V=e(_,2),y=V[0],C=V[1],j=s(""),x=e(j,2),k=x[0],w=x[1];r(function(){var e=[];for(var t in c.options)c.options[t].id===c.defaultValue&&(N(c.options[t].title),w(c.options[t].id)),e.push(c.options[t]);C(e)},[c.options,c.defaultValue]),r(function(){var e;if("object"===t(c.defaultValue)&&null!==(e=c.defaultValue)&&void 0!==e&&e.id)N(c.defaultValue.title),w(c.defaultValue.id);else if(c.defaultValue){var a=c.options.find(function(e){return e.id===c.defaultValue});null!=a&&a.id&&(N(a.title),w(a.id))}else N("Choose..."),w("")},[c.defaultValue,c.options]);return a(i,{children:[a("div",{className:"ihub-select ".concat(c.err?"ihub-form-err":"").concat(c.className?" ".concat(c.className):""),style:{width:c.defaultWidth||"300px"},children:[a("div",{className:"ihub-select__btn",onClick:function(){return 0!==c.status&&f(!p)},children:[a("div",{className:0===c.status?"disabled":"",children:[l("input",{type:"text",className:"ihub-select__input",value:c.upperCases?String(k).toUpperCase():k||"",id:"id_"+c.name,name:c.name,required:c.required,"data-name":c.dataName||c.name,readOnly:!0}),l(u,{content:v||"...",showToolbar:!1})]}),c.label&&l("label",{className:"ihub-select__label",children:c.label}),l("div",{className:"search_btn",children:0===c.status?l("div",{className:"ihub-select__loader"}):l(n,{})})]}),p&&l("div",{className:"ihub-select__content",children:y.map(function(e,t){return l("div",{className:"ihub-select__item",onClick:function(){return function(e,t){N(t),w(e.id),f(!1),c.setValue&&c.setValue(e),c.setNameValue&&c.setNameValue(c.name,e),c.setObjects&&c.setObjects(e),c.setArrayProps&&c.setArrayProps(c.arrayProps||[],e),c.setCookies&&o(c.setCookies,JSON.stringify(e),365)}(e,e.title)},children:e.title},t)})})]}),c.note&&l("p",{className:"ihub-input-notes",children:c.note}),c.error&&l("span",{className:"ihub-error-text",children:c.error})]})};export{c as default};
2
2
  //# sourceMappingURL=FilterObjects.js.map
@@ -1,2 +1,2 @@
1
- import{slicedToArray as e,asyncToGenerator as n,regenerator as r,toConsumableArray as a,typeof as i,createForOfIteratorHelper as l}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as t,jsxs as c}from"react/jsx-runtime";import{memo as o,useState as s,useEffect as u,useCallback as d}from"react";import{reqOptions as h,API_HOST_URL as m}from"../lib/helpFunction.js";import"../lib/utils.js";import f from"@mui/icons-material/SearchOutlined";import v from"@mui/icons-material/Check";import p from"@mui/icons-material/CloseOutlined";var b=function(e){if(!e||!Array.isArray(e))return[];var n,r=[],t=l(e);try{for(t.s();!(n=t.n()).done;){var c=n.value;Array.isArray(c)?r.push.apply(r,a(b(c))):c&&"object"===i(c)&&c.id&&r.push(c)}}catch(e){t.e(e)}finally{t.f()}var o=r.filter(function(e,n,r){return r.findIndex(function(n){return n.id===e.id})===n});return o};function y(l){var o=l.label,y=l.token,N=l.handle,g=l.selected,k=l.setSelected,S=l.appLabel,j=l.modelName,C=l.filterChannel,O=void 0!==C&&C,_=l.limitQuery,x=void 0===_?5:_,D=l.limitSelect,w=void 0===D?0:D,F=l.options,T=l.keyName,A=void 0===T?"title":T,E=l.placeholder,B=void 0===E?"Search by Username or Email":E,I=l.searchUrl,q=l.err,H=void 0!==q&&q,P=l.required,U=void 0!==P&&P,G=s(""),J=e(G,2),K=J[0],L=J[1],Q=s([]),R=e(Q,2),z=R[0],M=R[1],V=s(!1),W=e(V,2),X=W[0],Y=W[1],Z=s(null),$=e(Z,2),ee=$[0],ne=$[1];u(function(){M(F||[])},[F]),u(function(){if(g&&g.length>0){var e=b(g);JSON.stringify(e)!==JSON.stringify(g)&&console.warn("SearchObjectsFromDB: Detected malformed selected array. Parent should provide flattened data:",{original:g,expectedFormat:e,keyName:A})}console.log("SearchObjectsFromDB Debug:",{keyName:A,selectedLength:(null==g?void 0:g.length)||0,selectedSample:null==g?void 0:g[0],label:o})},[g,A,o]);var re,ae=d(n(r().m(function e(){var n,i,l,t,c,o;return r().w(function(e){for(;;)switch(e.p=e.n){case 0:return Y(!0),ne(null),n=h("GET",null,y),i=I?I.includes("/?")?"".concat(I,"&search=").concat(K):"".concat(I,"?search=").concat(K):S?"".concat(m,"channels/").concat(N,"/dynamic-search/?app_label=").concat(S,"&model_name=").concat(j,"&value=").concat(K,"&filter_channel=").concat(O):"".concat(m,"auth/").concat(N,"/search-user/").concat(K,"/?limit=").concat(x),e.p=1,e.n=2,fetch(i,n);case 2:if((l=e.v).ok){e.n=3;break}throw new Error("HTTP error ".concat(l.status));case 3:return e.n=4,l.json();case 4:t=e.v,M([].concat(a(t.results||[]),a(F||[]))),e.n=6;break;case 5:e.p=5,o=e.v,c=o instanceof Error?o.message:"Unknown error occurred",console.error("Error fetching search results:",c),ne(c),M(a(F||[]));case 6:return e.p=6,Y(!1),e.f(6);case 7:return e.a(2)}},e,null,[[1,5,6,7]])})),[K,y,I,S,j,N,O,x]),ie=d(function(e){"Enter"===e.key&&(e.preventDefault(),ae())},[ae]),le=d(function(){L(""),M(a(F||[])),ne(null)},[]),te=d(function(e){return!(!e||!g||0===g.length)&&b(g).some(function(n){if(!n)return!1;var r="object"===i(n)?null==n?void 0:n.id:n,a=(null==e?void 0:e.username)||(null==e?void 0:e.id);return r===a&&null!=r&&null!=a})},[g]),ce=d(function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e&&e.id&&g){var r=b(g),i=r.find(function(n){return(null==n?void 0:n.id)===e.id});if(n){var l=r.filter(function(n){return(null==n?void 0:n.id)!==e.id});k(l)}else!i&&(0===w||r.length<w)?k([].concat(a(r),[e])):1===w&&k([e])}},[g,k,w]);return t("div",{className:"ihub-react-search-container",children:c("div",{className:"ihub-react-search card",children:[o&&c("h4",{className:"ihub-fs-sm ihub-mt-2 ihub-mb-2",children:[o," ",U&&t("span",{className:"ihub-required",children:"*"})]}),c("div",{className:"ihub-search-input",children:[t("input",{type:"text",placeholder:B,onKeyDown:ie,value:K,onChange:function(e){return L(e.target.value)},disabled:X,required:U&&!g.length}),c("div",{className:"ihub-search-icons",children:[K&&t(p,{onClick:le,className:"ihub-search-icon ihub-close-icon"}),t(f,{onClick:ae,className:"ihub-search-icon ihub-search-button ".concat(X?"ihub-disabled":"")})]})]}),X&&t("div",{className:"ihub-loading",children:"Searching..."}),ee&&t("div",{className:"ihub-search-error",children:ee}),c("ul",{className:"ihub-search-results",children:[null==z?void 0:z.map(function(e,n){return c("li",{className:"ihub-search-result-item ihub-valid",onClick:function(){return e&&ce(e)},children:[te(e)&&t(v,{className:"ihub-check-icon",style:{position:"relative",top:"5px",marginRight:"10px"}}),e[A]||(null==e?void 0:e.title)||"",te(e)?t(p,{className:"ihub-delete-icon ihub-ml-auto",onClick:function(){return e&&ce(e,!0)}}):""]},"".concat((null==e?void 0:e.id)||(null==e?void 0:e.username)||n))}),X||ee||z.length||g.length?"":t("li",{className:"ihub-no-results",children:"No available options"})]}),(re=b(g||[]),0===re.length?null:c("ul",{className:"ihub-selected-options",children:[t("h4",{className:"ihub-fs-md",children:"Selected Options:"}),re.map(function(e,n){if(!e||"object"!==i(e))return console.warn("SearchObjectsFromDB: Invalid item in selected array:",e),null;var r=e,a=r[A]||r.title||r.name||r.full_name||r.name_plus_username||r.display_name||r.username||"Item ".concat(n+1),l=e.id||r.username||"selected-".concat(n);return a&&a!=="Item ".concat(n+1)||console.log("SearchObjectsFromDB: Display text debug:",{item:e,keyName:A,itemKeyName:r[A],title:r.title,name:r.name,fullName:r.full_name,displayText:a}),c("li",{children:[t("span",{children:a}),t(p,{className:"ihub-delete-icon",onClick:function(){return ce(e,!0)}})]},l)})]})),H&&t("p",{className:"ihub-error",children:"This field is required"})]})})}var N=o(y);export{N as default};
1
+ import{slicedToArray as e,asyncToGenerator as r,regenerator as n,toConsumableArray as a,typeof as i,createForOfIteratorHelper as t}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as c,jsxs as l}from"react/jsx-runtime";import{memo as o,useState as s,useEffect as u,useCallback as d}from"react";import{reqOptions as h,API_HOST_URL as m}from"../lib/helpFunction.js";import"../lib/utils.js";import f from"@mui/icons-material/SearchOutlined";import v from"@mui/icons-material/Check";import p from"@mui/icons-material/CloseOutlined";var b=function(e){if(!e||!Array.isArray(e))return[];var r,n=[],c=t(e);try{for(c.s();!(r=c.n()).done;){var l=r.value;Array.isArray(l)?n.push.apply(n,a(b(l))):l&&"object"===i(l)&&l.id&&n.push(l)}}catch(e){c.e(e)}finally{c.f()}var o=n.filter(function(e,r,n){return n.findIndex(function(r){return r.id===e.id})===r});return o};function y(t){var o=t.label,y=t.token,g=t.handle,N=t.selected,k=t.setSelected,j=t.appLabel,S=t.modelName,w=t.filterChannel,O=void 0!==w&&w,C=t.limitQuery,D=void 0===C?5:C,E=t.limitSelect,T=void 0===E?0:E,_=t.options,x=t.keyName,F=void 0===x?"title":x,A=t.placeholder,B=void 0===A?"Search by Username or Email":A,I=t.searchUrl,U=t.err,q=void 0!==U&&U,H=t.required,P=void 0!==H&&H,G=t.defaultUrl,J=s(""),K=e(J,2),L=K[0],Q=K[1],R=s([]),z=e(R,2),M=z[0],V=z[1],W=s(!1),X=e(W,2),Y=X[0],Z=X[1],$=s(null),ee=e($,2),re=ee[0],ne=ee[1];u(function(){G||V(_||[])},[_,G]);var ae=d(r(n().m(function e(){var r,a,i,t,c;return n().w(function(e){for(;;)switch(e.p=e.n){case 0:if(G){e.n=1;break}return e.a(2);case 1:return Z(!0),ne(null),e.p=2,r=h("GET",null,y),e.n=3,fetch(G,r);case 3:if((a=e.v).ok){e.n=4;break}throw new Error("HTTP error ".concat(a.status));case 4:return e.n=5,a.json();case 5:i=e.v,V(i.results||i||[]),e.n=7;break;case 6:e.p=6,c=e.v,t=c instanceof Error?c.message:"Unknown error",console.error("SearchObjectsFromDB: Error fetching default data:",t),V(_||[]);case 7:return e.p=7,Z(!1),e.f(7);case 8:return e.a(2)}},e,null,[[2,6,7,8]])})),[G,y,_]);u(function(){G&&ae()},[G,ae]),u(function(){if(N&&N.length>0){var e=b(N);JSON.stringify(e)!==JSON.stringify(N)&&console.warn("SearchObjectsFromDB: Detected malformed selected array. Parent should provide flattened data:",{original:N,expectedFormat:e,keyName:F})}console.log("SearchObjectsFromDB Debug:",{keyName:F,selectedLength:(null==N?void 0:N.length)||0,selectedSample:null==N?void 0:N[0],label:o})},[N,F,o]);var ie,te=d(r(n().m(function e(){var r,i,t,c,l,o,s;return n().w(function(e){for(;;)switch(e.p=e.n){case 0:return Z(!0),ne(null),r=h("GET",null,y),i=I?I.includes("/?")?"".concat(I,"&search=").concat(L):"".concat(I,"?search=").concat(L):j?"".concat(m,"channels/").concat(g,"/dynamic-search/?app_label=").concat(j,"&model_name=").concat(S,"&value=").concat(L,"&filter_channel=").concat(O):"".concat(m,"auth/").concat(g,"/search-user/").concat(L,"/?limit=").concat(D),e.p=1,e.n=2,fetch(i,r);case 2:if((t=e.v).ok){e.n=3;break}throw new Error("HTTP error ".concat(t.status));case 3:return e.n=4,t.json();case 4:c=e.v,l=c.results||[],V(G?l:[].concat(a(l),a(_||[]))),e.n=6;break;case 5:e.p=5,s=e.v,o=s instanceof Error?s.message:"Unknown error occurred",console.error("Error fetching search results:",o),ne(o),V(G?[]:a(_||[]));case 6:return e.p=6,Z(!1),e.f(6);case 7:return e.a(2)}},e,null,[[1,5,6,7]])})),[L,y,I,j,S,g,O,D,G,_]),ce=d(function(e){"Enter"===e.key&&(e.preventDefault(),te())},[te]),le=d(function(){Q(""),ne(null),G?ae():V(a(_||[]))},[G,ae,_]),oe=d(function(e){return!(!e||!N||0===N.length)&&b(N).some(function(r){if(!r)return!1;var n="object"===i(r)?null==r?void 0:r.id:r,a=(null==e?void 0:e.username)||(null==e?void 0:e.id);return n===a&&null!=n&&null!=a})},[N]),se=d(function(e){var r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(e&&e.id&&N){var n=b(N),i=n.find(function(r){return(null==r?void 0:r.id)===e.id});if(r){var t=n.filter(function(r){return(null==r?void 0:r.id)!==e.id});k(t)}else!i&&(0===T||n.length<T)?k([].concat(a(n),[e])):1===T&&k([e])}},[N,k,T]);return c("div",{className:"ihub-react-search-container",children:l("div",{className:"ihub-react-search card",children:[o&&l("h4",{className:"ihub-fs-sm ihub-mt-2 ihub-mb-2",children:[o," ",P&&c("span",{className:"ihub-required",children:"*"})]}),l("div",{className:"ihub-search-input",children:[c("input",{type:"text",placeholder:B,onKeyDown:ce,value:L,onChange:function(e){return Q(e.target.value)},disabled:Y,required:P&&!N.length}),l("div",{className:"ihub-search-icons",children:[L&&c(p,{onClick:le,className:"ihub-search-icon ihub-close-icon"}),c(f,{onClick:te,className:"ihub-search-icon ihub-search-button ".concat(Y?"ihub-disabled":"")})]})]}),Y&&c("div",{className:"ihub-loading",children:"Searching..."}),re&&c("div",{className:"ihub-search-error",children:re}),l("ul",{className:"ihub-search-results",children:[null==M?void 0:M.map(function(e,r){return l("li",{className:"ihub-search-result-item ihub-valid",onClick:function(){return e&&se(e)},children:[oe(e)&&c(v,{className:"ihub-check-icon",style:{position:"relative",top:"5px",marginRight:"10px"}}),e[F]||(null==e?void 0:e.title)||"",oe(e)?c(p,{className:"ihub-delete-icon ihub-ml-auto",onClick:function(){return e&&se(e,!0)}}):""]},"".concat((null==e?void 0:e.id)||(null==e?void 0:e.username)||r))}),Y||re||M.length||N.length?"":c("li",{className:"ihub-no-results",children:"No available options"})]}),(ie=b(N||[]),0===ie.length?null:l("ul",{className:"ihub-selected-options",children:[c("h4",{className:"ihub-fs-md",children:"Selected Options:"}),ie.map(function(e,r){if(!e||"object"!==i(e))return console.warn("SearchObjectsFromDB: Invalid item in selected array:",e),null;var n=e,a=n[F]||n.title||n.name||n.full_name||n.name_plus_username||n.display_name||n.username||"Item ".concat(r+1),t=e.id||n.username||"selected-".concat(r);return a&&a!=="Item ".concat(r+1)||console.log("SearchObjectsFromDB: Display text debug:",{item:e,keyName:F,itemKeyName:n[F],title:n.title,name:n.name,fullName:n.full_name,displayText:a}),l("li",{children:[c("span",{children:a}),c(p,{className:"ihub-delete-icon",onClick:function(){return se(e,!0)}})]},t)})]})),q&&c("p",{className:"ihub-error",children:"This field is required"})]})})}var g=o(y);export{g as default};
2
2
  //# sourceMappingURL=SearchObjectsFromDB.js.map
@@ -18,6 +18,7 @@ interface FilterObjectsProps {
18
18
  status?: number;
19
19
  upperCases?: boolean;
20
20
  error?: string;
21
+ className?: string;
21
22
  }
22
23
  /**
23
24
  * FilterOnject dropdown
@@ -40,6 +41,13 @@ interface FilterObjectsProps {
40
41
  * arrayProps={arrayProps}
41
42
  * dataName="filterObjects"
42
43
  * setCookies="filterObjects" // Optional
44
+ * className="custom-class" // Optional
45
+ * defaultWidth="400px" // Optional
46
+ * required // Optional
47
+ * err={hasError} // Optional
48
+ * upperCases // Optional
49
+ * status={isLoading ? 0 : 1} // Optional: 0 for loading/disabled, 1 for active
50
+ * error={errorMessage} // Optional: error message to display
43
51
  * />
44
52
  * ```
45
53
  * Props interface for the FilterObjects component
@@ -17,6 +17,8 @@ interface SearchObjectsFromDBProps<T extends SearchObjectItemType = SearchObject
17
17
  selected: T[];
18
18
  err?: boolean;
19
19
  required?: boolean;
20
+ /** URL to fetch the initial default display list on mount and after search is cleared */
21
+ defaultUrl?: string;
20
22
  }
21
23
  /**
22
24
  * Component for searching objects from a database with filtering capabilities
@@ -46,7 +48,9 @@ interface SearchObjectsFromDBProps<T extends SearchObjectItemType = SearchObject
46
48
  * @param {string} props.searchUrl - The search url for the API request
47
49
  * @param {T[]} props.selected - The selected for the API request
48
50
  * @param {boolean} props.err - The error for the API request
51
+ * @param {string} props.defaultUrl - URL to fetch the initial default display list on mount.
52
+ * When set, search results replace the list entirely (no merge with options), preventing duplicates.
49
53
  */
50
- declare function SearchObjectsFromDB<T extends SearchObjectItemType = SearchObjectItemType>({ label, token, handle, selected, setSelected, appLabel, modelName, filterChannel, limitQuery, limitSelect, options, keyName, placeholder, searchUrl, err, required, }: SearchObjectsFromDBProps<T>): JSX.Element;
54
+ declare function SearchObjectsFromDB<T extends SearchObjectItemType = SearchObjectItemType>({ label, token, handle, selected, setSelected, appLabel, modelName, filterChannel, limitQuery, limitSelect, options, keyName, placeholder, searchUrl, err, required, defaultUrl, }: SearchObjectsFromDBProps<T>): JSX.Element;
51
55
  declare const _default: typeof SearchObjectsFromDB;
52
56
  export default _default;