harperdb
Version:
HarperDB is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.
1 lines • 20.1 kB
JavaScript
;(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[702],{6816:(e,t,a)=>{a.r(t),a.d(t,{default:()=>_});var n=a(9950),r=a(625),s=a(135),o=a(4084),l=a(8156),i=a(6713),c=a(5269),d=a(5996),u=a(7176),h=a(6114),g=a(3452),f=a(4549),p=a(5502),m=a(4414);const b=function(e){let{totalRecords:t,loading:a,loadingFilter:n,refresh:s,autoRefresh:o,onlyCached:l,toggleAutoRefresh:i,toggleOnlyCached:c,toggleFilter:d}=e;const b=(0,r.Zp)(),{compute_stack_id:x,schema:v,table:y,customer_id:j}=(0,r.g)();return(0,m.jsxs)(u.A,{className:"floating-card-header",children:[(0,m.jsxs)(h.A,{children:[v,"\xa0",y&&`> ${y} > `,o||!a&&!n?(0,m.jsxs)("span",{children:[(0,f.A)(t)," record",1!==t?"s":""]}):(0,m.jsx)("i",{className:"fa fa-spinner fa-spin"})]}),(0,m.jsxs)(h.A,{className:"text-end",children:[(0,m.jsx)(g.A,{id:"refresh",color:"link",tabIndex:"0",title:`Refresh table ${y}`,className:"me-2",onClick:s,children:(0,m.jsx)("i",{className:"fa "+(a?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,m.jsxs)(g.A,{id:"toggleAutoRefresh",color:"link",tabIndex:"0",title:"Turn on Auto-Refresh",onClick:i,children:[(0,m.jsx)("span",{className:"me-2",children:"auto"}),(0,m.jsx)("i",{className:"fa fa-lg fa-toggle-"+(o?"on":"off")})]}),(0,m.jsx)("span",{className:"mx-3 text",children:"|"}),(0,m.jsxs)(g.A,{id:"toggleOnlyCached",color:"link",tabIndex:"0",title:"Only show cached data",onClick:c,children:[(0,m.jsx)("span",{className:"me-2",children:"only cached"}),(0,m.jsx)("i",{className:"fa fa-lg fa-toggle-"+(l?"on":"off")})]}),(0,m.jsx)("span",{className:"mx-3 text",children:"|"}),(0,m.jsx)(g.A,{id:"toggleSearch",color:"link",tabIndex:"0",title:`Filter table ${y}`,className:"me-3",onClick:d,children:(0,m.jsx)("i",{className:"fa fa-search"})}),(0,m.jsx)(g.A,{id:"addRecord",color:"link",tabIndex:"0",title:`Add new record to table ${y}`,className:"me-3",onClick:()=>{(0,p.Ak)(),b(`/o/${j}/i/${x}/browse/${v}/${y}/add`)},children:(0,m.jsx)("i",{className:"fa fa-plus"})}),(0,m.jsx)(g.A,{id:"bulkUpload",color:"link",tabIndex:"0",className:"me-2",title:`Bulk Upload CSV to ${y}`,onClick:()=>b(`/o/${j}/i/${x}/browse/${v}/${y}/csv`),children:(0,m.jsx)("i",{className:"fa fa-file-upload"})})]})]})};var x=a(4343),v=a(127);const y=async e=>{let{schema:t,table:a,filtered:n,pageSize:r,onlyCached:s,sorted:o,page:l,auth:i,url:c,signal:d,signal2:u}=e,h=!1,g=0,f=1,m=[],b=!1,x=!1,y=[],j=["*"],A=[];const w=l*r;try{let e=(0,p.b5)(t,a);if(e||(e=await(async e=>{let{auth:t,url:a,schema:n,table:r,signal:s}=e;return(0,v.A)({operation:{operation:"describe_table",schema:n,table:r},auth:t,url:a,signal:s})})({auth:i,url:c,schema:t,table:a,signal:u}),(0,p.Iz)(t,a,e)),e.error)throw b=[],new Error("table");const{record_count:n,attributes:s,hash_attribute:o}=e;y=s,b=s.map((e=>e.attribute)),void 0===o?(x="$id",j=["$id","*"]):x=o,g=n,y=s,f=g&&Math.ceil(g/r)}catch(S){h=S.message}if(g)try{if(m=n.length?await(async e=>{let{auth:t,url:a,schema:n,table:r,operator:s,get_attributes:o,limit:l,offset:i,onlyCached:c,conditions:d,signal:u}=e;return(0,v.A)({operation:{operation:"search_by_conditions",schema:n,table:r,operator:s,get_attributes:o,limit:l,offset:i,conditions:d,onlyIfCached:c,noCacheStore:c},auth:t,url:a,signal:u})})({schema:t,table:a,operator:"and",get_attributes:j,limit:r,offset:w,sort:o.length?{attribute:o[0].id,descending:o[0].desc}:void 0,conditions:n.map((e=>({search_attribute:e.id,search_type:"contains",search_value:e.value}))),auth:i,url:c,signal:d,onlyCached:s}):await(async e=>{let{auth:t,url:a,schema:n,table:r,search_attribute:s,search_value:o,get_attributes:l,limit:i,offset:c,sort:d,onlyCached:u,signal:h}=e;return(0,v.A)({operation:{operation:"search_by_value",schema:n,table:r,search_attribute:s,search_value:o,get_attributes:l,limit:i,offset:c,sort:d,onlyIfCached:u,noCacheStore:u},auth:t,url:a,signal:h})})({schema:t,table:a,search_attribute:x,search_value:"*",get_attributes:j,limit:r,offset:w,sort:o.length?{attribute:o[0].id,descending:o[0].desc}:void 0,auth:i,url:c,signal:d,onlyCached:s}),m.error||!Array.isArray(m))throw new Error(m.message)}catch(S){h=S.message}A=((e,t)=>{if(!e.length)return[];if(t.length>=8)return[];const a=new Map(t.map(((e,t)=>[e,t]))),n=new Map;for(const r of e)for(const e of Object.keys(r))if(!a.has(e)){const t=n.get(e)||0;n.set(e,t+1)}return Array.from(n).sort(((e,t)=>{let[,a]=e,[,n]=t;return n-a})).map((e=>{let[t]=e;return t})).slice(0,8-t.length)})(m,b),b.push(...A);const C=b.filter((e=>![x,"__createdtime__","__updatedtime__"].includes(e))),N=C.reduce(((e,t)=>({...e,[t]:null})),{});b.includes("__createdtime__")&&C.push("__createdtime__"),b.includes("__updatedtime__")&&C.push("__updatedtime__");const _=(x?[x,...C]:[...C]).map((e=>({Header:"$id"===e?"Primary Key":e.toString(),accessor:t=>t[e.toString()]})));return{newData:m||[],newEntityAttributes:N,newTotalRecords:g,newTotalPages:f,hashAttribute:x,schemaAttributes:y,dataTableColumns:_,error:"table"===h?`You are not authorized to view ${t}:${a}`:h,dynamicAttributesFromDataTable:A}},j=async e=>{let t,a,{schema:n,table:r,filtered:s,pageSize:o,auth:l,url:i,signal:c}=e;try{let e=`SELECT count(*) as newTotalRecords FROM \`${n}\`.\`${r}\` `;s.length&&(e+=`WHERE ${s.map((e=>` \`${e.id}\` LIKE '%${e.value}%'`)).join(" AND ")}`),[{newTotalRecords:a}]=await(async e=>{let{auth:t,url:a,sql:n,signal:r}=e;return(0,v.A)({operation:{operation:"sql",sql:n},auth:t,url:a,signal:r})})({auth:l,url:i,sql:e,signal:c}),t=a&&Math.ceil(a/o)}catch(d){t=1,a=0}return{newTotalRecords:a,newTotalPages:t}};var A=a(5283);let w,C,N;const _=function(e){var t;let{tableState:a,setTableState:u,activeTable:h}=e;const g=(0,r.Zp)(),{compute_stack_id:f,schema:v,table:_,customer_id:S}=(0,r.g)(),P=(0,i.O$)(c.A,(e=>e.auth)),k=(0,i.O$)(c.A,(e=>e.url)),[O,R]=(0,n.useState)(!1),[z,$]=(0,n.useState)(!1),[T,F]=(0,n.useState)(!1),[E,D]=(0,n.useState)(!1),[I,M]=(0,n.useState)(!0),[q,H]=(0,A.A)({});return(0,n.useEffect)((()=>{var e,t,n;null===(e=w)||void 0===e||e.abort(),null===(t=C)||void 0===t||t.abort(),null===(n=N)||void 0===n||n.abort(),D(!1),F(!1);let r=!0;return(async()=>{var e;a.filtered.length||F(!0),w=new AbortController,C=new AbortController;const{newData:t,newTotalRecords:n,newTotalPages:s,newEntityAttributes:o,hashAttribute:l,dynamicAttributesFromDataTable:i,dataTableColumns:c,schemaAttributes:d,error:g}=await y({schema:v,table:_,filtered:a.filtered,pageSize:parseInt(a.pageSize,10),sorted:a.sorted,onlyCached:null===q||void 0===q||null===(e=q.onlyCached)||void 0===e?void 0:e[h],page:a.page,auth:P,url:k,signal:w.signal,signal2:C.signal});r&&(F(!1),t.error?u({...a,tableData:[],error:g}):(a.filtered.length?t.length<a.pageSize?(R(1),$(t.length)):(async()=>{D(!0),R(!1),N=new AbortController;const{newTotalRecords:e,newTotalPages:t}=await j({schema:v,table:_,filtered:a.filtered,pageSize:parseInt(a.pageSize,10),auth:P,url:k,signal:N.signal});r&&(D(!1),R(t),$(e))})():(R(s),$(n)),u({...a,tableData:t,newEntityAttributes:o,hashAttribute:l,dataTableColumns:c,dynamicAttributesFromDataTable:i,schemaAttributes:d,error:g})))})(),()=>{var e,t,a;null===(e=w)||void 0===e||e.abort(),null===(t=C)||void 0===t||t.abort(),null===(a=N)||void 0===a||a.abort(),r=!1}}),[a.sorted,a.page,a.filtered,a.pageSize,q.onlyCached,I,h]),(0,s.A)((()=>a.autoRefresh&&M(Date.now())),d.A.refresh_content_interval),(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)(b,{totalRecords:z,loading:T,loadingFilter:E,autoRefresh:a.autoRefresh,onlyCached:null===q||void 0===q||null===(t=q.onlyCached)||void 0===t?void 0:t[h],refresh:()=>{(0,p.Ak)(),M(Date.now())},toggleAutoRefresh:()=>{u({...a,autoRefresh:!a.autoRefresh}),(0,p.Ak)()},toggleOnlyCached:()=>{var e;const t="object"===typeof q.onlyCached?{...q.onlyCached}:{};t[h]=!(null!==q&&void 0!==q&&null!==(e=q.onlyCached)&&void 0!==e&&e[h]),H({...q,onlyCached:t})},toggleFilter:()=>{u({...a,showFilter:!a.showFilter})}}),(0,m.jsx)(o.A,{className:"my-3",children:(0,m.jsx)(l.A,{className:"react-table-holder",children:(0,m.jsx)(x.A,{manual:!0,columns:a.dataTableColumns||[],data:a.tableData||[],error:a.error,tableDescriptionAttributes:a.schemaAttributes,dynamicAttributesFromDataTable:a.dynamicAttributesFromDataTable,currentPage:a.page,pageSize:a.pageSize,totalPages:O||0,showFilter:a.showFilter,sorted:a.sorted.length?a.sorted:[{id:a.hashAttribute,desc:!1}],loading:T&&!a.autoRefresh,onFilteredChange:e=>{u({...a,page:0,filtered:e})},onSortedChange:e=>{u({...a,page:0,sorted:e})},onPageChange:e=>{u({...a,page:e})},onPageSizeChange:e=>{u({...a,page:0,pageSize:e})},onRowClick:e=>{const t=e[a.hashAttribute],n=encodeURIComponent(v),r=encodeURIComponent(_),s=encodeURIComponent(t);g(`/o/${S}/i/${f}/browse/${n}/${r}/edit/${s}`,{state:{hashValue:t}})}})})})]})}},4343:(e,t,a)=>{a.d(t,{A:()=>y});var n=a(9950),r=a(2043),s=a(5488),o=a(9435),l=a(7176),i=a(6114),c=a(4414);const d=e=>{let{headerGroups:t,onSortedChange:a,sorted:n,showFilter:r,dynamicAttributesFromDataTable:s,tableDescriptionAttributes:o}=e;const d=e=>{let t=!1;return o.forEach((a=>{a.attribute===e&&(a.is_primary_key||a.indexed)&&(t=!0)})),t};return t.map((e=>{const{key:t,...o}=e.getHeaderGroupProps();return(0,c.jsxs)("div",{...o,children:[(0,c.jsx)(l.A,{className:"header g-0",children:e.headers.map((e=>{var t,r;return(0,c.jsx)(i.A,{onClick:()=>{var t,r;s&&!s.includes(e.id)&&d(e.id)&&a([{id:e.id,desc:(null===(t=n[0])||void 0===t?void 0:t.id)===e.id&&!(null!==(r=n[0])&&void 0!==r&&r.desc)}])},className:`${(null===(t=n[0])||void 0===t?void 0:t.id)===e.id?"sorted":""} ${null!==(r=n[0])&&void 0!==r&&r.desc?"desc":"asc"} ${-1!==e.id.indexOf("hdb-narrow")?"action":""} px-1 ${s&&!s.includes(e.id)&&d(e.id)?"":"disabled-column"}`,children:(0,c.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),r&&(0,c.jsx)(l.A,{className:"filter g-0",children:e.headers.map((e=>(0,c.jsx)(i.A,{className:-1!==e.id.indexOf("hdb-narrow")?"action":"",children:e.render("Filter")},e.id)))})]},t)}))};var u=a(3452);const h=function(e){let{page:t,pageSize:a,totalPages:n,onPageChange:r,onPageSizeChange:o,loading:d}=e;return(0,c.jsxs)(l.A,{className:"pagination",children:[(0,c.jsx)(i.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(u.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>r(t-1),disabled:!n||0===t,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(i.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(s.A,{className:"mb-2",type:"number",value:t+1,min:1,max:n,onChange:e=>r(e.target.value-1)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",d?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):n]})]}),(0,c.jsx)(i.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(s.A,{className:"mb-2",type:"select",value:a,onChange:e=>o(e.target.value),children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(i.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(u.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>r(t+1),disabled:!n||t+1===n,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const g=function(e){let{previousPage:t,canPreviousPage:a,pageIndex:n,gotoPage:r,setPageSize:o,pageCount:d,nextPage:h,canNextPage:g,loading:f}=e;return(0,c.jsxs)(l.A,{className:"pagination",children:[(0,c.jsx)(i.A,{xs:"12",sm:"2",className:"previous",children:(0,c.jsx)(u.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:t,disabled:!d||!a,children:(0,c.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,c.jsxs)(i.A,{xs:"12",sm:"4",className:"paginator",children:[(0,c.jsx)("i",{className:"fa fa-book me-2"}),(0,c.jsx)(s.A,{className:"mb-2",type:"number",value:n+1||1,min:1,max:d,onChange:e=>r(e.target.value?Number(e.target.value)-1:0)}),(0,c.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",f?(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"}):d]})]}),(0,c.jsx)(i.A,{xs:"12",sm:"4",className:"page-size",children:(0,c.jsx)(s.A,{className:"mb-2",type:"select",onChange:e=>{r(0),setTimeout((()=>o(e.target.value)),1e3)},children:[20,50,100,250].map((e=>(0,c.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,c.jsx)(i.A,{xs:"12",sm:"2",className:"next",children:(0,c.jsx)(u.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:h,disabled:!d||!g,children:(0,c.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const f=function(e){let{prepareRow:t,row:a,onRowClick:n=!1}=e;return t(a),(0,c.jsx)(l.A,{onClick:()=>n&&n(a.original),className:"g-0",children:a.cells.map((e=>(0,c.jsx)(i.A,{className:-1!==e.column.id.indexOf("hdb-narrow")?"action":"",children:e.render("Cell")},`${e.row.id}-${e.column.id}`)))})};var p=a(3628),m=a(3150);function b(e){let{value:t}=e;return(0,c.jsx)("div",{className:"text-renderer",children:t})}function x(e){let{src:t}=e;const[a,r]=(0,n.useState)(!1),[s,o]=(0,n.useState)(!1);return(0,c.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,c.jsx)("i",{className:"fa fa-image"}),a&&s?(0,c.jsxs)("div",{className:"preview-image no-image",children:[(0,c.jsx)("i",{className:"fa fa-ban text-danger"}),(0,c.jsx)("div",{className:"mt-2",children:"image failed to load"})]}):a?(0,c.jsx)("img",{onError:o,alt:t,src:t,className:"preview-image"}):null]})}const v={Filter:e=>{let{column:{filterValue:t,setFilter:a}}=e;return(0,c.jsx)(s.A,{type:"text",value:t||"",onChange:e=>a(e.target.value||void 0)})},Cell:e=>{let{value:t}=e;return(e=>{switch(Object.prototype.toString.call(e)){case"[object Array]":case"[object Object]":return(0,c.jsx)(b,{value:JSON.stringify(e)});case"[object Boolean]":return(0,c.jsx)(b,{value:e?"true":"false"});case"[object String]":return(t=e)&&(t.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==t.indexOf("data:image"))?(0,c.jsx)(x,{src:e}):(0,c.jsx)(b,{value:e});default:return(0,c.jsx)(b,{value:e})}var t})(t)}};const y=function(e){let{columns:t,data:a,error:s,currentPage:l,pageSize:i,totalPages:u,onFilteredChange:b,onSortedChange:x,onPageChange:y,onPageSizeChange:j,showFilter:A,onRowClick:w,sorted:C,loading:N,dynamicAttributesFromDataTable:_,tableDescriptionAttributes:S,manual:P=!1}=e;const{headerGroups:k,page:O,rows:R,prepareRow:z,state:$,setAllFilters:T,canPreviousPage:F,canNextPage:E,pageOptions:D,pageCount:I,gotoPage:M,nextPage:q,previousPage:H,setPageSize:U}=(0,r.useTable)({columns:t,data:a,defaultColumn:v,onFilteredChange:b,onSortedChange:x,onPageChange:y,onPageSizeChange:j,onRowClick:w,manualPagination:P,manualFilters:P,initialState:{pageIndex:l,pageSize:i}},r.useFilters,r.usePagination),[B,G]=(0,n.useState)(!0),V=P||!O.length?R:O;return(0,n.useEffect)((()=>{!A&&$.filters.length?T([]):b($.filters)}),[$.filters,A]),(0,n.useEffect)((()=>{setTimeout((()=>G(!1)),100)}),[null===V||void 0===V?void 0:V.length]),(0,c.jsxs)(o.tH,{onError:(e,t)=>(0,p.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:m.A,children:[(0,c.jsxs)("div",{className:"react-table-scroller",children:[(0,c.jsx)(d,{headerGroups:k,tableDescriptionAttributes:S,dynamicAttributesFromDataTable:_,onSortedChange:x,sorted:C,showFilter:A}),N||B?(0,c.jsx)("div",{className:"centered text-center",children:(0,c.jsx)("i",{className:"fa fa-spinner fa-spin"})}):V.length?V.map((e=>(0,c.jsx)(f,{row:e,prepareRow:z,onRowClick:w},e.id))):(0,c.jsxs)("div",{className:"centered text-center",children:[(0,c.jsx)("i",{className:"fa fa-exclamation-triangle text-danger"}),(0,c.jsx)("div",{className:"mt-2 text-darkgrey",children:s?`Error loading data: ${s}`:"no records"})]})]}),P?(0,c.jsx)(h,{page:l,pageSize:i,totalPages:u,onPageChange:y,onPageSizeChange:j,loading:N}):(0,c.jsx)(g,{previousPage:H,pageSize:i,canPreviousPage:F,pageIndex:$.pageIndex,pageOptions:D,gotoPage:M,setPageSize:U,pageCount:I,nextPage:q,canNextPage:E,loading:N})]})}},5488:(e,t,a)=>{a.d(t,{A:()=>y});var n=a(9950),r=a(1942),s=a.n(r),o=a(8738),l=a.n(o),i=a(1497);function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}var d=["className","cssModule","type","bsSize","valid","invalid","tag","addon","plaintext","innerRef"];function u(){return u=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},u.apply(this,arguments)}function h(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},s=Object.keys(e);for(n=0;n<s.length;n++)a=s[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n<s.length;n++)a=s[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}function g(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function p(e){var t=function(){if("undefined"===typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"===typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}();return function(){var a,n=b(e);if(t){var r=b(this).constructor;a=Reflect.construct(n,arguments,r)}else a=n.apply(this,arguments);return function(e,t){if(t&&("object"===c(t)||"function"===typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return m(e)}(this,a)}}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function b(e){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},b(e)}var x={children:s().node,type:s().string,size:s().oneOfType([s().number,s().string]),bsSize:s().string,valid:s().bool,invalid:s().bool,tag:i.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),plaintext:s().bool,addon:s().bool,className:s().string,cssModule:s().object},v=function(e){!function(e,t){if("function"!==typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&f(e,t)}(o,e);var t,a,r,s=p(o);function o(e){var t;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(t=s.call(this,e)).getRef=t.getRef.bind(m(t)),t.focus=t.focus.bind(m(t)),t}return t=o,(a=[{key:"getRef",value:function(e){this.props.innerRef&&this.props.innerRef(e),this.ref=e}},{key:"focus",value:function(){this.ref&&this.ref.focus()}},{key:"render",value:function(){var e=this.props,t=e.className,a=e.cssModule,r=e.type,s=void 0===r?"text":r,o=e.bsSize,c=e.valid,g=e.invalid,f=e.tag,p=e.addon,m=e.plaintext,b=e.innerRef,x=h(e,d),v=["switch","radio","checkbox"].indexOf(s)>-1,y="select"===s,j="range"===s,A=f||(y||"textarea"===s?s:"input"),w="form-control";m?(w="".concat(w,"-plaintext"),A=f||"input"):j?w="form-range":y?w="form-select":v&&(w=p?null:"form-check-input"),x.size&&/\D/g.test(x.size)&&((0,i.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),o=x.size,delete x.size);var C=(0,i.qO)(l()(t,g&&"is-invalid",c&&"is-valid",!!o&&(y?"form-select-".concat(o):"form-control-".concat(o)),w),a);return("input"===A||f&&"function"===typeof f)&&(x.type="switch"===s?"checkbox":s),x.children&&!m&&"select"!==s&&"string"===typeof A&&"select"!==A&&((0,i.mc)('Input with a type of "'.concat(s,'" cannot have children. Please use "value"/"defaultValue" instead.')),delete x.children),n.createElement(A,u({},x,{ref:b,className:C,"aria-invalid":g}))}}])&&g(t.prototype,a),r&&g(t,r),Object.defineProperty(t,"prototype",{writable:!1}),o}(n.Component);v.propTypes=x;const y=v}}]);