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.4 kB
JavaScript
;(self.webpackChunkharperdb_studio=self.webpackChunkharperdb_studio||[]).push([[702],{6816:(e,t,a)=>{a.r(t),a.d(t,{default:()=>S});var n=a(9379),r=a(9950),s=a(5077),o=a(135),i=a(4084),l=a(8156),c=a(6713),d=a(5269),u=a(5996),h=a(7176),g=a(6114),f=a(3452),p=a(4549),m=a(5502),b=a(4414);const x=function(e){let{totalRecords:t,loading:a,loadingFilter:n,refresh:r,autoRefresh:o,onlyCached:i,toggleAutoRefresh:l,toggleOnlyCached:c,toggleFilter:d}=e;const u=(0,s.Zp)(),{compute_stack_id:x,schema:y,table:v,customer_id:j}=(0,s.g)();return(0,b.jsxs)(h.A,{className:"floating-card-header",children:[(0,b.jsxs)(g.A,{children:[y,"\xa0",v&&"> ".concat(v," > "),o||!a&&!n?(0,b.jsxs)("span",{children:[(0,p.A)(t)," record",1!==t?"s":""]}):(0,b.jsx)("i",{className:"fa fa-spinner fa-spin"})]}),(0,b.jsxs)(g.A,{className:"text-end",children:[(0,b.jsx)(f.A,{id:"refresh",color:"link",tabIndex:"0",title:"Refresh table ".concat(v),className:"me-2",onClick:r,children:(0,b.jsx)("i",{className:"fa ".concat(a?"fa-spinner fa-spin":"fa-sync-alt")})}),(0,b.jsxs)(f.A,{id:"toggleAutoRefresh",color:"link",tabIndex:"0",title:"Turn on Auto-Refresh",onClick:l,children:[(0,b.jsx)("span",{className:"me-2",children:"auto"}),(0,b.jsx)("i",{className:"fa fa-lg fa-toggle-".concat(o?"on":"off")})]}),(0,b.jsx)("span",{className:"mx-3 text",children:"|"}),(0,b.jsxs)(f.A,{id:"toggleOnlyCached",color:"link",tabIndex:"0",title:"Only show cached data",onClick:c,children:[(0,b.jsx)("span",{className:"me-2",children:"only cached"}),(0,b.jsx)("i",{className:"fa fa-lg fa-toggle-".concat(i?"on":"off")})]}),(0,b.jsx)("span",{className:"mx-3 text",children:"|"}),(0,b.jsx)(f.A,{id:"toggleSearch",color:"link",tabIndex:"0",title:"Filter table ".concat(v),className:"me-3",onClick:d,children:(0,b.jsx)("i",{className:"fa fa-search"})}),(0,b.jsx)(f.A,{id:"addRecord",color:"link",tabIndex:"0",title:"Add new record to table ".concat(v),className:"me-3",onClick:()=>{(0,m.Ak)(),u("/o/".concat(j,"/i/").concat(x,"/browse/").concat(y,"/").concat(v,"/add"))},children:(0,b.jsx)("i",{className:"fa fa-plus"})}),(0,b.jsx)(f.A,{id:"bulkUpload",color:"link",tabIndex:"0",className:"me-2",title:"Bulk Upload CSV to ".concat(v),onClick:()=>u("/o/".concat(j,"/i/").concat(x,"/browse/").concat(y,"/").concat(v,"/csv")),children:(0,b.jsx)("i",{className:"fa fa-file-upload"})})]})]})};var y=a(4343),v=a(127);const j=async e=>{let{schema:t,table:a,filtered:r,pageSize:s,onlyCached:o,sorted:i,page:l,auth:c,url:d,signal:u,signal2:h}=e,g=!1,f=0,p=1,b=[],x=!1,y=!1,j=[],A=["*"],w=[];const C=l*s;try{let e=(0,m.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:c,url:d,schema:t,table:a,signal:h}),(0,m.Iz)(t,a,e)),e.error)throw x=[],new Error("table");const{record_count:n,attributes:r,hash_attribute:o}=e;j=r,x=r.map((e=>e.attribute)),void 0===o?(y="$id",A=["$id","*"]):y=o,f=n,j=r,p=f&&Math.ceil(f/s)}catch(P){g=P.message}if(f)try{if(b=r.length?await(async e=>{let{auth:t,url:a,schema:n,table:r,operator:s,get_attributes:o,limit:i,offset:l,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:i,offset:l,conditions:d,onlyIfCached:c,noCacheStore:c},auth:t,url:a,signal:u})})({schema:t,table:a,operator:"and",get_attributes:A,limit:s,offset:C,sort:i.length?{attribute:i[0].id,descending:i[0].desc}:void 0,conditions:r.map((e=>({search_attribute:e.id,search_type:"contains",search_value:e.value}))),auth:c,url:d,signal:u,onlyCached:o}):await(async e=>{let{auth:t,url:a,schema:n,table:r,search_attribute:s,search_value:o,get_attributes:i,limit:l,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:i,limit:l,offset:c,sort:d,onlyIfCached:u,noCacheStore:u},auth:t,url:a,signal:h})})({schema:t,table:a,search_attribute:y,search_value:"*",get_attributes:A,limit:s,offset:C,sort:i.length?{attribute:i[0].id,descending:i[0].desc}:void 0,auth:c,url:d,signal:u,onlyCached:o}),b.error||!Array.isArray(b))throw new Error(b.message)}catch(P){g=P.message}w=((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)})(b,x),x.push(...w);const N=x.filter((e=>![y,"__createdtime__","__updatedtime__"].includes(e))),_=N.reduce(((e,t)=>(0,n.A)((0,n.A)({},e),{},{[t]:null})),{});x.includes("__createdtime__")&&N.push("__createdtime__"),x.includes("__updatedtime__")&&N.push("__updatedtime__");const S=(y?[y,...N]:[...N]).map((e=>({Header:"$id"===e?"Primary Key":e.toString(),accessor:t=>t[e.toString()]})));return{newData:b||[],newEntityAttributes:_,newTotalRecords:f,newTotalPages:p,hashAttribute:y,schemaAttributes:j,dataTableColumns:S,error:"table"===g?"You are not authorized to view ".concat(t,":").concat(a):g,dynamicAttributesFromDataTable:w}},A=async e=>{let t,a,{schema:n,table:r,filtered:s,pageSize:o,auth:i,url:l,signal:c}=e;try{let e="SELECT count(*) as newTotalRecords FROM `".concat(n,"`.`").concat(r,"` ");s.length&&(e+="WHERE ".concat(s.map((e=>" `".concat(e.id,"` LIKE '%").concat(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:i,url:l,sql:e,signal:c}),t=a&&Math.ceil(a/o)}catch(d){t=1,a=0}return{newTotalRecords:a,newTotalPages:t}};var w=a(5283);let C,N,_;const S=function(e){let{tableState:t,setTableState:a,activeTable:h}=e;const g=(0,s.Zp)(),{compute_stack_id:f,schema:p,table:v,customer_id:S}=(0,s.g)(),P=(0,c.O$)(d.A,(e=>e.auth)),k=(0,c.O$)(d.A,(e=>e.url)),[O,R]=(0,r.useState)(!1),[z,T]=(0,r.useState)(!1),[F,E]=(0,r.useState)(!1),[D,I]=(0,r.useState)(!1),[M,$]=(0,r.useState)(!0),[q,H]=(0,w.A)({});return(0,r.useEffect)((()=>{var e,r,s;null===(e=C)||void 0===e||e.abort(),null===(r=N)||void 0===r||r.abort(),null===(s=_)||void 0===s||s.abort(),I(!1),E(!1);let o=!0;return(async()=>{t.filtered.length||E(!0),C=new AbortController,N=new AbortController;const{newData:e,newTotalRecords:r,newTotalPages:s,newEntityAttributes:i,hashAttribute:l,dynamicAttributesFromDataTable:c,dataTableColumns:d,schemaAttributes:u,error:h}=await j({schema:p,table:v,filtered:t.filtered,pageSize:parseInt(t.pageSize,10),sorted:t.sorted,onlyCached:t.onlyCached,page:t.page,auth:P,url:k,signal:C.signal,signal2:N.signal});o&&(E(!1),e.error?a((0,n.A)((0,n.A)({},t),{},{tableData:[],error:h})):(t.filtered.length?e.length<t.pageSize?(R(1),T(e.length)):(async()=>{I(!0),R(!1),_=new AbortController;const{newTotalRecords:e,newTotalPages:a}=await A({schema:p,table:v,filtered:t.filtered,pageSize:parseInt(t.pageSize,10),auth:P,url:k,signal:_.signal});o&&(I(!1),R(a),T(e))})():(R(s),T(r)),a((0,n.A)((0,n.A)({},t),{},{tableData:e,newEntityAttributes:i,hashAttribute:l,dataTableColumns:d,dynamicAttributesFromDataTable:c,schemaAttributes:u,error:h}))))})(),()=>{var e,t,a;null===(e=C)||void 0===e||e.abort(),null===(t=N)||void 0===t||t.abort(),null===(a=_)||void 0===a||a.abort(),o=!1}}),[t.sorted,t.page,t.filtered,t.pageSize,t.onlyCached,M,h]),(0,o.A)((()=>t.autoRefresh&&$(Date.now())),u.A.refresh_content_interval),(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)(x,{totalRecords:z,loading:F,loadingFilter:D,autoRefresh:t.autoRefresh,onlyCached:t.onlyCached,refresh:()=>{(0,m.Ak)(),$(Date.now())},toggleAutoRefresh:()=>{a((0,n.A)((0,n.A)({},t),{},{autoRefresh:!t.autoRefresh})),(0,m.Ak)()},toggleOnlyCached:()=>{a((0,n.A)((0,n.A)({},t),{},{onlyCached:!t.onlyCached}))},toggleFilter:()=>{a((0,n.A)((0,n.A)({},t),{},{showFilter:!t.showFilter}))}}),(0,b.jsx)(i.A,{className:"my-3",children:(0,b.jsx)(l.A,{className:"react-table-holder",children:(0,b.jsx)(y.A,{manual:!0,columns:t.dataTableColumns||[],data:t.tableData||[],error:t.error,tableDescriptionAttributes:t.schemaAttributes,dynamicAttributesFromDataTable:t.dynamicAttributesFromDataTable,currentPage:t.page,pageSize:t.pageSize,totalPages:O||0,showFilter:t.showFilter,sorted:t.sorted.length?t.sorted:[{id:t.hashAttribute,desc:!1}],loading:F&&!t.autoRefresh,onFilteredChange:e=>{a((0,n.A)((0,n.A)({},t),{},{page:0,filtered:e}))},onSortedChange:e=>{a((0,n.A)((0,n.A)({},t),{},{page:0,sorted:e}))},onPageChange:e=>{a((0,n.A)((0,n.A)({},t),{},{page:e}))},onPageSizeChange:e=>{a((0,n.A)((0,n.A)({},t),{},{page:0,pageSize:e}))},onRowClick:e=>{const a=e[t.hashAttribute],n=encodeURIComponent(p),r=encodeURIComponent(v),s=encodeURIComponent(a),o="/o/".concat(S,"/i/").concat(f,"/browse/").concat(n,"/").concat(r,"/edit/").concat(s);g(o,{state:{hashValue:a}})}})})})]})}},4343:(e,t,a)=>{a.d(t,{A:()=>w});var n=a(9950),r=a(2043),s=a(5488),o=a(9435),i=a(9379),l=a(45),c=a(7176),d=a(6114),u=a(4414);const h=["key"],g=e=>{let{headerGroups:t,onSortedChange:a,sorted:n,showFilter:r,dynamicAttributesFromDataTable:s,tableDescriptionAttributes:o}=e;const g=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 t=e.getHeaderGroupProps(),{key:o}=t,f=(0,l.A)(t,h);return(0,u.jsxs)("div",(0,i.A)((0,i.A)({},f),{},{children:[(0,u.jsx)(c.A,{className:"header g-0",children:e.headers.map((e=>{var t,r;return(0,u.jsx)(d.A,{onClick:()=>{var t,r;s&&!s.includes(e.id)&&g(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:"".concat((null===(t=n[0])||void 0===t?void 0:t.id)===e.id?"sorted":""," ").concat(null!==(r=n[0])&&void 0!==r&&r.desc?"desc":"asc"," ").concat(-1!==e.id.indexOf("hdb-narrow")?"action":""," px-1 ").concat(s&&!s.includes(e.id)&&g(e.id)?"":"disabled-column"),children:(0,u.jsx)("div",{className:"text-renderer",children:e.render("Header")})},e.id)}))}),r&&(0,u.jsx)(c.A,{className:"filter g-0",children:e.headers.map((e=>(0,u.jsx)(d.A,{className:-1!==e.id.indexOf("hdb-narrow")?"action":"",children:e.render("Filter")},e.id)))})]}),o)}))};var f=a(3452);const p=function(e){let{page:t,pageSize:a,totalPages:n,onPageChange:r,onPageSizeChange:o,loading:i}=e;return(0,u.jsxs)(c.A,{className:"pagination",children:[(0,u.jsx)(d.A,{xs:"12",sm:"2",className:"previous",children:(0,u.jsx)(f.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:()=>r(t-1),disabled:!n||0===t,children:(0,u.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,u.jsxs)(d.A,{xs:"12",sm:"4",className:"paginator",children:[(0,u.jsx)("i",{className:"fa fa-book me-2"}),(0,u.jsx)(s.A,{className:"mb-2",type:"number",value:t+1,min:1,max:n,onChange:e=>r(e.target.value-1)}),(0,u.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",i?(0,u.jsx)("i",{className:"fa fa-spinner fa-spin"}):n]})]}),(0,u.jsx)(d.A,{xs:"12",sm:"4",className:"page-size",children:(0,u.jsx)(s.A,{className:"mb-2",type:"select",value:a,onChange:e=>o(e.target.value),children:[20,50,100,250].map((e=>(0,u.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,u.jsx)(d.A,{xs:"12",sm:"2",className:"next",children:(0,u.jsx)(f.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:()=>r(t+1),disabled:!n||t+1===n,children:(0,u.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const m=function(e){let{previousPage:t,canPreviousPage:a,pageIndex:n,gotoPage:r,setPageSize:o,pageCount:i,nextPage:l,canNextPage:h,loading:g}=e;return(0,u.jsxs)(c.A,{className:"pagination",children:[(0,u.jsx)(d.A,{xs:"12",sm:"2",className:"previous",children:(0,u.jsx)(f.A,{className:"mb-2 btn-pagination",color:"purple",block:!0,onClick:t,disabled:!i||!a,children:(0,u.jsx)("i",{className:"fa fa-chevron-left"})})}),(0,u.jsxs)(d.A,{xs:"12",sm:"4",className:"paginator",children:[(0,u.jsx)("i",{className:"fa fa-book me-2"}),(0,u.jsx)(s.A,{className:"mb-2",type:"number",value:n+1||1,min:1,max:i,onChange:e=>r(e.target.value?Number(e.target.value)-1:0)}),(0,u.jsxs)("div",{className:"page-count",children:["\xa0/\xa0",g?(0,u.jsx)("i",{className:"fa fa-spinner fa-spin"}):i]})]}),(0,u.jsx)(d.A,{xs:"12",sm:"4",className:"page-size",children:(0,u.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,u.jsxs)("option",{value:e,children:[e," rows"]},e)))})}),(0,u.jsx)(d.A,{xs:"12",sm:"2",className:"next",children:(0,u.jsx)(f.A,{className:"mb-2 pull-right btn-pagination",block:!0,color:"purple",onClick:l,disabled:!i||!h,children:(0,u.jsx)("i",{className:"fa fa-chevron-right"})})})]})};const b=function(e){let{prepareRow:t,row:a,onRowClick:n=!1}=e;return t(a),(0,u.jsx)(c.A,{onClick:()=>n&&n(a.original),className:"g-0",children:a.cells.map((e=>(0,u.jsx)(d.A,{className:-1!==e.column.id.indexOf("hdb-narrow")?"action":"",children:e.render("Cell")},"".concat(e.row.id,"-").concat(e.column.id))))})};var x=a(3628),y=a(3150);function v(e){let{value:t}=e;return(0,u.jsx)("div",{className:"text-renderer",children:t})}function j(e){let{src:t}=e;const[a,r]=(0,n.useState)(!1),[s,o]=(0,n.useState)(!1);return(0,u.jsxs)("div",{className:"image-renderer",onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[(0,u.jsx)("i",{className:"fa fa-image"}),a&&s?(0,u.jsxs)("div",{className:"preview-image no-image",children:[(0,u.jsx)("i",{className:"fa fa-ban text-danger"}),(0,u.jsx)("div",{className:"mt-2",children:"image failed to load"})]}):a?(0,u.jsx)("img",{onError:o,alt:t,src:t,className:"preview-image"}):null]})}const A={Filter:e=>{let{column:{filterValue:t,setFilter:a}}=e;return(0,u.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,u.jsx)(v,{value:JSON.stringify(e)});case"[object Boolean]":return(0,u.jsx)(v,{value:e?"true":"false"});case"[object String]":return(t=e)&&(t.match(/^https?.*\.(jpeg|jpg|gif|png)$/)||-1!==t.indexOf("data:image"))?(0,u.jsx)(j,{src:e}):(0,u.jsx)(v,{value:e});default:return(0,u.jsx)(v,{value:e})}var t})(t)}};const w=function(e){let{columns:t,data:a,error:s,currentPage:i,pageSize:l,totalPages:c,onFilteredChange:d,onSortedChange:h,onPageChange:f,onPageSizeChange:v,showFilter:j,onRowClick:w,sorted:C,loading:N,dynamicAttributesFromDataTable:_,tableDescriptionAttributes:S,manual:P=!1}=e;const{headerGroups:k,page:O,rows:R,prepareRow:z,state:T,setAllFilters:F,canPreviousPage:E,canNextPage:D,pageOptions:I,pageCount:M,gotoPage:$,nextPage:q,previousPage:H,setPageSize:U}=(0,r.useTable)({columns:t,data:a,defaultColumn:A,onFilteredChange:d,onSortedChange:h,onPageChange:f,onPageSizeChange:v,onRowClick:w,manualPagination:P,manualFilters:P,initialState:{pageIndex:i,pageSize:l}},r.useFilters,r.usePagination),[B,G]=(0,n.useState)(!0),V=P||!O.length?R:O;return(0,n.useEffect)((()=>{!j&&T.filters.length?F([]):d(T.filters)}),[T.filters,j]),(0,n.useEffect)((()=>{setTimeout((()=>G(!1)),100)}),[null===V||void 0===V?void 0:V.length]),(0,u.jsxs)(o.tH,{onError:(e,t)=>(0,x.A)({error:{message:e.message,componentStack:t}}),FallbackComponent:y.A,children:[(0,u.jsxs)("div",{className:"react-table-scroller",children:[(0,u.jsx)(g,{headerGroups:k,tableDescriptionAttributes:S,dynamicAttributesFromDataTable:_,onSortedChange:h,sorted:C,showFilter:j}),N||B?(0,u.jsx)("div",{className:"centered text-center",children:(0,u.jsx)("i",{className:"fa fa-spinner fa-spin"})}):V.length?V.map((e=>(0,u.jsx)(b,{row:e,prepareRow:z,onRowClick:w},e.id))):(0,u.jsxs)("div",{className:"centered text-center",children:[(0,u.jsx)("i",{className:"fa fa-exclamation-triangle text-danger"}),(0,u.jsx)("div",{className:"mt-2 text-darkgrey",children:s?"Error loading data: ".concat(s):"no records"})]})]}),P?(0,u.jsx)(p,{page:i,pageSize:l,totalPages:c,onPageChange:f,onPageSizeChange:v,loading:N}):(0,u.jsx)(m,{previousPage:H,pageSize:l,canPreviousPage:E,pageIndex:T.pageIndex,pageOptions:I,gotoPage:$,setPageSize:U,pageCount:M,nextPage:q,canNextPage:D,loading:N})]})}},5488:(e,t,a)=>{a.d(t,{A:()=>v});var n=a(9950),r=a(1942),s=a.n(r),o=a(8738),i=a.n(o),l=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:l.Wx,innerRef:s().oneOfType([s().object,s().func,s().string]),plaintext:s().bool,addon:s().bool,className:s().string,cssModule:s().object},y=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),y=["switch","radio","checkbox"].indexOf(s)>-1,v="select"===s,j="range"===s,A=f||(v||"textarea"===s?s:"input"),w="form-control";m?(w="".concat(w,"-plaintext"),A=f||"input"):j?w="form-range":v?w="form-select":y&&(w=p?null:"form-check-input"),x.size&&/\D/g.test(x.size)&&((0,l.mc)('Please use the prop "bsSize" instead of the "size" to bootstrap\'s input sizing.'),o=x.size,delete x.size);var C=(0,l.qO)(i()(t,g&&"is-invalid",c&&"is-valid",!!o&&(v?"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,l.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);y.propTypes=x;const v=y}}]);