@performant-software/semantic-components 1.0.18 → 1.0.19-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/main.css +12 -0
- package/package.json +2 -2
- package/src/components/BreadcrumbItem.css +0 -0
- package/src/components/BreadcrumbItem.js +69 -0
- package/src/components/Breadcrumbs.css +4 -0
- package/src/components/Breadcrumbs.js +111 -0
- package/src/components/SimpleEditPage.css +7 -0
- package/src/components/SimpleEditPage.js +246 -0
- package/src/i18n/en.json +8 -1
- package/src/index.js +2 -0
- package/types/components/BreadcrumbItem.js.flow +69 -0
- package/types/components/Breadcrumbs.js.flow +111 -0
- package/types/components/SimpleEditPage.js.flow +246 -0
- package/types/index.js.flow +2 -0
package/build/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(){"use strict";var e,t={102:function(e,t,n){n.r(t),n.d(t,{AccordionDataList:function(){return _},AccordionList:function(){return Y},AccordionSelector:function(){return ee},ArrowButtons:function(){return te},AssociatedDropdown:function(){return x},AudioPlayer:function(){return ne},BatchEdit:function(){return Bn},BibliographyForm:function(){return pe},BibliographyList:function(){return Pe},BibliographySearchInput:function(){return Ee},BooleanIcon:function(){return Te},CancelButton:function(){return xe},ColorButton:function(){return Be},ColorPickerModal:function(){return ze},CurrentFacetLabels:function(){return Fe},CurrentFacets:function(){return Ue},CurrentFacetsModal:function(){return He},DataTable:function(){return Je},DataView:function(){return mt},DatabaseView:function(){return bt},DateInput:function(){return A},DatePicker:function(){return Ct},DescriptorField:function(){return St},DownloadButton:function(){return kt},Draggable:function(){return Ke},DropdownButton:function(){return I},DropdownMenu:function(){return rt},EditModal:function(){return N},EditPage:function(){return Mt},EmbeddedList:function(){return At},Facet:function(){return Lt},FacetClearButton:function(){return zt},FacetList:function(){return Ht},FacetSlider:function(){return Vt},FacetToggle:function(){return Kt},FileInputButton:function(){return Wt},FileUpload:function(){return Xt},FileUploadModal:function(){return cn},FilterOperatorOptions:function(){return j},FilterOperators:function(){return F},FilterTypes:function(){return O},FuzzyDate:function(){return z},GoogleMap:function(){return un},GooglePlacesSearch:function(){return pn},HorizontalCards:function(){return gn},IIIFModal:function(){return bn},ImageCarousel:function(){return vn},ItemCollection:function(){return Dn},ItemList:function(){return Nn},ItemViews:function(){return fn},Items:function(){return Sn},KeyValuePairs:function(){return Ln},KeyboardField:function(){return xn},LazyAudio:function(){return jn},LazyDocument:function(){return qn},LazyIIIF:function(){return or},LazyImage:function(){return Qn},LazyMedia:function(){return ar},LazyVideo:function(){return Zn},LinkButton:function(){return Ot},LinkLabel:function(){return Pn},ListFilters:function(){return G},ListLoader:function(){return sr},ListTable:function(){return ht},LoginModal:function(){return lr},MasonryGrid:function(){return mr},MediaGallery:function(){return gr},MediaGrid:function(){return br},MediaList:function(){return vr},MenuBar:function(){return ot},MenuSidebar:function(){return it},ModalContext:function(){return B},ModalDropdown:function(){return fr},NestedAccordion:function(){return c},PhotoViewer:function(){return $n},PlayButton:function(){return pr},RemoteDropdown:function(){return yr},SORT_ASCENDING:function(){return y},SORT_DESCENDING:function(){return S},SaveButton:function(){return wt},SearchBox:function(){return kr},SearchPagination:function(){return Dr},SearchResults:function(){return Mr},SearchResultsPerPage:function(){return Nr},SearchResultsSort:function(){return Pr},SearchStats:function(){return Tr},Section:function(){return Ar},Selectize:function(){return zr},SelectizeHeader:function(){return X},SelectizeImageHeader:function(){return jr},StyleSelector:function(){return Se},TabbedModal:function(){return qr},TabsMenu:function(){return Vr},TagsList:function(){return $r},Thumbnail:function(){return Qr},Toaster:function(){return f},VideoFrameSelector:function(){return Xr},VideoPlayer:function(){return Yn},VideoPlayerButton:function(){return hr},ViewXML:function(){return na},useDataList:function(){return k},useList:function(){return V}});var r=require("react"),a=n.n(r),o=require("underscore"),s=n.n(o),i=require("semantic-ui-react");class l extends r.Component{constructor(e){super(e),this.state={activeItems:[]}}componentDidUpdate(e){if(e.defaultActive!==this.props.defaultActive&&this.props.defaultActive&&this.props.defaultActive.length){const e=this.props.defaultActive.some((e=>"object"!=typeof e||!s().has(e,"id")||!s().has(e,"type")));this.props.multipleItemTypes&&!e?this.setState({activeItems:this.props.defaultActive}):this.setState({activeItems:s().map(this.props.defaultActive,(e=>({id:e})))})}}getButtonClass(e){const t=["accordion-button"];return this.props.showToggle&&!this.props.showToggle(e)&&t.push("hidden"),t.join(" ")}isActive(e){let t={id:e.id};return this.props.multipleItemTypes&&s().has(e,"type")&&(t={id:e.id,type:e.type}),!!s().findWhere(this.state.activeItems,t)}isItemActive(e){return this.props.isItemActive&&this.props.isItemActive(e)}onItemClick(e){this.props.toggleOnClick&&this.onItemToggle(e),this.props.onItemClick&&this.props.onItemClick(e)}onItemToggle(e){this.props.onItemToggle&&this.props.onItemToggle(e),this.toggleItem(e)}render(){return a().createElement(i.Accordion,{className:"nested-accordion",fluid:!0,inverted:this.props.inverted,panels:s().map(this.props.rootItems,this.renderPanel.bind(this)),styled:this.props.styled})}renderContent(e){const t=this.props.getChildItems(e);return t&&t.length?a().createElement(i.Accordion.Content,{active:this.isActive(e)},a().createElement("div",null,a().createElement(i.Accordion.Accordion,{panels:s().map(t,this.renderPanel.bind(this))}))):null}renderPanel(e){return a().createElement("div",{key:s().has(e,"type")?`${e.type}-${e.id}`:e.id},a().createElement(i.Accordion.Title,{active:this.isActive(e),onClick:this.onItemClick.bind(this,e),style:{backgroundColor:this.isItemActive(e)?"rgba(255, 255, 255, 0.08)":void 0}},a().createElement("div",{className:"container"},a().createElement("div",null,this.renderToggle(e),a().createElement("div",{className:"item-container"},this.props.renderItem(e))),this.props.renderRight&&a().createElement("div",{className:"right-container"},this.props.renderRight(e)))),this.renderContent(e))}renderToggle(e){return a().createElement(i.Button,{"aria-label":"Open",compact:!0,className:this.getButtonClass(e),icon:"dropdown",inverted:this.props.inverted,onClick:t=>{t.stopPropagation(),this.onItemToggle(e)}})}toggleItem(e){this.setState((t=>({activeItems:this.isActive(e)?s().filter(t.activeItems,(t=>this.props.multipleItemTypes&&s().has(e,"type")&&s().has(t,"type")?t.id!==e.id||t.type!==e.type:t.id!==e.id)):[...t.activeItems,e]})))}}l.defaultProps={defaultActive:[],inverted:!1,isItemActive:void 0,multipleItemTypes:!1,onItemClick:()=>{},renderRight:()=>{},styled:!0,toggleOnClick:!1};var c=l,d=require("@performant-software/shared-components"),m=require("react-uuid"),u=n.n(m),p=require("i18next"),h=n.n(p);const g={en:{translation:JSON.parse('{"AccordionList":{"deleteContent":"Are you sure you want to remove this record?","deleteHeader":"Confirm Remove","record":"Record","record_plural":"Records"},"AccordionSelector":{"title":"Select Items"},"AudioPlayer":{"errors":{"path":{"content":"Please check the audio path: {{path}}","header":"There was a problem loading the audio"}}},"BibliographyList":{"sort":{"author":"Author","date":"Date","title":"Title"}},"BibliographyModal":{"title":"Add Entry"},"BibliographySearchInput":{"labels":{"placeholder":"Enter a URL, ISBN, DOI, PMID, arXiv ID"}},"Citation":{"labels":{"untitled":"Untitled"}},"Common":{"buttons":{"add":"Add","cancel":"Cancel","clear":"Clear","close":"Close","done":"Done","download":"Download","edit":"Edit","hide":"Hide","iiif":"View IIIF","ok":"OK","open":"Open","save":"Save","search":"Search","show":"Show","upload":"Upload"},"errors":{"title":"Oops!"},"labels":{"noRecords":"No records."},"messages":{"error":{"header":"Oops!"},"loading":"Loading","noResults":"No results found.","save":{"content":"Your changes have been saved.","header":"Success!"}}},"CreatorField":{"labels":{"firstName":"First name","lastName":"Last name","name":"Name"}},"CurrentFacetsModal":{"title":"Current Facets"},"EditContainer":{"errors":{"general":"Something went wrong while saving the record. Please make sure all required fields are filled out.","required":"The {{key}} field is required.","system":"A system error occurred while saving the record. Please contact your system administrator.","unique":"A record with the {{key}} \\"{{value}}\\" already exists."}},"DataTable":{"actions":{"copy":{"content":"Creates an editable copy to be saved as a new record","title":"Copy"},"delete":{"content":"Removes the record, permanently","title":"Remove"},"edit":{"content":"Opens the modal to edit the record","title":"Edit"}},"columns":{"actions":"Actions","select":"Select"},"loading":"Loading"},"DataView":{"labels":{"details":"Details","noSort":"No sort","sortBy":"Sort by {{column}}"}},"EditProvider":{"errors":{"general":"Something went wrong while saving the record. Please make sure all required fields are filled out.","required":"The {{key}} field is required.","unique":"A record with the {{key}} \\"{{value}}\\" already exists."}},"FacetList":{"buttons":{"showLess":"Show Less","showMore":"Show More"},"labels":{"matchAll":"Match all values","matchAny":"Match any values","search":"Search"}},"FileUpload":{"add":"<0>Add files</0> or drop files here","errors":{"fileType":"Unable to upload {{name}} because {{type}} files are not allowed.","maxSize":"Unable to upload {{name}} because it exceeds 10 MB."}},"FileUploadModal":{"errors":{"header":"There was an error processing your files","required":"File {{filename}} - The following fields are required: {{fields}}","upload":{"content":"Check the status on each file to see which were unsuccessful.","header":"Some of the files did not upload"}},"loader":"Uploading files...","title":"Upload Files"},"FilterLabels":{"buttons":{"clear":"Clear all"}},"FuzzyDate":{"accuracy":{"date":"Date","month":"Month","year":"Year"},"buttons":{"addRange":"Add Range","removeRange":"Remove Range"},"labels":{"accuracy":"Accuracy","date":"Date","description":"Description","month":"Month","year":"Year"},"title":"Fuzzy Date"},"ItemList":{"actions":{"copy":"Copy","delete":"Remove","edit":"Edit"},"buttons":{"clear":"Clear selected","deselectAll":"Deselect all","selectAll":"Select all"}},"KeyboardField":{"labels":{"hideKeyboard":"Hide Keyboard","showKeyboard":"Show Keyboard"}},"KeyValuePairs":{"labels":{"key":"Key","value":"Value"}},"LazyAudio":{"buttons":{"play":"Play"}},"LazyImage":{"buttons":{"view":"View image"}},"LazyMedia":{"messages":{"uploaded":"Your <bold>{{type}}</bold> has been received"}},"LazyVideo":{"buttons":{"play":"Play video"}},"List":{"buttons":{"add":"Add","deleteAll":"Delete all"},"deleteAllContent":"Are you sure you want to remove all records? This action cannot be undone.","deleteAllHeader":"Confirm Remove All","deleteContent":"Are you sure you want to remove this record?","deleteHeader":"Confirm Remove","emptyList":"No matching records found.","emptyListAdd":"You haven\'t added any yet. Click <1><0><0></0><1></1></0></1> to get started.","labels":{"perPage":"Show {{perPage}}"},"record":"Record","record_plural":"Records"},"ListFilters":{"buttons":{"add":"Add","reset":"Reset filters"},"operators":{"contain":"Contains","empty":"Is empty","equal":"Equals","greaterThan":"Is greater than","lessThan":"Is less than","notContain":"Does not contain","notEmpty":"Is not empty","notEqual":"Does not equal"},"title":"Filters"},"LoginModal":{"buttonCancel":"Cancel","buttonLogin":"Login","email":"Email","header":"Login","loginErrorContent":"The username and/or password you entered is invalid. Please double check and try again.","loginErrorHeader":"Invalid Credentials","password":"Password"},"PhotoViewer":{"errors":{"path":{"content":"Please check the image path: {{path}}","header":"There was a problem loading the image"}}},"RemoteDropdown":{"labels":{"add":"Add","loadMore":"Load more"}},"SearchResultsPerPage":{"labels":{"show":"Show {{value}}"}},"SearchStats":{"labels":{"results":"{{count}} results in {{seconds}} seconds"}},"Selectize":{"messages":{"maxSelected":{"content":"You have already selected the maximum number of items allowed.","header":"Maximum items selected"},"noRecords":"No matching records."}},"VideoFrameSelector":{"buttons":{"select":"Select frame"},"labels":{"interval":"Interval: {{count}} second","interval_plural":"Interval: {{count}} seconds"},"title":"Select Frame"},"VideoPlayer":{"errors":{"path":{"content":"Please check the video path: {{path}}","header":"There was a problem loading the video"}}},"ViewXML":{"buttons":{"view":"View XML"},"title":"XML"}}')}},b=h().createInstance();b.init({debug:!0,fallbackLng:"en",lng:"en",interpolation:{escapeValue:!1},resources:g});var v=b;const E=e=>{const[t,n]=(0,r.useState)(!0);return e.timeout&&e.timeout>0&&s().delay((()=>{n(!1)}),e.timeout),(0,r.useEffect)((()=>{!t&&e.onDismiss&&s().delay(e.onDismiss.bind(void 0),700)}),[t]),a().createElement(i.Transition,{animation:"slide down",duration:700,transitionOnMount:!0,visible:t},a().createElement(i.Message,{className:"toaster",info:e.type===E.MessageTypes.info,negative:e.type===E.MessageTypes.negative,onDismiss:()=>n(!1),positive:e.type===E.MessageTypes.positive,warning:e.type===E.MessageTypes.negative},e.children))};E.MessageTypes={info:"info",negative:"negative",positive:"positive",warning:"warning"},E.defaultProps={onDismiss:void 0,timeout:3e3,type:E.MessageTypes.info};var f=E;function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)}const y="ascending",S="descending";var k=e=>{var t;return t=class extends r.Component{constructor(e){super(e),this.state=this.initializeState(e)}componentDidMount(){this.props.polling&&(this.pollingInterval=setInterval(this.fetchData.bind(this),this.props.polling))}componentDidUpdate(e){e.saved!==this.props.saved&&this.props.saved&&this.setState({saved:this.props.saved},this.fetchData.bind(this))}componentWillUnmount(){this.pollingInterval&&clearInterval(this.pollingInterval)}afterDelete(){return 1===this.state.items.length?this.setState((e=>({page:e.page-1>1?e.page-1:1})),this.fetchData.bind(this)):this.fetchData()}afterDeleteAll(){this.setState({page:1},this.fetchData.bind(this))}fetchData(){this.setSession(),this.setState({loading:!0},(()=>{const{page:e,perPage:t,search:n,sortColumn:r,sortDirection:a}=this.state,o={...this.state.filters,page:e,search:n,per_page:t,sort_by:r,sort_direction:a};this.props.onLoad(o).then((t=>{let{data:n}=t;const r=n[this.props.collectionName],{pages:a,count:o}=n.list;this.setState({count:o,items:r,page:e,pages:a,loading:!1})}))}))}getDefaultFilters(e){const t=[];return e.filters&&e.filters.defaults&&s().each(e.filters.defaults.filters,(n=>{const r=s().findWhere(e.filters.props.filters,{key:n.key});r&&t.push(this.onCreateFilter({...r,...n}))})),{filters:t}}getSessionKey(){return this.props.session?`DataList.${this.props.session.key}`:null}initializeState(e){const t=this.restoreSession(),n=t.filters||this.getDefaultFilters(e),r=t.page||1,a=t.perPage||e.defaultPerPage||s().first(e.perPageOptions),o=t.search||e.defaultSearch||null,i=t.sortColumn||e.defaultSort||null,l=t.sortDirection||e.defaultSortDirection||null;return{count:0,error:null,filters:n,items:[],loading:!1,page:r,pages:1,perPage:a,saved:e.saved||!1,search:o,sortColumn:i,sortDirection:l}}isFilterActive(){let e=!1;return s().each(s().values(this.state.filters),(t=>{d.Object.isEmpty(t)||(e=!0)})),e}onClearSearch(e){this.onSearchChange(e,{value:""}),this.searchRef?.inputRef?.current?.focus(),this.onSearch()}onCreateFilter(e){return{...e,uid:u()()}}onDelete(e){return this.props.onDelete?this.props.onDelete(e).then(this.afterDelete.bind(this)).catch(this.onError.bind(this)):Promise.resolve()}onDeleteAll(){return this.props.onDeleteAll?this.props.onDeleteAll().then(this.afterDeleteAll.bind(this)):Promise.resolve()}onError(e){return this.props.resolveErrors&&this.setState({error:e})}onFilterChange(e){return new Promise((t=>{this.props.filters&&this.props.filters.onChange&&this.props.filters.onChange(e),this.setState({filters:e,page:1},(()=>{this.fetchData(),t()}))}))}onPageChange(e,t){let{activePage:n}=t;this.setState({page:n},this.fetchData.bind(this))}onPerPageChange(e,t){let{value:n}=t;this.setState({perPage:n},this.fetchData.bind(this))}onSave(e){return this.props.onSave?Promise.resolve(this.props.onSave(e)).then((()=>this.setState({saved:!0},this.fetchData.bind(this)))):Promise.resolve()}onSearch(){this.setState({page:1},this.fetchData.bind(this))}onSearchChange(e,t){let{value:n}=t;this.setState({search:n})}onSort(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=t;r||(r=this.state.sortColumn===e&&this.state.sortDirection===y?S:y),this.setState({sortColumn:e,sortDirection:r,page:n},this.fetchData.bind(this))}onInit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.setState({sortColumn:"",sortDirection:"",page:e},this.fetchData.bind(this))}render(){const{filters:t={}}=this.props,{component:n,props:r,showLabels:o}=t;return a().createElement(a().Fragment,null,a().createElement(e,C({},this.props,{count:this.state.count,filters:{active:this.isFilterActive(),component:n,onChange:this.onFilterChange.bind(this),showLabels:o,props:{...r,onCreateFilter:this.onCreateFilter.bind(this),item:this.state.filters}},items:this.state.items,loading:this.state.loading,page:this.state.page,pages:this.state.pages,perPage:this.state.perPage,onDelete:this.onDelete.bind(this),onDeleteAll:this.onDeleteAll.bind(this),onPageChange:this.onPageChange.bind(this),onPerPageChange:this.onPerPageChange.bind(this),onSave:this.onSave.bind(this),onSort:this.onSort.bind(this),onInit:this.onInit.bind(this),renderSearch:this.renderSearch.bind(this),sortColumn:this.state.sortColumn,sortDirection:this.state.sortDirection})),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})),this.state.error&&a().createElement(f,{onDismiss:()=>this.setState({error:!1}),timeout:0,type:f.MessageTypes.negative},a().createElement(i.Message.Header,{content:v.t("Common.messages.error.header")}),a().createElement(i.Message.List,{items:this.props.resolveErrors&&this.props.resolveErrors(this.state.error)})))}renderSearch(){return this.props.searchable?a().createElement(i.Input,{"aria-label":"Search",type:"text",icon:a().createElement(i.Icon,{link:!s().isEmpty(this.state.search),name:s().isEmpty(this.state.search)?"search":"times",onClick:this.onClearSearch.bind(this)}),input:{"aria-label":"search"},ref:e=>{this.searchRef=e},loading:this.state.loading,onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this)),onChange:this.onSearchChange.bind(this),size:"small",value:this.state.search}):null}restoreSession(){const e=this.getSessionKey();if(!e)return{};const t=sessionStorage.getItem(e)||"{}";return JSON.parse(t)}setSession(){const e=this.getSessionKey();if(!e)return;const{filters:t,page:n,perPage:r,search:a,sortColumn:o,sortDirection:s}=this.state;sessionStorage.setItem(e,JSON.stringify({filters:t,page:n,perPage:r,search:a,sortColumn:o,sortDirection:s}))}},t.defaultProps={filters:{},searchable:!0},t},w=require("react-i18next");const D=e=>{const t=(0,r.useRef)();return a().createElement(i.Button.Group,{basic:e.basic,className:"dropdown-button",color:e.color},a().createElement(i.Button,{"aria-label":"Select",content:e.text,disabled:e.disabled,icon:e.icon,onClick:e=>t.current&&t.current.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Select",className:"button icon",direction:e.direction,disabled:e.disabled,floating:!0,onChange:e.onChange.bind(void 0),options:e.options,ref:t,scrolling:e.scrolling,selectOnBlur:e.selectOnBlur,trigger:a().createElement(a().Fragment,null),value:e.value}))};D.defaultProps={color:void 0,icon:void 0,selectOnBlur:!1};var I=D;const M=(0,d.useEditContainer)((e=>{const t=e.component,[n,o]=(0,r.useState)(!1),s=!(!e.errors||!e.errors.length);return a().createElement(t,e,e.showLoading&&e.loading&&a().createElement(i.Dimmer,{active:e.loading,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})),n&&s&&a().createElement(f,{onDismiss:()=>o(!1),timeout:0,type:f.MessageTypes.negative},a().createElement(i.Message.Header,{content:v.t("Common.messages.error.header")}),a().createElement(i.Message.List,{items:e.errors})),a().createElement(i.Modal.Actions,{className:"edit-modal-actions"},a().createElement(i.Button,{disabled:e.saving,onClick:()=>(o(!0),e.onSave()),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save"),e.saving&&a().createElement(i.Loader,{active:!0,className:"saving",inline:!0,size:"tiny"})),a().createElement(i.Button,{basic:!0,disabled:e.saving,onClick:e.onClose.bind(void 0),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))}));M.defaultProps={showLoading:!0};var N=M;function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}class T extends r.Component{constructor(e){super(e),this.state={items:[],loading:!1,modalAdd:!1,modalEdit:!1,options:[],saved:!1,searchQuery:e.searchQuery||"",value:e.value||""},this.timeout=null}componentDidUpdate(e){if(e.value!==this.props.value){const{searchQuery:e,value:t}=this.props;this.setState({searchQuery:e,value:t})}}clearSearchTimer(){clearTimeout(this.timeout)}onBlur(){this.setState((e=>{let t="";return e.value&&(t=this.props.searchQuery),{searchQuery:t}}))}onClear(){this.setState({searchQuery:"",value:""},(()=>{this.props.onSelection(this.state.value)}))}onOpen(){this.setState({searchQuery:""},this.onSearch.bind(this))}onOptionSelection(e,t){let{value:n}=t;this.setState((e=>{const t=s().findWhere(e.options,{value:n})||{};this.setState({searchQuery:t.text,value:t.value})}));const r=s().findWhere(this.state.items,{id:n});this.props.onSelection(r)}onSearch(){this.setState({loading:!0},this.search.bind(this))}onSearchChange(e,t){let{searchQuery:n}=t;this.setState({searchQuery:n})}search(){this.props.onSearch(this.state.searchQuery).then((e=>{let{data:t}=e;const n=t[this.props.collectionName],r=n.map(this.props.renderOption.bind(this));this.setState({items:n,options:r,loading:!1})}))}render(){return a().createElement("div",{className:"association-dropdown"},a().createElement("div",{className:"dropdown-container"},a().createElement(i.Dropdown,{className:`inline-dropdown ${this.props.className||""}`,disabled:this.state.loading,loading:this.state.loading,onBlur:this.onBlur.bind(this),onChange:this.onOptionSelection.bind(this),onOpen:this.onOpen.bind(this),onSearchChange:this.onSearchChange.bind(this),options:this.state.options,placeholder:this.props.placeholder,search:()=>this.state.options,searchInput:{"aria-label":this.props.collectionName,className:"dropdown-search-input",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this))},searchQuery:this.state.searchQuery,selectOnBlur:!1,selection:!0,upward:this.props.upward,value:this.state.value})),a().createElement(i.Button.Group,{className:"buttons"},this.renderEditButton(),this.renderAddButton(),this.renderClearButton()),this.renderModal(),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})))}renderAddButton(){return this.props.modal?a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.add"),icon:"plus",onClick:()=>this.setState({modalAdd:!0}),type:"button"}):null}renderClearButton(){return this.props.required?null:a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.clear"),icon:"times",onClick:this.onClear.bind(this),type:"button"})}renderEditButton(){return this.props.modal&&this.props.modal.props&&this.props.modal.props.onInitialize&&this.state.value?a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.edit"),icon:"pencil",onClick:()=>this.setState({modalEdit:!0}),type:"button"}):null}renderModal(){if(!this.state.modalAdd&&!this.state.modalEdit||!this.props.modal)return null;const{component:e,props:t,onSave:n}=this.props.modal;let r;return this.state.modalEdit&&(r={id:this.state.value}),a().createElement(N,P({component:e,item:r,onClose:()=>this.setState({modalAdd:!1,modalEdit:!1}),onSave:e=>n(e).then((e=>{this.props.onSelection(e),this.setState({modalAdd:!1,modalEdit:!1,saved:!0})}))},t))}setSearchTimer(){clearTimeout(this.timeout),this.timeout=setTimeout(this.onSearch.bind(this),500)}}T.defaultProps={className:"",modal:null,placeholder:null,required:!1,upward:!1};var x=T,A=e=>a().createElement(i.Input,{"aria-label":"Date Input",className:"date-input icon",icon:"calendar alternate outline",iconPosition:"left"},a().createElement(i.Icon,{className:"left icon",name:"calendar alternate outline"}),a().createElement("input",{onClick:e.onClick.bind(void 0),readOnly:!0,type:"text",value:(()=>{let t="";return e.display?t=e.display:e.value&&(t=e.value.toLocaleDateString(e.locale,e.formatOptions)),t})()}),a().createElement(i.Icon,{className:"right icon",name:"times",onClick:t=>{t.stopPropagation(),t.preventDefault(),e.onChange(null)}})),B=a().createContext();const L=0;class R extends r.Component{constructor(e){super(e),this.state={...this.getInitialState(),calendar:new d.Calendar(e.locale,e.calendar)}}componentDidMount(){this.initializeDate()}componentDidUpdate(e){this.props.locale===e.locale&&this.props.calendar===e.calendar||this.setState({calendar:new d.Calendar(this.props.locale,this.props.calendar)}),!this.props.date||this.props.date.startDate===e.date.startDate&&this.props.date.endDate===e.date.endDate||this.initializeDate()}getDisplayDate(e){const t=this.state.calendar.convertToDate(e);return this.state.calendar.format(t,this.state.accuracy)}getInitialState(){return{accuracy:L,description:"",display:"",endDate:{},modal:!1,range:!1,startDate:{}}}initializeDate(){if(this.props.date){const{accuracy:e=L,description:t="",range:n=!1}=this.props.date;let r={},a={};this.props.date.startDate&&(r=this.state.calendar.parseDate(this.props.date.startDate)),this.props.date.endDate&&(a=this.state.calendar.parseDate(this.props.date.endDate)),this.setState({accuracy:e,description:t,range:n,startDate:r,endDate:a},this.setDisplay.bind(this))}else this.onAccuracyChange(null,{value:L})}onAccuracyChange(e,t){let{value:n}=t;const r=n;this.setState((e=>{let t={...e.endDate},a={...e.startDate};return 1===r?(t={...t,date:e.calendar.getDefaultDate()},a={...a,date:e.calendar.getDefaultDate()}):n===L&&(t={...t,date:e.calendar.getDefaultDate(),month:e.calendar.getDefaultMonth()},a={...a,date:e.calendar.getDefaultDate(),month:e.calendar.getDefaultMonth()}),{accuracy:r,endDate:t,startDate:a}}),this.setEndDate.bind(this))}onClear(){this.setState(this.getInitialState(),this.onSave.bind(this))}onClose(){this.setState({modal:!1},this.initializeDate.bind(this))}onDateChange(e,t,n){let{value:r}=n;this.setState((t=>({[e]:{...t[e],date:r}})),this.setEndDate.bind(this))}onDescriptionChange(e,t){let{value:n}=t;this.setState({description:n})}onEdit(){this.setState({modal:!0})}onMonthChange(e,t,n){let{value:r}=n;this.setState((t=>({[e]:{...t[e],month:r}})),this.setEndDate.bind(this))}onRangeChange(){this.setState((e=>({range:!e.range})),this.setEndDate.bind(this))}onSave(){let e,t;this.setDisplay(),s().isEmpty(this.state.startDate)||(e=this.state.calendar.convertToDate(this.state.startDate).toDate()),s().isEmpty(this.state.endDate)||(t=this.state.calendar.convertToDate(this.state.endDate).toDate());const{accuracy:n,description:r,range:a}=this.state;this.props.onChange({accuracy:n,description:r,range:a,startDate:e,endDate:t}),this.setState({modal:!1})}onYearChange(e,t,n){let{value:r}=n;r&&r.length>6||this.setState((t=>({[e]:{...t[e],year:parseInt(r,10)}})),this.setEndDate.bind(this))}render(){return a().createElement(a().Fragment,null,a().createElement(A,{display:this.state.display,onClick:this.onEdit.bind(this),onChange:this.onClear.bind(this)}),a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{as:i.Form,className:"fuzzy-date-modal",mountNode:e,open:this.state.modal,onClose:this.onClose.bind(this)},a().createElement(i.Modal.Header,{content:this.props.title||v.t("FuzzyDate.title")}),a().createElement(i.Modal.Content,null,a().createElement(i.Form.Input,{className:"accuracy-container",label:v.t("FuzzyDate.labels.accuracy")},a().createElement(i.Checkbox,{checked:this.state.accuracy===L,id:"accuracy-year",label:v.t("FuzzyDate.accuracy.year"),name:"accuracy",onChange:this.onAccuracyChange.bind(this),radio:!0,value:L}),a().createElement(i.Checkbox,{checked:1===this.state.accuracy,id:"accuracy-month",label:v.t("FuzzyDate.accuracy.month"),name:"accuracy",onChange:this.onAccuracyChange.bind(this),radio:!0,value:1}),a().createElement(i.Checkbox,{checked:2===this.state.accuracy,id:"accuracy-date",label:v.t("FuzzyDate.accuracy.date"),name:"accuracy",onChange:this.onAccuracyChange.bind(this),radio:!0,value:2})),a().createElement(i.Form.Group,null,this.renderYear("startDate"),this.renderMonth("startDate"),this.renderDate("startDate"),!this.state.range&&a().createElement("div",{className:"button-container"},a().createElement(i.Button,{basic:!0,content:v.t("FuzzyDate.buttons.addRange"),icon:"plus",onClick:this.onRangeChange.bind(this)}))),this.state.range&&a().createElement(i.Form.Group,null,this.renderYear("endDate"),this.renderMonth("endDate"),this.renderDate("endDate"),a().createElement("div",{className:"button-container"},a().createElement(i.Button,{basic:!0,content:v.t("FuzzyDate.buttons.removeRange"),icon:"times",onClick:this.onRangeChange.bind(this)}))),this.props.description&&a().createElement(i.Form.Input,{id:"description",label:v.t("FuzzyDate.labels.description")},a().createElement(i.TextArea,{id:"description",onChange:this.onDescriptionChange.bind(this),value:this.state.description}))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:this.onSave.bind(this),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:this.onClose.bind(this),size:"medium",type:"button"},v.t("Common.buttons.cancel")))))))}renderDate(e){if(2!==this.state.accuracy)return null;const t=this.state[e],n=this.state.calendar.daysInMonth(t.year,t.month);return a().createElement(i.Form.Input,{id:"date-dropdown",label:v.t("FuzzyDate.labels.date")},a().createElement(i.Dropdown,{id:"date-dropdown",onChange:this.onDateChange.bind(this,e),options:s().range(1,n+1).map((e=>({key:e,value:e,text:e}))),selection:!0,value:t.date||this.state.calendar.getDefaultDate()}))}renderMonth(e){return 2!==this.state.accuracy&&1!==this.state.accuracy?null:a().createElement(i.Form.Input,{id:"month-dropdown",label:v.t("FuzzyDate.labels.month")},a().createElement(i.Dropdown,{id:"month-dropdown",onChange:this.onMonthChange.bind(this,e),options:s().map(this.state.calendar.listMonths(),((e,t)=>({key:t,value:t,text:e}))),selection:!0,value:this.state[e].month||this.state.calendar.getDefaultMonth()}))}renderYear(e){return a().createElement(i.Form.Input,{id:"year",label:v.t("FuzzyDate.labels.year")},a().createElement(i.Input,{id:"year",onChange:this.onYearChange.bind(this,e),type:"number",value:this.state[e].year||""}))}setDisplay(){const e=[];this.state.startDate&&!s().isEmpty(this.state.startDate)&&e.push(this.getDisplayDate(this.state.startDate)),this.state.range&&this.state.endDate&&!s().isEmpty(this.state.endDate)&&(e.push(" - "),e.push(this.getDisplayDate(this.state.endDate))),this.setState({display:e.join(" ")})}setEndDate(){this.state.range||!this.state.startDate||s().isEmpty(this.state.startDate)||this.setState((e=>{let t=e.calendar.convertToDate(e.startDate);return e.accuracy===L?t=e.calendar.addYear(t,1):1===e.accuracy?t=e.calendar.addMonth(t,1):2===e.accuracy&&(t=e.calendar.addDate(t,1)),{endDate:e.calendar.parseDate(t)}}))}}R.defaultProps={calendar:d.Calendar.Calendars.gregorian,description:!0,locale:d.Browser.isBrowser()&&navigator.language,title:void 0};var z=R;const O={boolean:"boolean",date:"date",integer:"integer",relationship:"relationship",select:"select",string:"string",text:"text"},F={equal:"equal",notEqual:"not_equal",contain:"contain",notContain:"not_contain",empty:"empty",notEmpty:"not_empty",greaterThan:"greater_than",lessThan:"less_than"},j=[{key:F.equal,value:F.equal,text:v.t("ListFilters.operators.equal")},{key:F.notEqual,value:F.notEqual,text:v.t("ListFilters.operators.notEqual")},{key:F.contain,value:F.contain,text:v.t("ListFilters.operators.contain")},{key:F.notContain,value:F.notContain,text:v.t("ListFilters.operators.notContain")},{key:F.empty,value:F.empty,text:v.t("ListFilters.operators.empty")},{key:F.notEmpty,value:F.notEmpty,text:v.t("ListFilters.operators.notEmpty")},{key:F.greaterThan,value:F.greaterThan,text:v.t("ListFilters.operators.greaterThan")},{key:F.lessThan,value:F.lessThan,text:v.t("ListFilters.operators.lessThan")}],H={[O.boolean]:[F.equal],[O.date]:[F.equal],[O.relationship]:[F.equal,F.notEqual,F.empty,F.notEmpty],[O.select]:[F.equal,F.notEqual,F.empty,F.notEmpty],[O.string]:[F.equal,F.notEqual,F.contain,F.notContain,F.empty,F.notEmpty],[O.text]:[F.contain,F.notContain,F.empty,F.notEmpty]};var G=e=>{const t=(0,r.useCallback)((e=>{const t=H[e];return s().filter(j,(e=>!t||s().contains(t,e.key)))}),[]),n=e=>e.label,o=(0,r.useCallback)((t=>{if(t.operator===F.empty||t.operator===F.notEmpty)return null;if(t.type===O.boolean)return a().createElement(i.Checkbox,{onChange:()=>e.onSaveChildAssociation("filters",{...t,value:!t.value}),checked:t.value});if(t.type===O.string||t.type===O.text||t.type===O.integer)return a().createElement(i.Input,{onChange:(n,r)=>{let{value:a}=r;return e.onSaveChildAssociation("filters",{...t,value:a})},value:t.value});if(t.type===O.date)return a().createElement(z,{date:t.value||{},description:!1,onChange:n=>{e.onSaveChildAssociation("filters",{...t,value:n})},title:t.label});if(t.type===O.select)return a().createElement(i.Dropdown,{onChange:(n,r)=>{let{value:a}=r;return e.onSaveChildAssociation("filters",{...t,value:a})},options:t.options,selectOnBlur:!1,selection:!0,value:t.value});if(t.type===O.relationship){const{collectionName:n,onSearch:r,renderOption:o,renderSearchQuery:s,searchQuery:i,value:l}=t;return n&&r&&o?a().createElement(x,{collectionName:n,onSearch:r,onSelection:n=>{e.onSaveChildAssociation("filters",{...t,searchQuery:s&&s(n),value:n.id})},renderOption:o,required:!0,searchQuery:i||"",value:l||null}):null}return null}),[e.item.filters,e.onSaveChildAssociation]),l=(0,r.useMemo)((()=>s().sortBy(e.filters,e.item.onSort||n)),[e.filters,e.item.onSort]);return(0,r.useEffect)((()=>{s().each(e.item.filters,(t=>{const n=s().findWhere(e.filters,{key:t.key});t.type===O.boolean&&(n.value=!1),e.onSaveChildAssociation("filters",s().defaults(t,n))}))}),[]),a().createElement(B.Consumer,null,(n=>a().createElement(i.Modal,{as:i.Form,centered:!1,className:"list-filters-modal",mountNode:n,noValidate:!0,open:!0,size:"small"},a().createElement(i.Modal.Header,null,a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,{verticalAlign:"middle"},a().createElement(i.Header,{content:v.t("ListFilters.title")})),a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(I,{color:"green",icon:"plus",options:s().map(l,(e=>({key:e.key,value:e.key,text:e.label}))),onChange:(t,n)=>{let{value:r}=n;const a=s().findWhere(e.filters,{key:r});e.onSaveChildAssociation("filters",e.onCreateFilter({...a,operator:F.equal}))},scrolling:!0,text:v.t("ListFilters.buttons.add"),value:""}),a().createElement(i.Button,{color:"red",content:v.t("ListFilters.buttons.reset"),icon:"repeat",onClick:()=>e.onReset(),style:{marginLeft:"1em"}})))),a().createElement(i.Modal.Content,null,!s().isEmpty(e.item.filters)&&a().createElement(i.Grid,null,s().map(e.item.filters,(n=>a().createElement(i.Grid.Row,{columns:4,key:n.key,verticalAlign:"middle"},a().createElement(i.Grid.Column,null,a().createElement(i.Header,{content:n.label})),a().createElement(i.Grid.Column,{width:5},a().createElement(i.Dropdown,{options:t(n.type),onChange:(t,r)=>{let{value:a}=r;return e.onSaveChildAssociation("filters",{...s().omit(n,"value"),operator:a})},selection:!0,value:n.operator})),a().createElement(i.Grid.Column,{width:5},o(n)),a().createElement(i.Grid.Column,{width:1},a().createElement(i.Button,{basic:!0,icon:"times",onClick:()=>e.onDeleteChildAssociation("filters",n)}))))))),e.children)))},U=e=>{const t=(0,r.useCallback)((e=>{const t=[e.label],n=s().findWhere(j,{key:e.operator});return n&&t.push(n.text),e.value&&t.push(`"${e.value}"`),t.join(" ")}),[]);return a().createElement(i.Label.Group,{className:"filter-labels"},s().map(e.filters,(n=>a().createElement(i.Label,{basic:!0,content:t(n),onRemove:()=>e.onClick(n)}))),e.onClear&&a().createElement(i.Label,{as:i.Button,color:"red",content:v.t("FilterLabels.buttons.clear"),icon:"times",onClick:e.onClear}))};function q(){return q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},q.apply(this,arguments)}var V=e=>{var t;return(t=class extends r.Component{constructor(e){super(e),this.state={modalDelete:!1,modalDeleteAll:!1,modalEdit:!1,modalFilter:!1,selectedItem:null}}getButtons(e){const t=[],{addButton:n={},deleteButton:r={},modal:a,selectable:o}=this.props;return n.location!==e||!n.onClick&&!a||o||t.push({render:this.renderAddButton.bind(this)}),r.location===e&&this.props.onDeleteAll&&!o&&t.push({render:this.renderDeleteAllButton.bind(this)}),t.push(...s().filter(this.props.buttons,(t=>{let r=!1;return((t.location||"top")===e||!t.location&&n&&n.location===e)&&(r=!0),r}))),t}onAddButton(){return this.props.addButton&&this.props.addButton.onClick?this.props.addButton.onClick():this.setState({modalEdit:!0})}onCopyButton(e){const t=this.props.onCopy?this.props.onCopy(e):s().omit(e,"id","uid");this.setState({selectedItem:t,modalEdit:!0})}onDelete(){const{selectedItem:e}=this.state;return this.setState({selectedItem:null,modalDelete:!1}),this.props.onDelete(e)}onDeleteAll(){return this.setState({modalDeleteAll:!1}),this.props.onDeleteAll&&this.props.onDeleteAll()}onDeleteAllButton(){this.setState({modalDeleteAll:!0})}onDeleteButton(e){this.setState({selectedItem:e,modalDelete:!0})}onEditButton(e){this.setState({selectedItem:e,modalEdit:!0})}onFilterButton(){this.setState({modalFilter:!0})}onRemoveFilter(e){const{onChange:t,props:{item:n}}=this.props.filters;return t({filters:s().filter(n.filters,(t=>t.uid!==e.uid))})}onSave(e){return this.props.onSave(e).then((()=>this.setState({modalEdit:!1,selectedItem:null})))}onSaveFilter(e){return this.props.filters?this.props.filters.onChange(e).then((()=>this.setState({modalFilter:!1}))):null}render(){return a().createElement("div",{className:`list ${this.props.className}`},this.renderHeader(),a().createElement(e,q({},this.props,{actions:this.getActions(),renderEmptyMessage:this.renderEmptyMessage.bind(this)})),this.renderFooter(),this.renderEditModal(),this.renderDeleteModal(),this.renderDeleteAllModal(),this.renderFilterModal())}getActions(){return s().map(this.props.actions,(e=>{let t={};return"edit"===e.name?t={icon:"edit outline",onClick:this.onEditButton.bind(this)}:"copy"===e.name?t={icon:"copy outline",onClick:this.onCopyButton.bind(this)}:"delete"===e.name&&(t={icon:"times circle outline",onClick:this.onDeleteButton.bind(this)}),s().defaults(e,t)}))}renderAddButton(){return this.props.addButton?a().createElement(i.Button,{basic:!1!==this.props.addButton.basic,color:this.props.addButton.color,key:"add",inverted:this.props.addButton.inverted,onClick:this.onAddButton.bind(this),secondary:this.props.addButton.secondary},a().createElement(i.Icon,{name:"plus"}),this.props.addButton.content||v.t("List.buttons.add")):null}renderButton(e,t){return e.render?e.render(t):e.accept&&!e.accept()?null:a().createElement(i.Button,q({key:t},e))}renderDeleteAllButton(){return this.props.deleteButton?a().createElement(i.Button,{basic:!0,color:this.props.deleteButton.color,key:"delete-all",onClick:this.onDeleteAllButton.bind(this)},a().createElement(i.Icon,{name:"times"}),v.t("List.buttons.deleteAll")):null}renderDeleteAllModal(){return this.state.modalDeleteAll?a().createElement(i.Confirm,{content:v.t("List.deleteAllContent"),header:a().createElement(i.Header,{icon:"trash alternate outline",content:v.t("List.deleteAllHeader")}),onCancel:()=>this.setState({modalDeleteAll:!1}),onConfirm:this.onDeleteAll.bind(this),open:!0}):null}renderDeleteModal(){if(!this.state.modalDelete)return null;const{selectedItem:e}=this.state,t=()=>this.setState({selectedItem:null,modalDelete:!1}),n=this.onDelete.bind(this);return this.props.renderDeleteModal?this.props.renderDeleteModal({selectedItem:e,onConfirm:n,onCancel:t}):a().createElement(i.Confirm,{content:v.t("List.deleteContent"),header:a().createElement(i.Header,{icon:"trash alternate outline",content:v.t("List.deleteHeader")}),onCancel:t,onConfirm:n,open:!0})}renderEditModal(){if(!this.props.modal||!this.state.modalEdit)return null;const{component:e,props:t}=this.props.modal;return a().createElement(N,q({component:e,onClose:()=>this.setState({selectedItem:null,modalEdit:!1}),onSave:this.onSave.bind(this),item:this.state.selectedItem},t))}renderEmptyMessage(){const{addButton:e={},modal:t}=this.props;return e.onClick||t?a().createElement(w.Trans,{i18nKey:"List.emptyListAdd"},"You haven't added any yet. Click",a().createElement("div",{className:"empty-button"},this.renderAddButton()),"to get started."):v.t("List.emptyList")}renderFilterButton(){return this.props.filters&&this.props.filters.component?a().createElement(i.Button,{active:this.props.filters.active,"aria-label":"Filter",basic:!0,icon:"filter",onClick:this.onFilterButton.bind(this)}):null}renderFilterModal(){if(!this.props.filters||!this.state.modalFilter)return null;const{component:e,props:t}=this.props.filters;return a().createElement(N,q({},t,{component:e,onClose:()=>this.setState({modalFilter:!1}),onSave:this.onSaveFilter.bind(this)}))}renderFooter(){let e=!1;const t=this.getButtons("bottom");t&&t.length&&(e=!0);const n=this.props.pages&&this.props.pages>1;n&&(e=!0);const r=this.props.count&&this.props.showRecordCount;return r&&(e=!0),e?a().createElement("div",{className:"footer"},a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,{textAlign:"left"},r?this.renderRecordCount():"",s().map(t,(e=>e.render()))),a().createElement(i.Grid.Column,{textAlign:"right"},n?this.renderPagination():""))):null}renderHeader(){let e=!1;const t=this.getButtons("top");t&&t.length&&(e=!0);const{filters:n,perPageOptions:r,renderListHeader:o,renderSearch:l}=this.props;(n||r||o||l)&&(e=!0);const c=n&&n.showLabels&&!s().isEmpty(n.props.item.filters);return e?a().createElement("div",{className:"header"},a().createElement(i.Grid,{className:c?"filter-labels":void 0,verticalAlign:"top"},a().createElement(i.Grid.Row,{columns:2},a().createElement(i.Grid.Column,{textAlign:"left"},s().map(t,this.renderButton.bind(this))),a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(i.Menu,{compact:!0,borderless:!0,secondary:!0,className:"flex-end-menu"},o&&a().createElement(i.Menu.Menu,{className:"list-header-menu"},o()),a().createElement(i.Menu.Menu,null,n&&this.renderFilterButton()),r&&a().createElement(i.Menu.Menu,{className:"per-page-menu"},this.renderPerPage()),a().createElement(i.Menu.Menu,null,l&&l())))),c&&a().createElement(i.Grid.Row,{columns:1},a().createElement(i.Grid.Column,null,a().createElement(U,{filters:n.props.item.filters,onClear:()=>n.onChange({filters:[]}),onClick:e=>this.onRemoveFilter(e)}))))):null}renderPagination(){return a().createElement(i.Pagination,{activePage:this.props.page,firstItem:null,lastItem:null,onPageChange:this.props.onPageChange.bind(this),size:"mini",totalPages:this.props.pages})}renderPerPage(){const{perPage:e}=this.props;return a().createElement(I,{basic:!0,icon:"list",onChange:this.props.onPerPageChange.bind(this),options:s().map(this.props.perPageOptions,(e=>({key:e,value:e,text:e}))),text:v.t("List.labels.perPage",{perPage:e}),value:e})}renderRecordCount(){const{count:e}=this.props;return a().createElement("p",{className:"record-count"},`${Number(e).toLocaleString()} ${v.t("List.record",{count:e})}`)}}).defaultProps={actions:[],addButton:{basic:!0,color:"green",location:"top"},buttons:[],className:"",filters:void 0,modal:void 0,page:1,pages:1,onColumnClick:()=>{},onCopy:void 0,onPageChange:()=>{},renderDeleteModal:void 0,renderSearch:void 0,sortColumn:void 0,sortDirection:void 0},t};function $(){return $=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$.apply(this,arguments)}const K=V((e=>{const t=(0,r.useCallback)((t=>{const n=s().filter(e.actions,(e=>!e.accept||e.accept(t)));return s().isEmpty(n)?null:a().createElement(i.Button.Group,null,s().map(n,((e,n)=>a().createElement(i.Button,{"aria-label":e.name,basic:!0,color:e.color,icon:e.icon,key:`${e.name}-${n}`,onClick:e.onClick&&e.onClick.bind(void 0,t),title:e.title}))))}),[e.actions]),n=(0,r.useCallback)((t=>e.selectable?a().createElement(i.Checkbox,{key:`select-checkbox-${t.id}`,className:"row-select-checkbox",onClick:(n,r)=>e.onRowSelect(r,t,n),checked:!!e.selectedRows.find((e=>e.id===t.id))}):null),[e.onRowSelect,e.selectable,e.selectedRows]);return a().createElement("div",{className:["accordion-data-list",e.className||""].join(" ")},a().createElement(c,{getChildItems:e.getChildItems,onItemToggle:t=>e.onItemToggle&&e.onItemToggle(t),renderItem:t=>e.renderItem(t),renderRight:e=>a().createElement(a().Fragment,null,t(e),n(e)),rootItems:e.rootItems,showToggle:t=>e.showToggle(t)}))}));var _=k((e=>{const t=(0,r.useMemo)((()=>e.getRootItems(e.items)),[e.items]),n=(0,r.useCallback)((t=>e.getChildItems(e.items,t)),[e.items]),o=(0,r.useRef)(),l=(0,r.useMemo)((()=>{const t=s().find(e.sort,{value:e.sortColumn});return t&&t.text}),[e.sort,e.sortColumn]),c=(0,r.useCallback)((t=>{if(!e.onSort)return;let n;t.value!==e.sortColumn&&(n=t.direction),e.onSort(t.value,n)}),[e.onSort,e.sortColumn]),d=(0,r.useCallback)((()=>s().isEmpty(e.sort)?null:a().createElement(i.Button.Group,{basic:!0,style:{fontSize:"inherit"}},a().createElement(i.Button,{"aria-label":"Sort by",content:l,icon:e.sortDirection===y?"sort alphabet up":"sort alphabet down",onClick:e=>o.current&&o.current.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Sort by toggle",className:"button icon",floating:!0,options:s().map(e.sort,(e=>({...e,onClick:()=>c(e)}))),ref:o,trigger:a().createElement(a().Fragment,null),value:e.sortColumn}))),[e.sort,e.sortColumn,e.sortDirection]);return(0,r.useEffect)((()=>{if(s().isEmpty(e.sort))return e.onInit();const{page:t}=e;let{sortColumn:n="",sortDirection:r=y}=e;if(!n){const t=s().first(e.sort);t&&(n=t.value,t.direction&&(r=t.direction))}return e.onSort(n,r,t)}),[]),a().createElement(K,$({},e,{renderListHeader:d,rootItems:t,getChildItems:n}))}));function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}class W extends r.Component{constructor(e){super(e),this.state={count:0,items:[],modalAdd:!1,modalDelete:!1,page:1,pages:1,saved:!1,searchQuery:"",selectedItem:null}}componentDidMount(){this.onSearch()}onAddButton(e){let t=e;this.props.modal&&this.props.modal.onAddItem&&(t=this.props.modal.onAddItem(e)),this.setState({modalAdd:!0,selectedItem:t})}onDelete(){const e=this.state.selectedItem;return this.props.onDelete(e).then((()=>{this.setState((t=>({modalDelete:!1,selectedItem:null,items:s().reject(t.items,(t=>t===e))})))}))}onDeleteButton(e){this.setState({modalDelete:!0,selectedItem:e})}onEditButton(e){this.setState({modalAdd:!0,selectedItem:e})}onCopyButton(e){let t;this.props.onCopy&&(t=this.props.onCopy(e),d.Object.isPromise(t)?t.then((e=>{this.setState({selectedItem:e,modalAdd:!0})})):(t=s().omit(e,"id","uid"),this.setState({selectedItem:t,modalAdd:!0})))}onItemToggle(e){!e.loaded&&this.props.lazyLoad&&this.onSearch(e.id).then((()=>{this.setState((t=>({items:s().map(t.items,(t=>t.id===e.id?{...t,loaded:!0}:t))})))}))}onPageChange(e,t){this.setState({page:t.activePage},(()=>this.onSearch()))}onSave(e){return this.props.onSave(e).then((t=>{this.setState((n=>({modalAdd:!1,selectedItem:!1,saved:!0,items:e.id?s().map(n.items,(e=>e.id===t.id?t:e)):[...n.items,t]})))}))}onSearch(e){return this.props.lazyLoad?this.props.onSearch(e,this.state.searchQuery).then((t=>{let{data:n}=t;const r=n[this.props.collectionName];this.setState((t=>e?{items:[...t.items||[],...r]}:{items:r}))})):this.props.onSearch(this.state.searchQuery,this.state.page).then((e=>{let{data:t}=e;const n=t[this.props.collectionName];if(this.setState({items:n}),this.props.showRecordCount&&this.setState({count:t.list.count}),this.props.pagination){const e=t.list.pages;this.setState({pages:e})}}))}onSearchChange(e,t){let{value:n}=t;this.setState({searchQuery:n})}render(){return a().createElement("div",{className:["accordion-list",this.props.className||""].join(" ")},a().createElement(i.Header,{className:"accordion-header"},a().createElement(i.Input,{"aria-label":"Search",autoFocus:!0,className:"search",icon:"search",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this)),onChange:this.onSearchChange.bind(this),size:"mini",type:"text",value:this.state.searchQuery}),this.renderHeaderAddButton(),this.props.buttons.map((e=>e.render()))),this.renderSubHeader(),a().createElement(c,{getChildItems:this.props.getChildItems.bind(this,this.state.items),onItemToggle:this.onItemToggle.bind(this),renderItem:this.props.renderItem.bind(this),renderRight:this.renderRight.bind(this),rootItems:this.props.getRootItems(this.state.items),showToggle:this.props.showToggle.bind(this)}),this.renderFooter(),this.renderAddModal(),a().createElement(i.Confirm,{content:v.t("AccordionList.deleteContent"),header:v.t("AccordionList.deleteHeader"),open:this.state.modalDelete,onCancel:()=>this.setState({modalDelete:!1,selectedItem:null}),onConfirm:this.onDelete.bind(this)}),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})))}renderAddButton(e){return this.props.canAddItem&&!this.props.canAddItem(e)?null:a().createElement(i.Button,{"aria-label":"Add",basic:!0,compact:!0,icon:"plus",onClick:this.onAddButton.bind(this,e)})}renderSelectAll(){if(!this.props.selectable&&!this.props.onSelectAll)return null;const e=this.props.selectedRows.map((e=>e.id)),t=(this.state.items?this.state.items:[]).reduce(((t,n)=>e.includes(n.id)?t:[...t,n]),[]);return a().createElement(i.Checkbox,{"aria-label":"Select All",onClick:(e,n)=>this.props.onSelectAll(n,t,this.state.items,e),checked:!t.length})}renderSubHeader(){return a().createElement("div",{className:"sub-header"},this.renderSelectAll())}renderAddModal(){if(!this.state.modalAdd||!this.props.modal)return null;const{component:e,props:t}=this.props.modal;return a().createElement(N,Q({component:e,item:this.state.selectedItem,onClose:()=>this.setState({modalAdd:!1,selectedItem:null}),onSave:this.onSave.bind(this)},t))}renderDeleteButton(e){return this.props.canDeleteItem&&!this.props.canDeleteItem(e)?null:a().createElement(i.Button,{"aria-label":"Delete",basic:!0,compact:!0,icon:"trash",onClick:this.onDeleteButton.bind(this,e)})}renderEditButton(e){return this.props.canEditItem&&!this.props.canEditItem(e)?null:a().createElement(i.Button,{"aria-label":"Edit",basic:!0,compact:!0,icon:"edit",onClick:this.onEditButton.bind(this,e)})}renderCopyButton(e){return this.props.canCopyItem&&!this.props.canCopyItem(e)?null:a().createElement(i.Button,{"aria-label":"Copy",basic:!0,compact:!0,icon:"copy",onClick:()=>this.onCopyButton(e)})}renderHeaderAddButton(){return!this.props.modal||this.props.hideAddRootButton?null:a().createElement(i.Button,{basic:!0,className:"add-button",content:v.t("Common.buttons.add"),icon:"plus",onClick:()=>this.setState({modalAdd:!0})})}renderRecordCount(){const e=this.state.count;return e?a().createElement("span",{className:"record-count"},`${Number(e).toLocaleString()} ${v.t("AccordionList.record",{count:e})}`):null}renderPagination(){return this.props.pagination?a().createElement(i.Pagination,{activePage:this.state.page,onPageChange:this.onPageChange.bind(this),size:"mini",totalPages:this.state.pages}):null}renderFooter(){return this.props.pagination||this.props.showRecordCount?a().createElement("div",{className:"footer"},a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,{textAlign:"left"},this.renderRecordCount()),a().createElement(i.Grid.Column,{textAlign:"right"},this.renderPagination()))):null}renderSelectCheckbox(e){if(!this.props.selectable)return null;const t=this.props.selectedRows.find((t=>t.id===e.id));return a().createElement(i.Checkbox,{"aria-label":"Select",key:`select-checkbox-${e.id}`,className:"row-select-checkbox",onClick:(t,n)=>this.props.onRowSelect(n,e,t),checked:!!t})}renderRight(e){return a().createElement(a().Fragment,null,a().createElement(i.Button.Group,null,this.renderAddButton(e),this.renderEditButton(e),this.renderCopyButton(e),this.renderDeleteButton(e)),this.renderSelectCheckbox(e))}}W.defaultProps={buttons:[],canAddItem:()=>!0,canDeleteItem:()=>!0,canEditItem:()=>!0,canCopyItem:()=>!1,className:"",lazyLoad:!0,modal:void 0,pagination:!1};var Y=W,X=e=>e.items&&e.items.length?a().createElement(i.Segment,{className:"selectize-header",textAlign:"left"},s().map(e.items,((t,n)=>a().createElement(i.Button,{className:"selected",content:e.renderItem(t),icon:e.isSelected(t)?"times circle outline":void 0,key:n,onClick:e.onItemClick.bind(void 0,t),primary:!0,size:"small"})))):null;function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},J.apply(this,arguments)}class Z extends r.Component{constructor(e){super(e),this.state={items:[],modalAdd:!1,saved:!1,searchQuery:"",selectedItem:null,selectedItems:e.selectedItems}}componentDidUpdate(e){this.props.open&&!e.open&&this.onSearch(),this.props.selectedItems!==e.selectedItems&&this.setState({selectedItems:this.props.selectedItems})}isSelected(e){return!!s().findWhere(this.state.selectedItems,{id:e.id})}onItemClick(e){this.props.isSelectable&&!this.props.isSelectable(e)||this.setState((t=>{let n;return n=this.isSelected(e)?s().filter(t.selectedItems,(t=>t.id!==e.id)):this.props.multiple?[...t.selectedItems,e]:[e],{selectedItems:n}}))}onItemSelection(e){this.state.selectedItem===e?this.setState({selectedItem:null},this.onItemClick.bind(this,e)):this.setState({selectedItem:e})}onItemToggle(e){e.loaded||this.onSearch(e.id).then((()=>{this.setState((t=>({items:s().map(t.items,(t=>t.id===e.id?{...t,loaded:!0}:t))})))}))}onSearch(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.props.onSearch(e,this.state.searchQuery).then((t=>{let{data:n}=t;const r=n[this.props.collectionName];this.setState((t=>e?{items:[...t.items||[],...r]}:{items:r}))}))}onSearchChange(e,t){let{value:n}=t;this.setState({searchQuery:n})}render(){return a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{className:"accordion-selector",mountNode:e,open:this.props.open,size:"small"},a().createElement(i.Modal.Header,null,a().createElement(i.Grid,{columns:2,verticalAlign:"middle"},a().createElement(i.Grid.Column,{textAlign:"left",width:7},a().createElement(i.Header,{content:this.props.title?this.props.title:v.t("AccordionSelector.title")})),a().createElement(i.Grid.Column,{textAlign:"right",width:9},a().createElement(i.Input,{"aria-label":"Search",autoFocus:!0,icon:"search",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this)),onChange:this.onSearchChange.bind(this),size:"mini",type:"text",value:this.state.searchQuery}),this.renderAddButton()))),a().createElement(i.Modal.Content,null,a().createElement(X,{isSelected:e=>this.state.selectedItem===e,items:this.state.selectedItems,onItemClick:this.onItemSelection.bind(this),renderItem:this.props.renderItem.bind(this)}),a().createElement(c,{getChildItems:this.props.getChildItems.bind(this,this.state.items),onItemClick:this.onItemClick.bind(this),onItemToggle:this.onItemToggle.bind(this),renderItem:this.props.renderItem.bind(this),renderRight:this.renderRight.bind(this),rootItems:this.props.getRootItems(this.state.items),showToggle:this.props.showToggle.bind(this)}),this.renderAddModal(),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")}))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:this.props.onSave.bind(this,this.state.selectedItems),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:this.props.onClose.bind(this),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))))}renderAddButton(){return this.props.modal?a().createElement(i.Button,{basic:!0,className:"add-button",content:v.t("Common.buttons.add"),icon:"plus",onClick:()=>this.setState({modalAdd:!0})}):null}renderAddModal(){if(!this.state.modalAdd||!this.props.modal)return null;const{component:e,props:t,onSave:n}=this.props.modal;return a().createElement(N,J({component:e,onClose:()=>this.setState({modalAdd:!1,selectedItem:null}),onSave:e=>n(e).then((e=>this.setState({modalAdd:!1,saved:!0,searchQuery:"",selectedItems:[e]},this.onSearch.bind(this))))},t))}renderRight(e){return this.isSelected(e)?a().createElement(i.Icon,{color:"green",name:"check"}):null}}Z.defaultProps={isSelectable:void 0,modal:void 0,multiple:!1,open:!1,selectedItems:[],title:void 0};var ee=(0,w.withTranslation)()(Z),te=e=>a().createElement(i.Button.Group,{className:"arrow-buttons",vertical:!0},a().createElement(i.Button,{"aria-label":"Move Right",basic:!0,icon:"arrow right",onClick:e.onRight.bind(void 0)}),a().createElement(i.Button,{"aria-label":"Move Left",basic:!0,icon:"arrow left",onClick:e.onLeft.bind(void 0)})),ne=e=>{const[t,n]=(0,r.useState)(!1);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:e.centered,className:"audio-player",mountNode:r,open:e.open},a().createElement(i.Modal.Content,null,t&&a().createElement(i.Message,{content:v.t("AudioPlayer.errors.path.content",{path:e.src}),header:v.t("AudioPlayer.errors.path.header"),icon:"exclamation circle"}),a().createElement("audio",{controls:!0,onError:()=>n(!0),src:e.src})),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.close"),onClick:e.onClose})))))},re=require("zotero-api-client"),ae=n.n(re),oe=JSON.parse('{"artwork":{"medium":"artworkMedium"},"audioRecording":{"medium":"audioRecordingFormat","publisher":"label"},"bill":{"number":"billNumber","volume":"codeVolume","pages":"codePages"},"blogPost":{"publicationTitle":"blogTitle","type":"websiteType"},"bookSection":{"publicationTitle":"bookTitle"},"case":{"title":"caseName","date":"dateDecided","number":"docketNumber","volume":"reporterVolume","pages":"firstPage"},"computerProgram":{"publisher":"company"},"conferencePaper":{"publicationTitle":"proceedingsTitle"},"dictionaryEntry":{"publicationTitle":"dictionaryTitle"},"email":{"title":"subject"},"encyclopediaArticle":{"publicationTitle":"encyclopediaTitle"},"film":{"publisher":"distributor","type":"genre","medium":"videoRecordingFormat"},"forumPost":{"publicationTitle":"forumTitle","type":"postType"},"hearing":{"number":"documentNumber"},"interview":{"medium":"interviewMedium"},"letter":{"type":"letterType"},"manuscript":{"type":"manuscriptType"},"map":{"type":"mapType"},"patent":{"number":"patentNumber","date":"issueDate"},"podcast":{"number":"episodeNumber","medium":"audioFileType"},"preprint":{"type":"genre","publisher":"repository","number":"archiveID"},"presentation":{"type":"presentationType"},"radioBroadcast":{"publicationTitle":"programTitle","number":"episodeNumber","medium":"audioRecordingFormat","publisher":"network"},"report":{"number":"reportNumber","type":"reportType","publisher":"institution"},"statute":{"title":"nameOfAct","number":"publicLawNumber","date":"dateEnacted"},"thesis":{"type":"thesisType","publisher":"university"},"tvBroadcast":{"publicationTitle":"programTitle","number":"episodeNumber","medium":"videoRecordingFormat","publisher":"network"},"videoRecording":{"medium":"videoRecordingFormat","publisher":"studio"},"webpage":{"publicationTitle":"websiteTitle","type":"websiteType"}}');const se=["mimeType","linkMode","charset","md5","mtime","version","key","collections","relations","parentItem","contentType","filename","tags","creator","abstractNote","notes","rights","extra"],ie=["modified","filename","dateAdded","dateModified"],le=e=>{let t={},n=!1;try{t=JSON.parse(localStorage.getItem("zotero-bib-api-cache"))||{}}catch(e){}return e in t&&(n=Date.now()-t[e]<864e5),n||(t[e]=Date.now(),localStorage.setItem("zotero-bib-api-cache",JSON.stringify(t))),n},ce=async function(e){let t,n,r,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];try{const[a,o,s]=await Promise.all([ae()().itemTypes().get({cache:le("itemTypes")?"force-cache":"default"}),ae()().itemTypeFields(e).get({cache:le(`itemTypeFields-${e}`)?"force-cache":"default"}),ae()().itemTypeCreatorTypes(e).get({cache:le(`itemTypeCreatorTypes-${e}`)?"force-cache":"default"})]);t=a.getData(),n=o.getData(),r=s.getData()}catch(t){if(localStorage.removeItem("zotero-bib-api-cache"),a)return ce(e,!1);throw t}return{itemTypes:t,itemTypeFields:n,itemTypeCreatorTypes:r}};var de={getFieldsAndItem:(e,t,n)=>{if(!e||!t||!n)return{item:e,fields:[]};const r=e.itemType in oe&&oe[e.itemType]?.title||"title";let a=[{field:"itemType",localized:"Item Type"},t.find((e=>e.field===r)),{field:"creators",localized:"Creators"},...t.filter((e=>e.field!==r))].filter((e=>e&&!se.includes(e.field))).concat([t.find((e=>"abstractNote"===e.field)),t.find((e=>"extra"===e.field))]);if(["book","bookSection"].includes(e.itemType)){const t=a.findIndex((e=>"date"===e.field));a.splice(t+1,0,{field:"original-date",localized:"Original Date"});const n="extra"in e&&e.extra.match(/^original-date:\s*(.*?)$/);n&&s().extend(e,{"original-date":n[1],extra:e.extra.replace(/^original-date:\s*.*?$/,"")})}if(["webpage"].includes(e.itemType)){const t=a.findIndex((e=>"websiteType"===e.field));a.splice(t+1,0,{field:"publisher",localized:"Publisher"});const n="extra"in e&&e.extra.match(/^publisher:\s*(.*?)$/i);n&&s().extend(e,{publisher:n[1],extra:e.extra.replace(/^publisher:\s*.*?$/,"")})}return a=a.map((t=>({options:"itemType"===t.field?n:null,key:t.field,label:t.localized,readonly:ie.includes(t.field),processing:!1,value:t.field in e?e[t.field]:null}))),{item:e,fields:a}},getItemTypeMeta:ce,isUrl:e=>!!e.match(/^(https?:\/\/)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b(\S*)$/i)};var me=e=>{const t=(0,r.useCallback)(((t,n,r)=>{let{value:a}=r;return e.onUpdate({...e.creator||{},[t]:a})}),[e.creator,e.onUpdate]),n=(0,r.useCallback)((t=>e.onUpdate({...e.creator||{},...t})),[e.creator,e.onUpdate]),o=(0,r.useMemo)((()=>a().createElement("label",null,a().createElement(i.Dropdown,{onChange:t.bind(void 0,"creatorType"),options:s().map(e.creatorTypes,(e=>({key:e.value,value:e.value,text:e.label}))),value:e.creator.creatorType}))),[e.creator.creatorType,e.creatorTypes]);return(0,r.useEffect)((()=>{s().has(e.creator,"nameType")||n({nameType:1})}),[e.creator,n]),(0,r.useEffect)((()=>{if(e.creator.name&&1===e.creator.nameType){const[t,r]=e.creator.name.split(" ");n({name:null,firstName:t,lastName:r})}else if((e.creator.firstName||e.creator.lastName)&&0===e.creator.nameType){const t=s().compact([e.creator.firstName,e.creator.lastName]).join(" ");n({firstName:null,lastName:null,name:t})}}),[e.creator.nameType]),a().createElement(i.Form.Group,{className:"creator-field"},1===e.creator.nameType&&a().createElement(a().Fragment,null,a().createElement(i.Form.Input,{className:"flex",label:o,onChange:t.bind(void 0,"firstName"),placeholder:v.t("CreatorField.labels.firstName"),value:e.creator.firstName}),a().createElement(i.Form.Input,{className:"flex",onChange:t.bind(void 0,"lastName"),placeholder:v.t("CreatorField.labels.lastName"),value:e.creator.lastName}),a().createElement(i.Form.Button,{icon:"exchange",onClick:()=>n({nameType:0})})),0===e.creator.nameType&&a().createElement(a().Fragment,null,a().createElement(i.Form.Input,{className:"flex",label:o,onChange:t.bind(void 0,"name"),placeholder:v.t("CreatorField.labels.name"),value:e.creator.name}),a().createElement(i.Form.Button,{icon:"exchange",onClick:()=>n({nameType:1})})),a().createElement(i.Form.Button,{icon:"plus",onClick:e.onAdd}),a().createElement(i.Form.Button,{disabled:!e.allowDelete,icon:"minus",onClick:e.onDelete}))},ue=e=>{const t=(0,r.useMemo)((()=>e.creatorTypes&&e.creatorTypes.length&&e.creatorTypes[0].value),[e.creatorTypes]),n=(0,r.useCallback)((()=>e.onChange([...e.value||[],{creatorType:t}])),[e.onChange,e.value]),o=(0,r.useCallback)((t=>e.onChange(s().filter(e.value,((e,n)=>n!==t)))),[e.onChange,e.value]),i=(0,r.useCallback)(((t,n)=>e.onChange(s().map(e.value,((e,r)=>r===t?n:e)))),[e.onChange,e.value]),l=(0,r.useCallback)((n=>s().findWhere(e.creatorTypes,{value:n.creatorType})?n:{...n,creatorType:t}),[e.creatorTypes,t]);return(0,r.useEffect)((()=>{n()}),[]),(0,r.useEffect)((()=>{e.value&&e.value.length&&e.onChange(s().map(e.value,l))}),[l,e.creatorTypes]),s().map(e.value,((t,r)=>a().createElement(me,{allowDelete:e.value.length>1,creator:t,creatorTypes:e.creatorTypes,key:r,onAdd:()=>n(),onDelete:()=>o(r),onUpdate:e=>i(r,e)})))},pe=e=>{const[t,n]=(0,r.useState)([]),[o,l]=(0,r.useState)([]),c=(0,r.useCallback)((n=>"itemType"===n.key?a().createElement(i.Form.Dropdown,{disabled:n.readonly,key:n.key,label:n.label,onChange:e.onTextInputChange.bind(void 0,n.key),options:s().map(n.options,(e=>({key:e.value,value:e.value,text:e.label}))),selectOnBlur:!1,selection:!0,value:e.item[n.key]||""}):"creators"===n.key?a().createElement(ue,{creatorTypes:t,key:n.key,onChange:t=>e.onSetState({[n.key]:t}),value:e.item[n.key]||[]}):"abstractNote"===n.key||"extra"===n.key?a().createElement(i.Form.TextArea,{disabled:n.readonly,key:n.key,label:n.label,onChange:e.onTextInputChange.bind(void 0,n.key),value:e.item[n.key]||""}):a().createElement(i.Form.Input,{disabled:n.readonly,key:n.key,label:n.label,onChange:e.onTextInputChange.bind(void 0,n.key),value:e.item[n.key]||""})),[t,e.item]);return(0,r.useEffect)((()=>{de.getItemTypeMeta(e.item.itemType).then((t=>{const r=s().map(t.itemTypes,(e=>({value:e.itemType,label:e.localized}))),a=s().map(t.itemTypeCreatorTypes,(e=>({value:e.creatorType,label:e.localized})));n(a);const o=de.getFieldsAndItem(e.item,t.itemTypeFields,r);l(o.fields)}))}),[e.item.itemType]),a().createElement(a().Fragment,null,s().map(o,c))},he=e=>a().createElement(i.Modal,{as:i.Form,centered:!1,open:!0},a().createElement(i.Modal.Header,{content:v.t("BibliographyModal.title")}),a().createElement(i.Modal.Content,null,a().createElement(pe,e)),e.children),ge=require("zotero-translation-client"),be=n.n(ge),ve=(0,r.createContext)(),Ee=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(""),{translateUrl:l}=(0,r.useContext)(ve),c=(0,r.useCallback)((t=>{const{ok:n}=t.response;n?e.onFind(t.items):e.onError()}),[e.onFind]),d=(0,r.useCallback)((()=>{n(!0);const e=new(be())({translateURL:l,persist:!1});de.isUrl(o)?e.translateUrl(o,{add:!1}).then(c).finally((()=>n(!1))):e.translateIdentifier(o,{add:!1}).then(c).finally((()=>n(!1)))}),[o]);return a().createElement("div",{className:"bibliography-search-input"},a().createElement(i.Input,{autoFocus:!0,disabled:t,onChange:(e,t)=>{let{value:n}=t;return s(n)},placeholder:v.t("BibliographySearchInput.labels.placeholder"),value:o}),a().createElement(i.Button,{className:"search-button",content:v.t("Common.buttons.search"),disabled:t,loading:t,onClick:d,primary:!0}))};const fe="ascending",Ce="descending";var ye=e=>{const t=(0,r.useRef)(),n=(0,r.useCallback)((t=>{const n=e.value===t.value&&e.direction===fe?Ce:fe;e.onChange({...t,direction:n})}),[e.direction,e.onChange,e.value]);return(0,r.useEffect)((()=>{if(!e.value){let t;t=e.defaultValue?s().findWhere(e.options,{value:e.defaultValue}):s().first(e.options),n(t)}}),[]),a().createElement(i.Button.Group,{basic:!0,className:"sort-selector",style:{fontSize:"inherit"}},a().createElement(i.Button,{"aria-label":"Sort by",content:e.text,icon:e.direction===fe?"sort alphabet up":"sort alphabet down",onClick:e=>t.current.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Sort",className:"button icon",floating:!0,options:s().map(e.options,(e=>({...e,onClick:()=>n(e)}))),ref:t,trigger:a().createElement(a().Fragment,null),value:e.value}))},Se=e=>{const{onStyleChange:t,style:n,styles:o}=(0,d.useCitationStyles)(e.value);return(0,r.useEffect)((()=>{n?.name&&n?.xml&&e.onChange(n.name,n.xml)}),[n]),a().createElement(i.Dropdown,{onChange:(e,n)=>{let{value:r}=n;return t(r)},options:s().map(o,(e=>{let{name:t,title:n}=e;return{key:t,value:t,text:n}})),search:!0,searchInput:{"aria-label":"Search styles"},selectOnBlur:!1,selection:!0,text:n?.title,value:n?.name||""})};function ke(){return ke=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ke.apply(this,arguments)}const we="author",De="date",Ie="title",Me=[{key:Ie,value:Ie,text:v.t("BibliographyList.sort.title")},{key:we,value:we,text:v.t("BibliographyList.sort.author")},{key:De,value:De,text:v.t("BibliographyList.sort.date")}],Ne=V((e=>a().createElement(i.List,{divided:!0,relaxed:"very"},s().map(e.items,((t,n)=>a().createElement(i.List.Item,{as:i.Grid,columns:2,key:n,padded:!0},a().createElement(i.List.Content,{as:i.Grid.Column,textAlign:"left",verticalAlign:"middle",width:14},a().createElement(d.Citation,{item:t,locale:e.locale,style:e.style&&e.style.xml})),a().createElement(i.List.Content,{as:i.Grid.Column,textAlign:"right",verticalAlign:"middle",width:2},s().map(e.actions,((e,n)=>a().createElement(i.Button,{"aria-label":e.name,basic:!0,icon:e.icon,key:n,onClick:e.onClick.bind(void 0,t)}))))))))));var Pe=e=>{const[t,n]=(0,r.useState)(),[o,l]=(0,r.useState)(!1),[c,d]=(0,r.useState)(),[m,p]=(0,r.useState)({}),h=(0,r.useCallback)((e=>{const{id:t}=e||{},{uid:n=u()()}=e||{},r=s().omit(e,"id","uid","data");return s().extend(r,{creators:s().reject(e.creators,(e=>!(e.name||e.firstName||e.lastName)))}),{id:t,uid:n,data:r}}),[]),g=(0,r.useCallback)(((e,t)=>{let n;if(m===Ie)n=e.title;else if(m===we){const t=s().first(e.creators);n=t?.name||`${t?.lastName}, ${t?.firstName}`}else n=m===De?e.date:t;return n}),[]),b=(0,r.useMemo)((()=>{let t=s().chain(e.items).filter((e=>!e._destroy)).map((e=>({...s().omit(e,"data"),...e.data}))).value();return t=s().sortBy(t,g),m.direction===Ce&&(t=t.reverse()),t}),[g,m,e.items]),E=(0,r.useCallback)((()=>a().createElement(a().Fragment,null,a().createElement(Se,{onChange:(e,t)=>d({name:e,xml:t})}),a().createElement(ye,{direction:m.direction,onChange:e=>p(e),options:Me,text:m.text,value:m.value}))),[m,c]),C=(0,r.useCallback)((t=>Promise.resolve(e.onDelete(h(t)))),[h,e.onDelete]),y=(0,r.useCallback)((t=>Promise.resolve(e.onSave(h(t)))),[h,e.onSave]);return(0,r.useEffect)((()=>{fetch("https://raw.githubusercontent.com/citation-style-language/locales/master/locales-en-US.xml").then((e=>e.text())).then((e=>n(e)))}),[]),a().createElement(ve.Provider,{value:{translateUrl:e.translateUrl}},a().createElement("div",null,a().createElement(Ee,{onError:()=>l(!0),onFind:e=>s().map(e,y)}),a().createElement(Ne,ke({},e,{actions:[{name:"edit"},{name:"delete"}],className:"bibliography-list",items:b,locale:t,modal:{component:he,props:{defaults:{itemType:"book"}}},onDelete:C,onSave:y,renderListHeader:E,style:c})),o&&a().createElement(f,{onDismiss:()=>l(!1),timeout:2500,type:f.MessageTypes.warning},a().createElement(i.Message.Header,{content:v.t("Common.messages.noResults")}))))},Te=e=>{let t="times circle outline",n="red";return e.value&&(t="check circle outline",n="green"),a().createElement(i.Icon,{color:n,name:t})},xe=e=>a().createElement(i.Button,{basic:!0,disabled:e.disabled,onClick:e.onClick.bind(void 0),size:"medium",type:"button"},v.t("Common.buttons.cancel"));const Ae=e=>a().createElement(i.Button,{className:"color-button",onClick:e.onClick&&e.onClick.bind(void 0),style:{backgroundColor:e.color,cursor:e.onClick?"pointer":"default",height:e.height,width:e.width},title:"color-button"});Ae.defaultProps={height:void 0,onClick:void 0,width:void 0};var Be=Ae,Le=require("react-color");class Re extends r.Component{constructor(e){super(e),this.state={selectedColor:e.color}}render(){return a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{className:"color-picker-modal",mountNode:e,onClose:this.props.onClose.bind(this),open:this.props.open},a().createElement(i.Modal.Content,null,a().createElement(Le.SketchPicker,{color:this.state.selectedColor,disableAlpha:!1,onChangeComplete:e=>this.setState({selectedColor:e})})),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:this.props.onSave.bind(this,this.state.selectedColor),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:this.props.onClose.bind(this),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))))}}var ze=Re;const Oe=e=>a().createElement(i.Label.Group,null,s().map(e.items,((e,t)=>a().createElement(i.Label,{content:e.label,key:t,onRemove:e.onClick}))),e.count&&e.count>e.items.length&&e.onShowMore&&a().createElement(i.Label,{as:i.Button,content:"+"+(e.count-e.items.length),onClick:e.onShowMore}));Oe.defaultProps={count:void 0,onShowMore:void 0};var Fe=Oe;const je=e=>a().createElement(i.Modal,{centered:!1,open:e.open},a().createElement(i.Modal.Header,{content:v.t("CurrentFacetsModal.title")}),a().createElement(i.Modal.Content,null,a().createElement(Fe,{items:e.items})),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.done"),onClick:e.onClose,primary:!0})));je.defaultProps={open:void 0};var He=je;const Ge=e=>{let{useCurrentRefinements:t,...n}=e;const[o,i]=(0,r.useState)(!1),{items:l}=t(n),c=(0,r.useMemo)((()=>s().flatten(s().map(l,(e=>s().map(e.refinements,(t=>({label:`${e.label}: ${t.label}`,onClick:()=>e.refine(t)}))))))),[l]),d=(0,r.useMemo)((()=>s().filter(c,((e,t)=>!n.limit||t<n.limit))),[c,n.limit]);return s().isEmpty(c)?null:a().createElement(a().Fragment,null,a().createElement(Fe,{count:c.length,items:d,onShowMore:()=>i(!0)}),a().createElement(He,{items:c,open:o,onClose:()=>i(!1)}))};Ge.defaultProps={limit:void 0};var Ue=Ge,qe=e=>a().createElement("div",{className:"column-resize",onMouseDown:e.onMouseDown.bind(void 0),role:"presentation"}," "),Ve=require("react-dnd");const $e="vertical";var Ke=e=>{const{index:t,id:n,direction:o=$e}=e,s=(0,r.useRef)(null),[,l]=(0,Ve.useDrop)({accept:"any",hover(n,r){if(!s.current)return;const a=n.index,i=t;if(a===i)return;const l=s.current.getBoundingClientRect(),c=r.getClientOffset();let d,m;d=o===$e?(l.bottom-l.top)/2:(l.right-l.left)/2,m=o===$e?c.y-l.top:c.x-l.left,a<i&&m<d||a>i&&m>d||(e.onDrag(a,i),n.index=i)}}),[{isDragging:c},d]=(0,Ve.useDrag)({item:{type:"any",id:n,index:t},begin:()=>e.onDragStart&&e.onDragStart(),end:()=>e.onDragEnd&&e.onDragEnd(),collect:e=>({isDragging:e.isDragging()})});return d(l(s)),s&&s.current&&(s.current.style.opacity=c?0:1),a().createElement(i.Ref,{innerRef:s},e.children)};function _e(){return _e=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_e.apply(this,arguments)}function Qe(){return Qe=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qe.apply(this,arguments)}class We extends r.Component{constructor(e){super(e),this.state={resize:null,activePanel:null},this.initializeColumnRefs(),this.onClick=this.onPreventClick.bind(this),this.onMouseMove=this.onColumnResize.bind(this),this.onMouseUp=this.afterColumnResize.bind(this)}afterColumnResize(){this.state.resize&&d.Browser.isBrowser()&&(document.addEventListener("click",this.onClick,!0),this.setState({resize:void 0}))}initializeColumnRefs(){this.columnRefs={},s().each(this.props.columns,(e=>{this.columnRefs[e.name]=(0,r.createRef)()}))}componentDidMount(){d.Browser.isBrowser()&&(document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))}componentDidUpdate(e){d.Object.isEqual(e.columns,this.props.columns)||this.initializeColumnRefs()}componentWillUnmount(){d.Browser.isBrowser()&&(document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp))}getColumnCount(){let e=this.props.columns.length;return this.props.actions&&this.props.actions.length&&(e+=1),e}onColumnResize(e){const{resize:t}=this.state;if(t){const{columnRef:n,offset:r}=t;n.current.style.width=`${r+e.pageX}px`}}onPreventClick(e){e.stopPropagation(),d.Browser.isBrowser()&&document.removeEventListener("click",this.onClick,!0)}onSelectAll(e){let t;t=e?[...this.props.items||[]]:s().reject(this.props.items,this.props.isRowSelected.bind(this)),s().each(t,this.props.onRowSelect&&this.props.onRowSelect.bind(this))}render(){return a().createElement(i.Table,Qe({className:"data-table"},this.props.tableProps),a().createElement(i.Table.Header,null,a().createElement(i.Table.Row,null,this.renderSelectHeader(),this.props.columns.map(this.renderHeaderCell.bind(this)),this.renderActionsHeader())),a().createElement(i.Table.Body,null,this.props.items&&this.props.items.map(this.renderItem.bind(this)),this.renderEmptyTableRow(),this.renderLoading()))}renderActionButton(e,t,n){if(n.render)return n.render(e,t);const r=a().createElement(i.Button,{"aria-label":n.name,basic:!0,compact:!0,color:n.color,icon:n.icon,key:`${n.name}-${t}`,onClick:n.onClick&&n.onClick.bind(this,e),title:n.title});if(n.popup){const{content:e,title:t}=n.popup;return a().createElement(i.Popup,{content:e,header:t,hideOnScroll:!0,mouseEnterDelay:500,position:"top right",trigger:r})}return r}renderActions(e,t){if(!this.props.actions||!this.props.actions.length)return null;const n=this.props.actions.filter((t=>!t.accept||t.accept(e))).map((e=>{let t={};return"edit"===e.name?t={popup:{title:v.t("DataTable.actions.edit.title"),content:v.t("DataTable.actions.edit.content")}}:"copy"===e.name?t={popup:{title:v.t("DataTable.actions.copy.title"),content:v.t("DataTable.actions.copy.content")}}:"delete"===e.name&&(t={popup:{title:v.t("DataTable.actions.delete.title"),content:v.t("DataTable.actions.delete.content")}}),s().defaults(e,t)}));return a().createElement(i.Table.Cell,{className:"actions-cell",key:t},n.map(this.renderActionButton.bind(this,e,t)))}renderActionsHeader(){return this.props.actions&&this.props.actions.length?a().createElement(i.Table.HeaderCell,null,v.t("DataTable.columns.actions")):null}renderCell(e,t){if(t.hidden)return null;let n;return n=t.render?t.render(e):t.resolve?t.resolve(e):e[t.name],a().createElement(i.Table.Cell,{key:`${e.id}-${t.name}`,className:t.className},n)}renderEmptyTableRow(){return this.props.loading||this.props.items&&this.props.items.length?null:this.props.renderEmptyRow?this.props.renderEmptyRow():a().createElement(i.Table.Row,null,a().createElement(i.Table.Cell,{colSpan:this.getColumnCount(),textAlign:"center"},a().createElement("div",{className:"empty-container"},this.props.renderEmptyMessage())))}renderHeaderCell(e){return e.hidden?null:e.renderHeader?e.renderHeader():a().createElement(i.Ref,{innerRef:this.columnRefs[e.name]},a().createElement(i.Table.HeaderCell,{key:e.name,sorted:this.props.sortColumn===e.name?this.props.sortDirection:null,onClick:()=>this.props.onColumnClick(e)},e.label,a().createElement(qe,{onMouseDown:t=>{const n=this.columnRefs[e.name],r=n.current.offsetWidth-t.pageX;this.setState({resize:{columnRef:n,offset:r}})}})))}renderItem(e,t){const n=[this.renderSelectCheckbox(e,t),this.props.columns.map(this.renderCell.bind(this,e)),this.renderActions(e,t)];return this.props.renderItem?this.props.renderItem(e,t,n):a().createElement(a().Fragment,null,a().createElement(i.Table.Row,{key:t,onClick:this.props.expandableRows?t=>{"TD"===t.target.nodeName&&this.setState((t=>({activePanel:t.activePanel===e.id?"":e.id})))}:()=>{},className:this.props.expandableRows?"expandable":""},n),this.props.expandableRows&&a().createElement(i.Table.Row,{className:this.state.activePanel===e.id?"expanded-panel":"hidden"},this.props.expandPanel&&this.props.expandPanel(e,this.state.activePanel)))}renderLoading(){return this.props.loading?a().createElement(i.Table.Row,null,a().createElement(i.Table.Cell,{colSpan:this.getColumnCount(),textAlign:"center"},a().createElement(i.Loader,{active:!0,content:v.t("DataTable.loading"),inline:!0}))):null}renderSelectCheckbox(e,t){return this.props.selectable&&this.props.onRowSelect&&this.props.isRowSelected?a().createElement(i.Table.Cell,{className:"select-cell",key:`select-cell-${t}`},a().createElement(i.Checkbox,{onClick:this.props.onRowSelect.bind(this,e),checked:this.props.isRowSelected(e)})):null}renderSelectHeader(){if(!this.props.selectable)return null;const e=this.props.items&&this.props.items.length&&s().every(this.props.items,this.props.isRowSelected.bind(this));return a().createElement(i.Table.HeaderCell,{className:"select-cell"},a().createElement(i.Checkbox,{onClick:this.onSelectAll.bind(this,e),checked:e}))}}We.defaultProps={actions:void 0,addButton:{location:"top",color:"green"},buttons:[],count:0,className:"",expandableRows:!1,expandPanel:void 0,filters:void 0,items:[],loading:!1,modal:void 0,page:1,pages:1,onColumnClick:()=>{},onCopy:void 0,onPageChange:()=>{},renderDeleteModal:void 0,renderEmptyRow:void 0,renderSearch:void 0,renderItem:void 0,showRecordCount:!1,sortColumn:void 0,sortDirection:void 0};var Ye,Xe,Je=(Ye=V(We),(Xe=class extends r.Component{constructor(e){super(e),this.state={columns:e.columns}}componentDidUpdate(e){d.Object.isEqual(e.columns,this.props.columns)||this.setState({columns:this.props.columns})}onColumnCheckbox(e){this.setState((t=>({columns:s().map(t.columns,(t=>t.name===e.name?{...t,hidden:!t.hidden}:t))})))}onDrag(e,t){this.setState((n=>{const r=[],a=[];s().each(n.columns,((e,t)=>{e.label&&e.label.length?r.push(e):a.push({index:t,column:e})}));const o=r[e];return r.splice(e,1),r.splice(t,0,o),s().each(a,(e=>r.splice(e.index,0,e.column))),{columns:r}}))}render(){return a().createElement(Ye,_e({},this.props,{className:`data-table-column-selector ${this.props.className}`,columns:this.state.columns,renderListHeader:this.renderHeader.bind(this)}))}renderHeader(){return a().createElement(a().Fragment,null,this.props.renderListHeader&&this.props.renderListHeader(),a().createElement(i.Dropdown,{"aria-label":"Select Columns",basic:!0,button:!0,icon:"cog",className:"icon configure-button open-right",closeOnBlur:!1},a().createElement(i.Dropdown.Menu,null,this.state.columns.filter((e=>e.label&&e.label.length)).map(((e,t)=>a().createElement(Ke,{id:e.name,index:t,key:e.name,onDrag:this.onDrag.bind(this)},a().createElement(i.Dropdown.Item,{"aria-dropeffect":"move",onClick:e=>e.stopPropagation()},a().createElement(i.Icon,{name:"bars"}),a().createElement(i.Checkbox,{"aria-label":"Select Column",checked:!e.hidden,label:e.label,onClick:this.onColumnCheckbox.bind(this,e)}))))))))}}).defaultProps={className:""},Xe),Ze=require("axios"),et=n.n(Ze);function tt(){return tt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},tt.apply(this,arguments)}const nt=e=>{const[t,n]=(0,r.useState)(!1),o=(0,r.useRef)(),s=(0,r.useCallback)((()=>n(!0)),[]),l=(0,r.useCallback)((()=>n(!1)),[]);return(0,r.useEffect)((()=>(o.current&&(o.current.addEventListener("mouseenter",s),o.current.addEventListener("mouseleave",l)),()=>{o.current&&(o.current.removeEventListener("mouseenter",s),o.current.removeEventListener("mouseleave",l))})),[o]),(0,r.useEffect)((()=>{o.current&&e.role&&o.current.setAttribute("role",e.role)}),[o,e.role]),a().createElement(i.Ref,{innerRef:o},a().createElement(i.Dropdown,tt({},e,{open:t,onClick:()=>{e.onClick&&e.onClick(),n(!1)}}),a().createElement(i.Dropdown.Menu,null,e.children)))};nt.defaultProps={onClick:void 0};var rt=nt;function at(){return at=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},at.apply(this,arguments)}var ot=e=>{let{header:t,items:n,...o}=e;const l=(0,r.useCallback)(((e,t)=>a().createElement(i.Dropdown.Item,at({key:t},e))),[]),c=(0,r.useCallback)(((e,t)=>a().createElement(i.Menu.Item,at({key:t},e))),[]),d=(0,r.useCallback)(((e,t)=>a().createElement(rt,{"aria-label":e.content,item:!0,key:t,role:"group",text:e.content},s().map(e.items,(e=>e.items?d(e):l(e))))),[]),m=(0,r.useCallback)((e=>e.items?d(e):c(e)),[]);return a().createElement(i.Menu,at({},o,{className:"menu-bar"}),a().createElement(i.Menu.Item,at({},t,{header:!0})),s().map(n,(e=>m(e))))};function st(){return st=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},st.apply(this,arguments)}var it=e=>{let{contextRef:t,header:n,items:o,...l}=e;const c=(0,r.useCallback)(((e,t)=>a().createElement(i.Menu.Item,{key:t},a().createElement(i.Menu.Header,e),a().createElement(i.Menu.Menu,null,s().map(e.items,(e=>m(e)))))),[]),d=(0,r.useCallback)(((e,t)=>a().createElement(i.Menu.Item,st({key:t},e))),[]),m=(0,r.useCallback)((e=>e.items?c(e):d(e)),[]);return a().createElement(i.Ref,{innerRef:t},a().createElement(i.Menu,st({},l,{fixed:"left",vertical:!0}),a().createElement(i.Menu.Item,null,a().createElement(i.Header,n)),s().map(o,(e=>m(e)))))};function lt(){return lt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},lt.apply(this,arguments)}const ct=k((e=>{const[t,n]=(0,r.useState)(),o=(0,r.useCallback)((e=>{const r={...e};t&&t.value===e.value&&(r.direction=t.direction===S?y:S),n(r)}),[e.sorts,t]);return(0,r.useEffect)((()=>{t&&e.onSort(t.value,t.direction,e.page)}),[t]),(0,r.useEffect)((()=>{const{page:t}=e;let{sortColumn:n="",sortDirection:r=y}=e;if(!n){const t=s().first(e.sort);t&&(n=t.value,t.direction&&(r=t.direction))}e.onSort(n,r,t)}),[]),a().createElement(Je,lt({},e,{renderListHeader:()=>e.sorts&&a().createElement(I,{basic:!0,icon:t&&t.direction===S?"sort alphabet down":"sort alphabet up",onChange:()=>{},options:s().map(e.sorts,(e=>({key:e.value,value:e.value,text:e.label,onClick:()=>o(e)}))),text:t?v.t("DataView.labels.sortBy",{column:t.label}):v.t("DataView.labels.noSort"),value:t&&t.value}),tableProps:{...e.tableProps||{},celled:!0}}))})),dt=e=>{const[t,n]=(0,r.useState)(),[o,l]=(0,r.useState)(),[c,d]=(0,r.useState)([]),[m,u]=(0,r.useState)([]),[p,h]=(0,r.useState)(),[g,b]=(0,r.useState)(),E=(0,r.useRef)(),f=(0,r.useMemo)((()=>{let e="";return t&&(e=t.url.substr(t.url.lastIndexOf("/")+1,t.url.length)),e}),[t]),C=(0,r.useCallback)((n=>{if(!t)return[];const r=s().chain(n).map((e=>s().keys(e))).flatten().uniq().value();let a=s().map(r,((n,r)=>{const a=s().findWhere(t.columns,{name:n})||{},o={name:n,label:n.trim().replace(/^\w/,(e=>e.toUpperCase())).replaceAll("_"," "),sortable:!1,resolve:e=>k(e,n),hidden:r>e.columnCount,index:r};return s().extend(o,a)}));return a=[...a,...s().reject(t.columns,(e=>s().contains(r,e.name)))],s().sortBy(a,"index")}),[t]),y=(0,r.useCallback)((e=>{t&&et().get(`${t.url}/${e.id}`).then((e=>{let{data:t}=e;const n=s().first(s().keys(t));l(t[n])})).catch((()=>{l(e)}))}),[t]),S=(0,r.useCallback)((e=>{let n;return n=t?et().get(t.url,{params:e}).then((e=>{const t=e.data[f];return d(C(t)),e})):Promise.resolve(),n}),[t]),k=(0,r.useCallback)(((e,t)=>{let n=e[t];return s().isArray(n)?n=s().size(n):s().isBoolean(n)?n=Boolean(n).toString():s().isObject(n)&&(n=n[s().first(s().keys(n))]),n}),[]);return(0,r.useEffect)((()=>{if(s().every(e.items,(e=>!!e.group))){const r=s().groupBy(e.items,"group"),a=s().keys(r);u(s().map(a,(e=>({content:e,items:s().map(r[e],(e=>({active:t&&t.id===e.id,content:e.label,onClick:()=>n(e)})))}))))}else u(e.items)}),[t,e.items]),(0,r.useEffect)((()=>{e.items&&e.items.length&&n(s().first(e.items))}),[e.items]),(0,r.useEffect)((()=>{"left"===e.layout&&E&&E.current&&h(E.current.offsetWidth)}),[E,e.layout]),(0,r.useEffect)((()=>{const e=[];t&&e.push(t.id),c&&c.length&&e.push(...s().pluck(c,"name")),b(e.join(""))}),[t,c]),a().createElement("div",{className:"data-view"},"top"===e.layout&&a().createElement(ot,{header:{content:e.title},items:m}),"left"===e.layout&&a().createElement(it,{contextRef:E,header:{content:e.title},items:m}),a().createElement("div",{style:{marginLeft:p}},t&&a().createElement(ct,{actions:[{name:"details",icon:"info",onClick:y}],collectionName:f,columns:c,key:g,onLoad:S,perPageOptions:[10,25,50,100],searchable:!0,sorts:t.sorts})),o&&a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{as:i.Form,centered:!1,className:"data-view-modal",closeIcon:!0,mountNode:e,onClose:()=>l(null),open:!0},a().createElement(i.Modal.Header,{content:v.t("DataView.labels.details")}),a().createElement(i.Modal.Content,null,a().createElement(i.Grid,{columns:3,doubling:!0},s().map(C([o]),(e=>a().createElement(i.Grid.Column,{as:i.Form.Field,key:e.name},a().createElement("span",{className:"label"},e.label),k(o,e.name))))))))))};dt.defaultProps={columnCount:5,layout:"left"};var mt=dt;function ut(){return ut=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ut.apply(this,arguments)}const pt=k((e=>{const t=d.Hooks.usePrevious(e.columns),n=t=>{if(!t.sortable)return;const n=t.name;let r=y;t.name===e.sortColumn?r=e.sortDirection===y?S:y:t.sortDirection&&(r=t.sortDirection),e.onSort(n,r)};return(0,r.useEffect)((()=>{if(!d.Object.isEqual(e.columns,t)){const{page:t,defaultSort:r,defaultSortDirection:a=y}=e;if(r)e.onSort(r,a,t);else{const t=s().findWhere(e.columns,{sortable:!0});t?n(t):e.onInit()}}}),[e.columns]),a().createElement(Je,ut({},e,{onColumnClick:n.bind(void 0)}))}));pt.defaultProps={configurable:!0,tableProps:{celled:!0,sortable:!0}};var ht=pt;const gt=e=>{const[t,n]=(0,r.useState)([]),[o,i]=(0,r.useState)(),[l,c]=(0,r.useState)([]),d=(0,r.useRef)(),m=(0,r.useMemo)((()=>({getColumns:t=>et().get(`${e.url}/api/columns`,{params:t}),getData:t=>et().post(`${e.url}/api/search`,t),getTables:()=>et().get(`${e.url}/api/tables`)})),[e.url]),u=(0,r.useCallback)(((e,t)=>{let n=t[e.column_name];const{data_type:r}=e;return n&&"timestamp without time zone"===r&&(n=new Date(n).toLocaleDateString()),n}),[]);(0,r.useEffect)((()=>{m&&m.getTables().then((e=>{let{data:t}=e;c(t),i(s().first(t))}))}),[m]),(0,r.useEffect)((()=>{o&&m.getColumns({table_name:o.table_name}).then((e=>{let{data:t}=e;return n(t)}))}),[o,m]);const p=(0,r.useMemo)((()=>s().map(t,((t,n)=>({name:t.column_name,label:t.column_name,resolve:u.bind(void 0,t),sortable:!0,hidden:n>e.columnCount})))),[t,u,e.columnCount]);return a().createElement("div",{className:"database-view"},a().createElement(it,{contextRef:d,header:{content:e.title,inverted:!0},inverted:!0,items:[{items:s().map(l,(e=>({active:o===e,content:e.table_name,onClick:()=>i(e)})))}],style:{overflow:"auto",width:"250px"}}),a().createElement("div",{style:{marginLeft:"250px"}},o&&a().createElement(ht,{collectionName:"items",columns:p,onLoad:e=>m.getData({...e,table_name:o.table_name}),perPageOptions:[10,25,50,100],searchable:!0})))};gt.defaultProps={columnCount:Number.MAX_SAFE_INTEGER};var bt=gt,vt=require("react-calendar"),Et=n.n(vt);const ft=e=>{const[t,n]=(0,r.useState)(!1),o=(0,r.useRef)(null),s=e=>{const t=o.current;t&&!t.contains(e.target)&&n(!1)};return(0,r.useEffect)((()=>(document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s))),[o]),a().createElement(a().Fragment,null,a().createElement(A,{formatOptions:e.formatOptions,locale:e.locale,onChange:e.onChange.bind(void 0),onClick:()=>n(!0),value:e.value}),a().createElement(i.Transition,{visible:t},a().createElement("div",{ref:o,style:{position:"absolute",zIndex:"999"}},a().createElement(Et(),{locale:e.locale,onChange:t=>{e.onChange(t),e.closeOnSelection&&n(!1)},next2AriaLabel:"Next Year",next2Label:a().createElement(i.Icon,{name:"angle double right"}),nextAriaLabel:"Next Month",nextLabel:a().createElement(i.Icon,{name:"chevron right"}),prev2AriaLabel:"Previous Year",prev2Label:a().createElement(i.Icon,{name:"angle double left"}),prevAriaLabel:"Previous Month",prevLabel:a().createElement(i.Icon,{name:"chevron left"}),value:e.value}))))};ft.defaultProps={closeOnSelection:!0};var Ct=ft;const yt=e=>a().createElement(i.Popup,{className:e.className,content:e.popupContent,hoverable:!0,mouseEnterDelay:e.delayInterval,trigger:e.renderPopup?e.renderPopup():a().createElement("span",{className:"text"},e.content),wide:!0});yt.defaultProps={delayInterval:1e3,renderPopup:void 0,popupContent:void 0};var St=yt,kt=e=>{const t=(0,r.useMemo)((()=>{const t=["ui","button"];return e.basic&&t.push("basic"),e.className&&t.push(...e.className.split(" ")),e.color&&t.push(e.color),e.compact&&t.push("compact"),e.primary&&t.push("primary"),e.secondary&&t.push("secondary"),e.size&&t.push(e.size),t.join(" ")}),[e.basic,e.color]);return a().createElement("a",{className:t,download:e.filename||u()(),href:e.url},a().createElement(i.Icon,{name:"cloud download"}),v.t("Common.buttons.download"))},wt=e=>a().createElement(i.Button,{onClick:e.onClick.bind(void 0),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save"),e.saving&&a().createElement(i.Loader,{active:!0,className:"saving",inline:!0,size:"tiny"}));function Dt(){return Dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Dt.apply(this,arguments)}class It extends r.Component{constructor(e){super(e),this.state={currentTab:"",showToaster:!1}}componentDidMount(){if(this.props.menu){const e=s().first(this.props.menu.items);this.setState({currentTab:e&&e.key})}}componentDidUpdate(e){s().isEmpty(this.props.errors)||s().isEmpty(e.errors)||e.errors===this.props.errors||this.setState({showToaster:!0})}onSave(){return this.setState({showToaster:!0}),this.props.onSave()}render(){return a().createElement(i.Dimmer.Dimmable,{as:"div",className:`edit-page ${this.props.className||""}`},this.renderLoading(),a().createElement(i.Form,{noValidate:!0},this.renderMenu(),this.renderButtons(),this.renderComponent(),this.renderToaster()))}renderButtons(){return this.props.menu?null:a().createElement("div",{className:"button-container"},a().createElement(wt,{onClick:this.onSave.bind(this),saving:this.props.saving}),a().createElement(xe,{disabled:this.props.saving,onClick:this.props.onClose.bind(this)}))}renderComponent(){const e=this.props.component;return a().createElement(e,Dt({},this.props,{currentTab:this.state.currentTab}))}renderLoading(){return this.props.showLoading&&this.props.loading?a().createElement(i.Dimmer,{active:this.props.loading,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})):null}renderMenu(){return this.props.menu?a().createElement(i.Menu,s().omit(this.props.menu,"items"),this.props.menu&&s().map(this.props.menu.items,(e=>a().createElement(i.Menu.Item,{active:e.key===this.state.currentTab,key:e.key,name:e.name,onClick:()=>this.setState({currentTab:e.key})}))),a().createElement(i.Menu.Menu,{position:"right"},a().createElement(i.Menu.Item,null,a().createElement(wt,{onClick:this.onSave.bind(this),saving:this.props.saving}),a().createElement(xe,{disabled:this.props.saving,onClick:this.props.onClose.bind(this)})))):null}renderToaster(){return this.state.showToaster&&this.props.errors&&this.props.errors.length?a().createElement(f,{onDismiss:()=>this.setState({showToaster:!1}),timeout:0,type:f.MessageTypes.negative},a().createElement(i.Message.Header,{content:v.t("Common.messages.error.header")}),a().createElement(i.Message.List,{items:this.props.errors})):null}}It.defaultProps={showLoading:!0};var Mt=(0,d.useEditContainer)(It);function Nt(){return Nt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Nt.apply(this,arguments)}const Pt="ascending",Tt="descending";class xt extends r.Component{constructor(e){super(e),this.state={sortColumn:null,sortDirection:null}}componentDidMount(){let e;e=this.props.defaultSort?s().findWhere(this.props.columns,{name:this.props.defaultSort}):s().find(this.props.columns,(e=>!1!==e.sortable)),e&&this.onColumnClick(e,this.props.defaultSortDirection)}getItems(){const{items:e}=this.props,{sortColumn:t,sortDirection:n}=this.state;return s().orderBy(s().filter(e,(e=>!e._destroy)),t,n)}onColumnClick(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Pt;if(this.props.onDrag)return;if(!1===e.sortable)return;const n=e.name;let r=t||Pt;e.name===this.state.sortColumn&&(r=this.state.sortDirection===Pt?Tt:Pt),this.setState({sortColumn:n,sortDirection:r})}onDelete(e){return this.props.onDelete(e),Promise.resolve()}onSave(e){const t=e.uid?e.uid:u()();return this.props.onSave&&this.props.onSave({...e,uid:t}),Promise.resolve()}render(){return a().createElement(Je,Nt({},this.props,{actions:this.props.actions,addButton:this.props.addButton,buttons:this.props.buttons,className:`embedded-list ${this.props.className?this.props.className:""}`,configurable:this.props.configurable,columns:this.props.columns,count:this.props.items.length,items:this.getItems(),modal:this.props.modal,onColumnClick:this.onColumnClick.bind(this),onCopy:this.props.onCopy,onDrag:this.props.onDrag,onDelete:this.onDelete.bind(this),onSave:this.onSave.bind(this),renderDeleteModal:this.props.renderDeleteModal,renderEmptyRow:this.props.renderEmptyRow,renderItem:this.renderItem.bind(this),sortColumn:this.state.sortColumn,sortDirection:this.state.sortDirection,tableProps:{celled:!0,sortable:!this.props.onDrag},selectable:this.props.selectable,onRowSelect:this.props.onRowSelect,selectedRows:this.props.selectedRows,showRecordCount:this.props.showRecordCount}))}renderItem(e,t,n){if(this.props.onDrag){const r=e.id||e.uid;return a().createElement(Ke,{id:r,index:t,item:e,key:r,onDrag:this.props.onDrag.bind(this)},a().createElement(i.Table.Row,null,n))}return a().createElement(i.Table.Row,{key:t},n)}}s().mixin({orderBy:(e,t,n)=>{if(!t)return e;const r=s().property(t.split("."));let a=s().sortBy(e,(e=>r(e)));return n===Tt&&(a=a.reverse()),a}}),xt.defaultProps={items:[],addButton:{location:"top"},buttons:[],className:"",configurable:!0,modal:void 0,onCopy:void 0,onDrag:void 0,onSave:()=>{},renderDeleteModal:void 0,renderEmptyRow:void 0};var At=xt;const Bt=e=>{const[t,n]=(0,r.useState)(e.defaultActive),o=(0,r.useMemo)((()=>{const t=["facet"];return e.visible||t.push("hidden"),e.className&&t.push(e.className),t.join(" ")}),[e.className,e.visible]);return(0,r.useImperativeHandle)(e.innerRef,(()=>({collapse:()=>n(!1),expand:()=>n(!0)}))),a().createElement(a().Fragment,null,a().createElement(i.Accordion,{className:o},a().createElement(i.Accordion.Title,{active:t,index:0,onClick:()=>n((e=>!e))},a().createElement("div",{className:"facet-title"},a().createElement(i.Header,{content:e.title,size:"tiny"}),a().createElement(i.Icon,{name:"dropdown"}))),a().createElement(i.Accordion.Content,{active:t},e.children)),e.divided&&a().createElement(i.Divider,null))};Bt.defaultProps={children:void 0,defaultActive:!0,divided:!1,visible:!0};var Lt=Bt;function Rt(){return Rt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Rt.apply(this,arguments)}var zt=e=>{let{useClearRefinements:t,...n}=e;const{refine:r,canRefine:o}=t(n);return a().createElement(i.Button,Rt({},n,{disabled:!o,onClick:()=>r()}))},Ot=e=>a().createElement(i.Button,{basic:!0,className:"link-button",compact:!0,content:e.content,onClick:e.onClick.bind(void 0),type:"button"});const Ft="or",jt=(0,r.forwardRef)(((e,t)=>{let{useRefinementList:n,...o}=e;const[l,c]=(0,r.useState)(o.defaultOperator||Ft),{canRefine:m,canToggleShowMore:u,isShowingMore:p,items:h,refine:g,searchForItems:b,toggleShowMore:E}=n({...o,operator:l}),f=(0,r.useRef)(),[C,y]=(0,r.useState)(""),S=(0,r.useCallback)((()=>{y(""),b();const{current:e}=f;e&&e.focus()}),[]),k=(0,r.useCallback)((()=>b(C)),[C,b]),w=(0,r.useCallback)((()=>{c((e=>e===Ft?"and":Ft))}),[]),D=(0,r.useMemo)((()=>!(m&&s().isEmpty(h)&&s().isEmpty(C))),[h,C]);return(0,r.useEffect)((()=>{o.defaultValue&&g(o.defaultValue)}),[o.defaultValue]),(0,r.useEffect)((()=>{C&&b(C)}),[h]),a().createElement(Lt,{className:"facet-list",defaultActive:o.defaultActive,divided:o.divided,innerRef:t,title:o.title,visible:D},o.searchable&&a().createElement(i.Input,{icon:C&&a().createElement(i.Icon,{link:!0,name:"times",onClick:S}),fluid:!0,onChange:(e,t)=>{let{value:n}=t;return y(n)},onKeyDown:()=>d.Timer.clearSearchTimer(),onKeyUp:()=>d.Timer.setSearchTimer(k),placeholder:v.t("FacetList.labels.search"),ref:f,value:C}),a().createElement(i.List,{className:"facet-list"},s().map(h,((e,t)=>a().createElement(i.List.Item,{key:t},a().createElement(i.Checkbox,{checked:e.isRefined,label:{children:a().createElement(a().Fragment,null,a().createElement("span",null,e.label),a().createElement(i.Label,{circular:!0,content:e.count,size:"small"}))},onClick:()=>g(e.value)}))))),u&&a().createElement(a().Fragment,null,a().createElement(i.Icon,{name:p?"angle up":"angle down"}),a().createElement(Ot,{content:p?v.t("FacetList.buttons.showLess"):v.t("FacetList.buttons.showMore"),onClick:()=>E()})),o.toggleable&&a().createElement(i.Checkbox,{className:"toggleable",checked:"and"===l,label:l===Ft?v.t("FacetList.labels.matchAny"):v.t("FacetList.labels.matchAll"),onChange:w,toggle:!0}))}));jt.defaultProps={...Lt.defaultProps,defaultOperator:Ft};var Ht=jt,Gt=require("rc-slider"),Ut=n.n(Gt);require("rc-slider/assets/index.css");const qt=(0,r.forwardRef)(((e,t)=>{let{useRangeSlider:n,...o}=e;const{start:s,range:l,refine:c}=n(o),[d,m]=(0,r.useState)([l.min,l.max]),u=(0,r.useMemo)((()=>0===l.min&&0===l.max),[l.min,l.max]);return(0,r.useEffect)((()=>{s[0]<=l.min&&s[1]>=l.max&&m([l.min,l.max])}),[l,s]),a().createElement(Lt,{defaultActive:o.defaultActive,divided:o.divided,innerRef:t,title:o.title,visible:u},a().createElement("div",{className:"facet-slider"},a().createElement("div",{className:"range-container"},a().createElement(Ut(),{allowCross:!1,defaultValue:s,max:l.max,min:l.min,onAfterChange:e=>c(e),onChange:e=>m(e),range:!0,value:d})),a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,null,d[0]),a().createElement(i.Grid.Column,{textAlign:"right"},d[1]))))}));qt.defaultProps=Lt.defaultProps;var Vt=qt;const $t=(0,r.forwardRef)(((e,t)=>{let{useToggleRefinement:n,...o}=e;const{value:{isRefined:s,count:l},refine:c}=n(o),d=(0,r.useMemo)((()=>!!l),[l]);return a().createElement(Lt,{defaultActive:o.defaultActive,divided:o.divided,innerRef:t,title:o.title,visible:d},a().createElement(i.Checkbox,{checked:s,label:{children:a().createElement(i.Label,{circular:!0,content:l,size:"small"})},onClick:()=>c({isRefined:s}),toggle:!0}))}));$t.defaultProps=Lt.defaultProps;var Kt=$t;function _t(){return _t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_t.apply(this,arguments)}const Qt=e=>{let{onSelection:t,multiple:n,...o}=e;const s=(0,r.useRef)();return a().createElement(a().Fragment,null,a().createElement(i.Button,_t({},o,{onClick:()=>s.current&&s.current.click()})),a().createElement("input",{ref:s,type:"file",multiple:n,onChange:e=>t((e=>{const t=[];for(let n=0;n<e.length;n+=1)t.push(e.item(n));return t})(e.target.files)),style:{display:"none"}}))};Qt.defaultProps={multiple:!1};var Wt=Qt;class Yt extends r.Component{constructor(e){super(e),this.state={errors:null},this.fileInput=(0,r.createRef)(),this.filePattern=this.props.fileTypes&&new RegExp(`(.*?)\\.${this.props.fileTypes.join("|")}$`)}onClickDropzone(){this.fileInput.current.click()}onDropFiles(e){e.preventDefault();const t=this.toArray(e.dataTransfer.files);this.validate(t).length===t.length&&this.props.onFilesAdded(t)}onFilesAdded(e){e.preventDefault();const t=this.toArray(e.target.files);this.validate(t).length===t.length&&this.props.onFilesAdded(t)}render(){return a().createElement("div",{className:"file-upload"},a().createElement(i.Message,{error:!0,header:v.t("Common.errors.title"),hidden:!(this.state.errors&&this.state.errors.length),visible:this.state.errors&&this.state.errors.length,onDismiss:()=>this.setState({errors:null}),list:this.state.errors}),a().createElement("div",{className:"file-dropzone",onClick:this.onClickDropzone.bind(this),onDragLeave:e=>{e.preventDefault()},onDragOver:e=>{e.preventDefault()},onDrop:this.onDropFiles.bind(this),onKeyDown:()=>{},role:"button",tabIndex:-1},a().createElement(i.Icon,{color:"blue",name:"cloud upload",size:"large"}),a().createElement("div",{className:"file-dropzone-text"},a().createElement(w.Trans,{i18nKey:"FileUpload.add"},a().createElement("span",{className:"link-text"},"Add files")," or drop files here")),a().createElement("input",{ref:this.fileInput,className:"file-input",type:"file",multiple:!0,onChange:this.onFilesAdded.bind(this)})))}toArray(e){const t=[];for(let n=0;n<e.length;n+=1)t.push(e.item(n));return t}validate(e){if(!this.props.maxSize&&!this.props.fileTypes)return e;const t=[],n=[];return s().each(e,(e=>{let r=!0;this.props.maxSize&&e.size>this.props.maxSize&&(r=!1,n.push(v.t("FileUpload.errors.maxSize",{name:e.name}))),this.filePattern&&!e.name.match(this.filePattern)&&(r=!1,n.push(v.t("FileUpload.errors.fileType",{name:e.name,type:/[^.]+$/.exec(e.name)}))),r&&t.push(e)})),this.setState({errors:n}),t}}var Xt=Yt;const Jt={pending:"pending",processing:"processing",complete:"complete",error:"error"},Zt={[Jt.processing]:"black",[Jt.complete]:"green",[Jt.error]:"red"},en={[Jt.pending]:"clock outline",[Jt.complete]:"checkmark",[Jt.error]:"warning circle"},tn={[Jt.pending]:"Pending",[Jt.processing]:"Processing",[Jt.complete]:"Complete",[Jt.error]:"Error"};var nn=e=>{let{status:t=Jt.pending}=e;const n=(0,r.useMemo)((()=>Zt[t]),[t]),o=(0,r.useMemo)((()=>en[t]),[t]),s=(0,r.useMemo)((()=>tn[t]),[t]);return a().createElement(i.Label,{className:"file-upload-status",color:n},t===Jt.processing&&a().createElement(i.Loader,{active:!0,inline:!0,inverted:!0,size:"mini"}),o&&a().createElement(i.Icon,{name:o}),s)},rn=e=>{const t=(0,r.useMemo)((()=>e.completed>0&&e.completed===e.total),[e.completed,e.total]),n=(0,r.useMemo)((()=>e.total>0?e.completed/e.total:0),[e.completed,e.total]),o=(0,r.useMemo)((()=>Number(n).toLocaleString(void 0,{style:"percent",minimumFractionDigits:0})),[n]);return a().createElement("div",{className:"file-upload-progress"},a().createElement(i.Icon,{color:"blue",name:"cloud upload",size:"big"}),a().createElement("div",{className:"progress-container"},a().createElement(i.Header,null,a().createElement(i.Header.Content,{content:o}),a().createElement(i.Header.Subheader,null,!(e.uploading||t)&&"Getting Started",e.uploading&&"Uploading...",t&&"Completed")),a().createElement(i.Progress,{color:"blue",percent:100*n})))};const an="batch",on="single",sn="error",ln=e=>{const[t,n]=(0,r.useState)([]),[o,l]=(0,r.useState)(0),[c,d]=(0,r.useState)(!1),[m,u]=(0,r.useState)({}),p=(0,r.useMemo)((()=>!!s().find(t,(e=>!s().isEmpty(e.errors)))),[t]),h=(0,r.useMemo)((()=>!!s().find(s().values(m),(e=>e===sn))),[m]),g=(0,r.useCallback)((t=>n((n=>[...n,...s().map(t,e.onAddFile)]))),[]),b=(0,r.useCallback)(((e,t,r,a)=>n((n=>s().map(n,(n=>n!==e?n:{...n,[t]:a.id,[r]:a,errors:s().without(e.errors,t)}))))),[]),E=(0,r.useCallback)((()=>e.onSave(t).then((()=>l(1)))),[t]),f=(0,r.useCallback)((()=>{d(!1),e.closeOnComplete&&e.onClose()}),[e.closeOnComplete,e.onClose]),C=(0,r.useCallback)((e=>n((t=>s().filter(t,(t=>t!==e))))),[]),y=(0,r.useCallback)(((e,t)=>u((n=>({...n,[e]:t}))))),S=(0,r.useCallback)((async()=>{for(let n=0;n<t.length;n+=1){const r=t[n];let a;y(n,"processing");try{await e.onSave(r)}catch(e){a=e}y(n,a?sn:"complete"),l((e=>e+1))}return Promise.resolve()}),[t,e.onSave]),k=(0,r.useCallback)(((e,t)=>n((n=>s().map(n,(n=>n!==e?n:{...n,...t,errors:[]}))))),[]),w=(0,r.useCallback)(((e,t,r,a)=>{let{value:o}=a;return n((n=>s().map(n,(n=>n!==e?n:{...n,[t]:o,errors:s().without(e.errors,t)}))))}),[]),D=(0,r.useCallback)(((e,t)=>n((n=>s().map(n,(n=>n!==e?n:{...n,...t}))))),[]),I=(0,r.useCallback)((t=>{const n=[];return s().each(s().keys(e.required),(e=>{const r=t[e];let a;a=s().isNumber(r)?s().isEmpty(r.toString()):s().isEmpty(r),a&&n.push(e)})),{...t,errors:n}}),[e.required]),M=(0,r.useCallback)((()=>new Promise(((e,r)=>{let a=!1;const o=s().map(t,(e=>{const t=I(e);return s().isEmpty(t.errors)||(a=!0),t}));n(o),a?r():e()}))),[t]),N=(0,r.useCallback)((()=>{d(!0),M().then((()=>e.strategy===an?E():S())).finally(f)}),[E,f,S,M,e.strategy]),P=(0,r.useCallback)(((t,n)=>{if(s().isEmpty(t.errors))return null;const r=s().isEmpty(t.name)?n:t.name,o=s().map(t.errors,(t=>e.required[t])).join(", ");return a().createElement(i.Message.Item,{content:v.t("FileUploadModal.errors.required",{filename:r,fields:o}),key:n})}),[]),T=(0,r.useCallback)((t=>e.strategy!==on?null:a().createElement(nn,{status:m[t]})),[m,e.strategy]),x=(0,r.useMemo)((()=>e.headerComponent),[e.headerComponent]),A=(0,r.useMemo)((()=>e.itemComponent),[e.itemComponent]);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"serial-upload-modal",mountNode:r,open:!0},e.showPageLoader&&a().createElement(i.Dimmer,{active:c,inverted:!0},a().createElement(i.Loader,{content:v.t("FileUploadModal.loader")})),a().createElement(i.Modal.Header,null,e.strategy===an&&v.t("FileUploadModal.title"),e.strategy===on&&a().createElement(rn,{completed:o,total:t.length,uploading:c})),a().createElement(i.Modal.Content,{scrolling:!0},p&&a().createElement(i.Message,{error:!0},a().createElement(i.Message.Header,{content:v.t("FileUploadModal.errors.header")}),a().createElement(i.Message.List,null,s().map(t,P))),h&&a().createElement(i.Message,{content:v.t("FileUploadModal.errors.upload.content"),header:v.t("FileUploadModal.errors.upload.header"),error:!0}),a().createElement(Xt,{onFilesAdded:g}),x&&a().createElement(x,{items:t,onSetItems:n,uploading:c}),a().createElement(i.Item.Group,{as:i.Form,divided:!0,noValidate:!0,relaxed:"very"},s().map(t,((t,n)=>a().createElement(A,{isError:e=>s().contains(t.errors,e),isRequired:t=>!(!e.required||!e.required[t]),item:t,key:n,onAssociationInputChange:b.bind(void 0,t),onDelete:C.bind(void 0,t),onSetState:k.bind(void 0,t),onTextInputChange:w.bind(void 0,t),onUpdate:D.bind(void 0,t),renderStatus:T.bind(void 0,n)}))))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.upload"),disabled:c||o>0||s().isEmpty(t),icon:"cloud upload",loading:c&&!e.showPageLoader,onClick:N,primary:!0}),a().createElement(i.Button,{content:o>0?v.t("Common.buttons.close"):v.t("Common.buttons.cancel"),disabled:c,onClick:e.onClose})))))};ln.defaultProps={closeOnComplete:!0,strategy:an,showPageLoader:!0};var cn=ln,dn=require("@react-google-maps/api");const mn=e=>{const t=d.Map.getPosition(e.position),[n,o]=(0,r.useState)(t||e.defaultCenter),[s,i]=(0,r.useState)(),l=(0,r.useMemo)((()=>{let n;return n=t?12:e.defaultZoom?e.defaultZoom:1,n}),[t,e.defaultZoom]),c=(0,r.useCallback)((t=>{let{latLng:n}=t;e.onDragEnd&&e.onDragEnd({lat:n.lat(),lng:n.lng()})}),[e.onDragEnd]),m=(0,r.useCallback)((e=>i(e)),[]);return(0,r.useEffect)((()=>{if(s&&t){const e=s.getBounds();e&&!e.contains(t)&&o(t)}}),[e.position]),a().createElement(dn.GoogleMap,{center:n,mapContainerClassName:e.className,mapContainerStyle:e.containerStyle,onClick:c,onLoad:m,zoom:l},t&&a().createElement(dn.Marker,{draggable:!!e.onDragEnd,onDragEnd:c,position:t,visible:!0}))};mn.defaultProps={containerStyle:{height:"400px"},defaultCenter:{lat:0,lng:0}};var un=mn,pn=e=>{const[t,n]=(0,r.useState)(),o=(0,r.useCallback)((()=>{if(t){const n=s().first(t.getPlaces()),{location:r}=n.geometry,a=n.formatted_address,o=r.lat(),i=r.lng();e.onLocationSelection({name:a,lat:o,lng:i,result:n})}}),[t,e.onLocationSelection]);return a().createElement(dn.StandaloneSearchBox,{onLoad:e=>n(e),onPlacesChanged:o},e.children)};const hn=e=>{const[t,n]=(0,r.useState)(0),[o,l]=(0,r.useState)(0),[c,d]=(0,r.useState)(0),[m,u]=(0,r.useState)(0),p=(0,r.useRef)(),h=(0,r.useMemo)((()=>({flex:`0 0 ${o/e.perPage-t}px`})),[o,t,e.perPage]),g=(0,r.useCallback)((function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=[];return t&&n.push(t),e&&n.push(e),n.join(" ")}),[]),b=(0,r.useCallback)((e=>{const t=p.current;if(t){const{clientWidth:r,scrollWidth:a}=t;l(r),u(Math.ceil(a/r)),e||d(0);const o=t.firstChild;if(o){const e=window.getComputedStyle(o),t=parseFloat(e.marginLeft)||0,r=parseFloat(e.marginRight)||0;n(t+r)}}}),[p,e.items]),v=(0,r.useCallback)((e=>{let t=c+e;t<0?t=m:t>=m&&(t=0),d(t)}),[c,m]);(0,r.useEffect)((()=>(window.addEventListener("resize",b),()=>window.removeEventListener("resize",b))),[]),(0,r.useEffect)((()=>b()),[b,e.items]),(0,r.useEffect)((()=>{const e=p.current;if(e){const{scrollWidth:t}=e;u(Math.ceil(t/o))}}),[o]),(0,r.useEffect)((()=>{const e=p.current;e&&e.scrollTo({left:c*o,behavior:"smooth"})}),[c,o]);const E=(0,r.useCallback)((t=>{const n=e.renderImage(t);return s().isString(n)||!n?a().createElement(i.Image,{alt:t.alt,className:"image-placeholder",src:n,style:{objectFit:"cover"}}):n}),[e.renderImage]);return a().createElement("div",{className:g(e.className,"horizontal-cards")},a().createElement(i.Ref,{innerRef:p},a().createElement(i.Card.Group,{className:g(e.cardsClassName)},s().map(e.items,((t,n)=>{let r=a().createElement(i.Card,{className:g(e.cardClassName),link:!0,onClick:e.onClick&&e.onClick.bind(void 0,t,n),style:h},!e.inlineImage&&E(t),(e.renderHeader||e.renderMeta||e.renderDescription)&&a().createElement(i.Card.Content,null,e.inlineImage&&E(t),e.renderHeader&&a().createElement(i.Card.Header,{as:i.Header,size:"small"},e.renderHeader(t)),e.renderMeta&&a().createElement(i.Card.Meta,null,e.renderMeta(t)),e.renderDescription&&a().createElement(i.Card.Description,null,e.renderDescription(t))),e.renderExtra&&a().createElement(i.Card.Content,{extra:!0},e.renderExtra(t)));if(e.onDrag){const o=t.id||t.uid;r=a().createElement(Ke,{direction:"horizontal",id:o,index:n,item:t,key:o,onDrag:e.onDrag},r)}return r}).bind(void 0)))),a().createElement("div",{className:"button-container"},m>1&&a().createElement("div",{className:"pagination"},a().createElement(i.Button,{"aria-label":"Left",basic:!0,circular:!0,icon:"angle left",onClick:v.bind(void 0,-1)}),a().createElement(i.Button,{"aria-label":"Right",basic:!0,circular:!0,icon:"angle right",onClick:v.bind(void 0,1)}))))};hn.defaultProps={perPage:4};var gn=hn,bn=e=>{let{onClose:t,...n}=e;return a().createElement(i.Modal,{centered:!1,closeIcon:!0,onClose:t,open:!0},a().createElement(i.Modal.Content,null,a().createElement(d.IIIFViewer,n)))},vn=e=>{const[t,n]=(0,r.useState)(0),[o,s]=(0,r.useState)(!0),l=(0,r.useMemo)((()=>{let n;return e.images&&e.images.length>t&&(n=e.images[t]),n}),[t,e.images]),c=(0,r.useCallback)((r=>{const a=t+r;a>=0&&a<e.images.length&&(n(a),s(!1))}),[t,e.images]);return(0,r.useEffect)((()=>(document.body&&(document.body.style.overflow="hidden"),()=>{document.body&&(document.body.style.overflow="auto")})),[]),a().createElement(i.Dimmer,{active:!0,className:"image-carousel",page:!0},a().createElement(i.Grid,{padded:!0},a().createElement(i.Grid.Row,null,a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(i.Button,{icon:"times",onClick:e.onClose,size:"huge"}))),a().createElement(i.Grid.Row,{className:"image-content"},a().createElement(i.Grid.Column,null,e.images&&e.images.length>1&&a().createElement(i.Button,{disabled:0===t,icon:"chevron left",onClick:()=>c(-1),size:"massive"})),a().createElement(i.Grid.Column,{className:"image-container"},!o&&a().createElement(i.Loader,{active:!0}),a().createElement(i.Transition,{animation:"fade",duration:500,visible:o},a().createElement(i.Image,{src:l?.src,onLoad:()=>s(!0)}))),a().createElement(i.Grid.Column,null,e.images&&e.images.length>1&&a().createElement(i.Button,{disabled:t===e.images.length-1,icon:"chevron right",onClick:()=>c(1),size:"massive"}))),a().createElement(i.Grid.Row,null,a().createElement(i.Grid.Column,{textAlign:"center"},l?.caption))))};function En(){return En=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},En.apply(this,arguments)}const fn={list:0,grid:1};function Cn(){return Cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cn.apply(this,arguments)}class yn extends r.Component{getActions(e){return this.props.actions.filter((t=>!t.accept||t.accept(e))).map((e=>{let t={};return"edit"===e.name?t={basic:!0,label:v.t("ItemList.actions.edit")}:"copy"===e.name?t={basic:!0,label:v.t("ItemList.actions.copy")}:"delete"===e.name&&(t={basic:!0,color:"red",label:v.t("ItemList.actions.delete")}),s().defaults(e,t)}))}getClassName(){const e=["item-list"];return this.props.className&&e.push(this.props.className),e.join(" ")}getItemProps(e){return this.props.asProps&&this.props.asProps(e)||{}}isSelectable(){return!!(this.props.selectable&&this.props.isRowSelected&&this.props.onRowSelect)}render(){return a().createElement("div",{className:this.getClassName()},this.renderList(),this.renderGrid(),this.renderEmptyList(),this.props.children)}renderCard(e,t){const n=this.getActions(e);let r=a().createElement(i.Card,Cn({as:this.props.as,key:e.id||t,link:this.props.link},this.getItemProps(e)),this.props.renderImage&&this.props.renderImage(e),a().createElement(i.Card.Content,null,this.props.renderHeader&&a().createElement(i.Card.Header,null,this.props.renderHeader(e)),this.props.renderMeta&&a().createElement(i.Card.Meta,null,this.props.renderMeta(e)),this.props.renderDescription&&a().createElement(i.Card.Description,null,this.props.renderDescription(e))),this.props.renderExtra&&a().createElement(i.Card.Content,{extra:!0},this.props.renderExtra(e)),!s().isEmpty(n)&&a().createElement(i.Card.Content,{extra:!0,textAlign:"center"},s().map(n,((t,n)=>a().createElement(i.Button,{"aria-label":t.name,basic:!0,color:t.resolveColor?t.resolveColor(e):t.color,icon:t.resolveIcon?t.resolveIcon(e):t.icon,key:n,onClick:t.onClick.bind(this,e)}))),this.isSelectable()&&a().createElement(i.Button,{"aria-label":"Select",basic:!0,color:this.props.isRowSelected&&this.props.isRowSelected(e)?"green":void 0,icon:"checkmark",onClick:this.props.onRowSelect&&this.props.onRowSelect.bind(this,e)})));return this.props.onDrag&&(r=a().createElement(Ke,{id:e.id||e.uid,index:t,item:e,key:e.id||e.uid,onDrag:this.props.onDrag.bind(this)},r)),r}renderEmptyList(){return this.props.loading||this.props.items&&this.props.items.length?null:this.props.renderEmptyList?this.props.renderEmptyList():a().createElement(i.Segment,{className:"empty-list",padded:"very",textAlign:"center"},a().createElement(i.Header,{icon:!0},a().createElement(i.Icon,{name:"file outline"})),this.props.renderEmptyMessage())}renderGrid(){return this.props.view===fn.grid&&this.props.items&&this.props.items.length?a().createElement(i.Card.Group,null,s().map(this.props.items,this.renderCard.bind(this))):null}renderItem(e,t){let n=a().createElement(i.Item,Cn({as:this.props.as,key:e.id||t},this.getItemProps(e)),this.props.renderImage&&a().createElement(i.Item.Image,null,this.props.renderImage(e)),a().createElement(i.Item.Content,{className:"primary-content"},this.props.renderHeader&&a().createElement(i.Item.Header,null,this.props.renderHeader(e)),this.props.renderMeta&&a().createElement(i.Item.Meta,null,this.props.renderMeta(e)),this.props.renderDescription&&a().createElement(i.Item.Description,null,this.props.renderDescription(e)),this.props.renderExtra&&a().createElement(i.Item.Extra,null,this.props.renderExtra(e)),s().map(this.getActions(e),((t,n)=>a().createElement(i.Button,{basic:t.basic,color:t.resolveColor?t.resolveColor(e):t.color,content:t.resolveName?t.resolveName(e):t.label,key:n,icon:t.resolveIcon?t.resolveIcon(e):t.icon,onClick:t.onClick.bind(this,e)})))),this.props.renderAdditionalContent&&this.props.renderAdditionalContent(e),this.isSelectable()&&a().createElement("div",{className:"checkbox-container"},a().createElement(i.Checkbox,{checked:this.props.isRowSelected&&this.props.isRowSelected(e),onChange:this.props.onRowSelect&&this.props.onRowSelect.bind(this,e)})));return this.props.onDrag&&(n=a().createElement(Ke,{id:e.id||e.uid,index:t,item:e,key:e.id||e.uid,onDrag:this.props.onDrag.bind(this)},n)),n}renderList(){return this.props.view===fn.list&&this.props.items&&this.props.items.length?a().createElement(i.Item.Group,{divided:!0,link:this.props.link,relaxed:"very"},s().map(this.props.items,this.renderItem.bind(this))):null}}yn.defaultProps={actions:[]};var Sn=(e=>{var t;return(t=class extends r.Component{constructor(e){super(e),this.state={view:e.defaultView||fn.list}}getSortValue(){const e=s().find(this.props.sort,{value:this.props.sortColumn});return e&&e.text}onSort(e){if(!this.props.onSort)return;let t;e.value!==this.props.sortColumn&&(t=e.direction),this.props.onSort(e.value,t)}render(){const t=this.props.hideToggle?void 0:this.renderHeader.bind(this);return a().createElement(e,En({},this.props,{renderListHeader:t,view:this.state.view}))}renderHeader(){return this.props.hideToggle?null:a().createElement(a().Fragment,null,a().createElement(i.Button,{active:this.state.view===fn.list,"aria-label":"List View",basic:!0,icon:"list",onClick:()=>this.setState({view:fn.list})}),a().createElement(i.Button,{active:this.state.view===fn.grid,"aria-label":"Grid View",basic:!0,icon:"grid layout",onClick:()=>this.setState({view:fn.grid})}),this.props.sort&&this.props.sort.length>1&&this.props.onSort&&a().createElement(i.Button.Group,{basic:!0,style:{fontSize:"inherit"}},a().createElement(i.Button,{"aria-label":"Sort by",content:this.getSortValue(),icon:this.props.sortDirection===y?"sort alphabet up":"sort alphabet down",onClick:e=>this.sortDropdown.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Sort",className:"button icon",floating:!0,options:s().map(this.props.sort,(e=>({...e,onClick:this.onSort.bind(this,e)}))),ref:e=>{this.sortDropdown=e},trigger:a().createElement(a().Fragment,null),value:this.props.sortColumn})))}}).defaultProps={hideToggle:!1,sort:[]},t})(V(yn));function kn(){return kn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},kn.apply(this,arguments)}class wn extends r.Component{constructor(e){super(e),this.state={page:1}}getClassName(){const e=["item-collection"];return this.props.className&&e.push(this.props.className),e.join(" ")}getItems(){const e=this.state.page*this.props.perPage,t=this.props.items&&this.props.items.slice(0,e)||[];return s().filter(t,(e=>!e._destroy))}onBottomReached(){this.props.loading||this.setState((e=>({page:e.page+1})),(()=>{this.props.onBottomReached&&this.props.onBottomReached(this.state.page)}))}onDelete(e){return this.props.onDelete(e),Promise.resolve()}onSave(e){if(this.props.onSave){const t=e.uid?e.uid:u()();this.props.onSave({...e,uid:t})}return Promise.resolve()}render(){return a().createElement(d.InfiniteScroll,{context:this.props.context,offset:this.props.scrollOffset,onBottomReached:this.onBottomReached.bind(this)},a().createElement(Sn,kn({},this.props,{items:this.getItems(),className:this.getClassName(),onDelete:this.onDelete.bind(this),onSave:this.onSave.bind(this)}),a().createElement(i.Loader,{active:this.props.loading,content:v.t("Common.messages.loading")})))}}wn.defaultProps={addButton:{location:"top"},buttons:[],className:"",configurable:!0,modal:void 0,onCopy:void 0,onDrag:void 0,onSave:()=>{},perPage:Number.MAX_SAFE_INTEGER,renderDeleteModal:void 0,renderEmptyRow:void 0,scrollOffset:0};var Dn=wn;function In(){return In=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},In.apply(this,arguments)}const Mn=k((e=>{(0,r.useEffect)((()=>{const{page:t}=e;let{sortColumn:n="",sortDirection:r=y}=e;if(!n){const t=s().first(e.sort);t&&(n=t.value,t.direction&&(r=t.direction))}e.onSort(n,r,t)}),[]);const t=(0,r.useMemo)((()=>e.isRowSelected&&e.items&&e.items.length&&s().every(e.items,e.isRowSelected.bind(void 0))),[e.items,e.isRowSelected]),n=(0,r.useCallback)((()=>{if(e.items&&e.isRowSelected&&e.onRowSelect){let n;n=t?[...e.items]:s().reject(e.items,e.isRowSelected.bind(void 0)),s().each(n,e.onRowSelect.bind(void 0))}}),[t,e.isRowSelected,e.items,e.onRowSelect]);return a().createElement(a().Fragment,null,a().createElement(i.Dimmer,{active:e.loading,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})),a().createElement(Sn,In({},e,{buttons:[...e.buttons||[],{accept:()=>e.selectable,color:"green",content:t?v.t("ItemList.buttons.deselectAll"):v.t("ItemList.buttons.selectAll"),icon:"checkmark",onClick:n.bind(void 0)}]})))}));Mn.defaultProps={filters:{},searchable:!0};var Nn=Mn,Pn=e=>a().createElement(a().Fragment,null,a().createElement("label",{className:"link-label",htmlFor:e.htmlFor},e.label),a().createElement(Ot,{content:e.content,onClick:e.onClick.bind(void 0)}));class Tn extends r.Component{constructor(e){super(e),this.state={showKeyboard:!1}}componentDidUpdate(e){e.visible&&!this.props.visible&&this.setState({showKeyboard:!1})}onInputChange(e,t){this.props.onChange(e,t)}onKeyboardChange(e){this.props.onChange(null,{value:e})}render(){return a().createElement(i.Form.Field,{className:"keyboard-field"},a().createElement(i.Form.Input,{autoFocus:this.props.autoFocus,className:this.props.className,error:this.props.error,id:this.props.id,input:{"aria-label":this.props.name},label:this.renderLabel(),name:this.props.name,onChange:this.onInputChange.bind(this),required:this.props.required,value:this.props.value},this.props.children),a().createElement(i.Transition,{duration:{hide:50,show:500},visible:this.state.showKeyboard},a().createElement(i.Segment,null,a().createElement(d.Keyboard,{layout:this.props.layout,onChange:this.onKeyboardChange.bind(this),value:this.props.value,keyboardClass:this.props.name}))))}renderLabel(){return a().createElement(Pn,{content:this.state.showKeyboard?v.t("KeyboardField.labels.hideKeyboard"):v.t("KeyboardField.labels.showKeyboard"),htmlFor:this.props.name,label:this.props.label,onClick:()=>this.setState((e=>({showKeyboard:!e.showKeyboard})))})}}Tn.defaultProps={autoFocus:!1,className:"",error:!1,id:""};var xn=Tn;function An(){return An=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},An.apply(this,arguments)}var Bn=e=>t=>{const n=(0,r.useCallback)((()=>{t.onChange([...t.items,{}])}),[t.items]),o=(0,r.useCallback)((e=>{t.onChange(s().reject(t.items,((t,n)=>n===e)))}),[t.items]),i=(0,r.useCallback)(((e,n,r,a)=>{let{value:o}=a;t.onChange(s().map(t.items,((t,r)=>r!==e?t:{...t,[n]:o})))}),[t.items]);return a().createElement(e,An({},t,{onAddItem:n,onRemoveItem:o,onUpdateItem:i}))},Ln=Bn((e=>a().createElement("div",null,a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.add"),icon:"plus",onClick:e.onAddItem.bind(void 0),type:"button"}),a().createElement(i.Grid,{padded:"vertically"},s().map(e.items,((t,n)=>a().createElement(i.Grid.Row,{columns:3},a().createElement(i.Grid.Column,{width:8},a().createElement(i.Input,{fluid:!0,onChange:e.onUpdateItem.bind(void 0,n,"key"),placeholder:v.t("KeyValuePairs.labels.key"),value:t.key})),a().createElement(i.Grid.Column,{width:7},a().createElement(i.Input,{fluid:!0,onChange:e.onUpdateItem.bind(void 0,n,"value"),placeholder:v.t("KeyValuePairs.labels.value"),value:t.value})),a().createElement(i.Grid.Column,{width:1},a().createElement(i.Button,{color:"red",icon:"trash",onClick:e.onRemoveItem.bind(void 0,n)}))))),s().isEmpty(e.items)&&a().createElement(i.Grid.Row,{columns:1},a().createElement(i.Grid.Column,null,v.t("Common.labels.noRecords")))))));const Rn=e=>a().createElement(i.Image,{className:"lazy-loader",size:e.size},a().createElement(i.Loader,{active:e.active}));Rn.defaultProps={active:!1,size:"small"};var zn=Rn;function On(){return On=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},On.apply(this,arguments)}const Fn=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!e.preview),[d,m]=(0,r.useState)(!1),[u,p]=(0,r.useState)(!1);return u?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-audio",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(zn,{active:!0,size:e.size}),!o&&e.preview&&a().createElement(i.Image,On({},e.image,{onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},size:e.size,src:e.preview})),(o||!e.preview)&&a().createElement(i.Image,On({},e.image,{className:"placeholder-image",size:e.size}),a().createElement(i.Icon,{name:"file audio outline",size:"big"})),(e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.src&&a().createElement(i.Button,{content:v.t("LazyAudio.buttons.play"),icon:"play circle outline",onClick:()=>m(!0),primary:!0}),e.download&&a().createElement(kt,{color:"green",filename:e.name,url:e.download}),e.children)))),e.src&&a().createElement(ne,{onClose:()=>m(!1),open:d,size:"large",src:e.src})):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>p(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};Fn.defaultProps={dimmable:!0,duration:1e3,preview:void 0,size:"medium",src:void 0};var jn=Fn,Hn=require("react-pdf");function Gn(){return Gn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Gn.apply(this,arguments)}require("react-pdf/dist/esm/Page/AnnotationLayer.css"),require("react-pdf/dist/esm/Page/TextLayer.css"),Hn.pdfjs.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${Hn.pdfjs.version}/build/pdf.worker.min.js`;const Un=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!e.preview),[d,m]=(0,r.useState)(!1),u=(0,r.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=[];return e&&t.push(e),l||t.push("hidden"),t.join(" ")}),[l]);return d?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-document",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(zn,{active:!0,size:e.size}),!o&&e.preview&&a().createElement(i.Image,Gn({},e.image,{className:u(),onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},src:e.preview,size:e.size})),!o&&l&&!e.preview&&e.src&&e.pdf&&a().createElement(i.Image,Gn({},e.image,{className:u(),size:e.size}),a().createElement(Hn.Document,{file:e.src,onLoadError:e=>console.log(e.message)},a().createElement(Hn.Page,{pageNumber:1}))),(o||!e.preview&&!(e.src&&e.pdf))&&a().createElement(i.Image,Gn({},e.image,{className:u("placeholder-image"),size:e.size}),a().createElement(i.Icon,{name:"file alternate outline",size:"big"})),(e.download||e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.download&&a().createElement(kt,{primary:!0,url:e.download||e.src}),e.children))))):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>m(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};Un.defaultProps={dimmable:!0,duration:1e3,pdf:!1,preview:void 0,size:"medium",src:void 0};var qn=Un;const Vn=e=>{const[t,n]=(0,r.useState)(!1);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"photo-viewer",closeIcon:!0,mountNode:r,onClose:e.onClose.bind(void 0),open:e.open,size:e.size},a().createElement(i.Modal.Content,null,t&&a().createElement(i.Message,{content:v.t("PhotoViewer.errors.path.content",{path:e.image}),header:v.t("PhotoViewer.errors.path.header"),icon:"exclamation circle"}),!t&&a().createElement(i.Image,{alt:e.alt,fluid:!0,onError:()=>n(!0),src:e.image})))))};Vn.defaultProps={size:"small"};var $n=Vn;function Kn(){return Kn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Kn.apply(this,arguments)}const _n=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!(e.src||e.preview)),[d,m]=(0,r.useState)(!1),[u,p]=(0,r.useState)(!1),h=(0,r.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=[];return e&&t.push(e),l||t.push("hidden"),t.join(" ")}),[l]);return u?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-image",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(zn,{active:!0,size:e.size}),!o&&(e.preview||e.src)&&a().createElement(i.Image,Kn({},e.image,{className:h(),onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},size:e.size,src:e.preview||e.src})),(o||!(e.preview||e.src))&&a().createElement(i.Image,Kn({},e.image,{className:h("placeholder-image"),size:e.size}),a().createElement(i.Icon,{name:"image",size:"big"})),(e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.src&&a().createElement(i.Button,{content:v.t("LazyImage.buttons.view"),icon:"photo",onClick:()=>m(!0),primary:!0}),e.download&&a().createElement(kt,{color:"green",filename:e.name,url:e.download}),e.children)))),e.src&&a().createElement($n,{image:e.src,onClose:()=>m(!1),open:d,size:"large"})):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>p(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};_n.defaultProps={dimmable:!0,duration:1e3,size:"medium"};var Qn=_n;const Wn=e=>{const[t,n]=(0,r.useState)(!1),o=(0,r.useRef)();return(0,r.useEffect)((()=>{if(o&&o.current&&e.placeholderAlt){const t=o.current.querySelector(".placeholder");t&&t.setAttribute("alt",e.placeholderAlt)}}),[o,e.placeholderAlt]),a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"video-player",closeIcon:!0,mountNode:r,onClose:e.onClose.bind(void 0),open:e.open,size:e.size},a().createElement(i.Modal.Content,null,t&&a().createElement(i.Message,{content:v.t("VideoPlayer.errors.path.content",{path:e.video}),header:v.t("VideoPlayer.errors.path.header"),icon:"exclamation circle"}),e.embedded&&a().createElement(i.Ref,{innerRef:o},a().createElement(i.Embed,{active:e.autoPlay,icon:e.icon,iframe:e.autoPlay?{allow:"autoplay"}:void 0,placeholder:e.placeholder,url:`${e.video}${e.autoPlay?"?autoplay=true":""}`})),!e.embedded&&a().createElement("video",{autoPlay:e.autoPlay,controls:!0,onError:()=>n(!0),src:e.video})))))};Wn.defaultProps={autoPlay:!1,embedded:!1,icon:"right circle arrow",size:"small"};var Yn=Wn;function Xn(){return Xn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xn.apply(this,arguments)}const Jn=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!(e.preview||e.src)),[d,m]=(0,r.useState)(!1),[u,p]=(0,r.useState)(!1),h=(0,r.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=[];return e&&t.push(e),l||t.push("hidden"),t.join(" ")}),[l]);return u?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-video",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(zn,{active:!0,size:e.size}),!o&&e.preview&&a().createElement(i.Image,Xn({},e.image,{className:h(),onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},src:e.preview,size:e.size})),!o&&!e.preview&&e.src&&a().createElement(i.Image,Xn({},e.image,{className:h(),size:e.size}),a().createElement("video",{onError:()=>{s(!0),c(!0)},onLoadedData:()=>{s(!1),c(!0)},src:e.src})),(o||!e.preview&&!e.src)&&a().createElement(i.Image,Xn({},e.image,{className:h("placeholder-image"),size:e.size}),a().createElement(i.Icon,{name:"image",size:"big"})),(e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.src&&a().createElement(i.Button,{content:v.t("LazyVideo.buttons.play"),icon:"video",onClick:()=>m(!0),primary:!0}),e.download&&a().createElement(kt,{color:"green",filename:e.name,url:e.download}),e.children)))),e.src&&a().createElement(Yn,{autoPlay:e.autoPlay,embedded:e.embedded,icon:e.icon,onClose:()=>m(!1),open:d,placeholder:e.preview,size:"large",video:e.src})):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>p(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};Jn.defaultProps={autoPlay:!1,dimmable:!0,duration:1e3,embedded:!1,icon:"right circle arrow",size:"medium"};var Zn=Jn;const er="audio",tr="application/pdf",nr=["image/png","image/jpeg","image/gif","image/webp","image/bmp","video/m4v","video/mp4"],rr=e=>{const[t,n]=(0,r.useState)(e.contentType||""),[o,l]=(0,r.useState)(e.name),[c,d]=(0,r.useState)(e.preview),[m,u]=(0,r.useState)(e.src),p=(0,r.useMemo)((()=>{let e;return o&&(e=o.split(".").pop(),e=e&&e.toUpperCase()),e}),[o]),h=(0,r.useCallback)((t=>{const r=s().first(t);n(r.type),l(r.name),d(null),s().contains(nr,r.type)||r.type.startsWith(er)||r.type===tr?u(URL.createObjectURL(r)):u(null),e.onUpload(r)}),[e.onUpload]),g=(0,r.useCallback)((()=>a().createElement(a().Fragment,null,e.onUpload&&a().createElement(Wt,{color:"orange",content:v.t("Common.buttons.upload"),icon:"cloud upload",onSelection:h}),e.children))),b=(0,r.useCallback)((()=>t.startsWith("image")?a().createElement(Qn,{dimmable:e.dimmable,download:e.downloadUrl,preview:c,src:m,size:e.size},g()):t.startsWith("video")?a().createElement(Zn,{dimmable:e.dimmable,download:e.downloadUrl,preview:c,src:m,size:e.size},g()):t.startsWith(er)?a().createElement(jn,{dimmable:e.dimmable,download:e.downloadUrl,preview:c,src:m,size:e.size},g()):a().createElement(qn,{dimmable:e.dimmable,download:e.downloadUrl,pdf:t===tr,preview:c,src:m,size:e.size},g())),[t,c,m,e.dimmable,e.downloadUrl,e.size]),E=(0,r.useCallback)((()=>p?a().createElement("div",null,a().createElement(i.Icon,{name:"info circle"}),a().createElement("span",null,a().createElement(w.Trans,{components:{bold:a().createElement("strong",null)},default:"Your <bold>{{type}}</bold> has been received",i18n:v,i18nKey:"LazyMedia.messages.uploaded",values:{type:p}}))):null),[p]);return(0,r.useEffect)((()=>{e.contentType&&n(e.contentType),e.name&&l(e.name),e.preview&&d(e.preview),e.src?u(e.src):u(null)}),[e.contentType,e.name,e.preview,e.src]),a().createElement("div",{className:"lazy-media"},b(),E())};rr.defaultProps={dimmable:!0,size:"medium"};var ar=rr,or=e=>{let{manifest:t,options:n={},...o}=e;const[l,c]=(0,r.useState)(!1);return a().createElement(a().Fragment,null,a().createElement(ar,o,t&&a().createElement(i.Button,{color:o.color,content:o.content||v.t("Common.buttons.iiif"),icon:"images outline",onClick:()=>c(!0)}),o.children),l&&a().createElement(bn,{manifestId:t,onClose:()=>c(!1),options:s().defaults(n,{showIIIFBadge:!1})}))},sr=e=>a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"listLoader",dimmed:e.active,style:{opacity:e.active?"0.8":"0"}},a().createElement(i.Dimmer,{active:e.active,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})));const ir=e=>a().createElement(B.Consumer,null,(t=>a().createElement(i.Modal,{as:i.Form,className:"login-modal",error:e.loginFailed,mountNode:t,open:e.open,size:"small",trigger:e.trigger},a().createElement(i.Header,{icon:"user circle",content:v.t("LoginModal.header")}),a().createElement(i.Message,{error:!0,header:v.t("LoginModal.loginErrorHeader"),content:v.t("LoginModal.loginErrorContent")}),a().createElement(i.Grid,{padded:"vertically",textAlign:"center"},a().createElement(i.Grid.Column,null,a().createElement(i.Grid.Row,null,a().createElement(i.Input,{autoFocus:!0,className:"form-field",icon:a().createElement(i.Icon,{name:"at"}),onChange:e.onUsernameChange.bind(void 0),placeholder:e.placeholder,size:"huge"})),a().createElement(i.Grid.Row,{className:"row"},a().createElement(i.Input,{className:"form-field",icon:a().createElement(i.Icon,{name:"lock"}),onChange:e.onPasswordChange.bind(void 0),placeholder:v.t("LoginModal.password"),size:"huge",type:"password"})))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{disabled:e.disabled,onClick:e.onLogin.bind(void 0),primary:!0,size:"large",type:"submit"},v.t("LoginModal.buttonLogin")),e.onClose&&a().createElement(i.Button,{basic:!0,onClick:e.onClose.bind(void 0),size:"large"},v.t("LoginModal.buttonCancel"))))));ir.defaultProps={placeholder:v.t("LoginModal.email")};var lr=ir;const cr=e=>{const t={},n=[];for(let n=0;n<e.columns;n+=1)t[`column${n}`]=[];for(let n=0;n<e.children.length;n+=1)t["column"+n%e.columns].push(a().createElement("div",{className:"itemContainer",key:n,style:{marginBottom:`${e.gap}px`}},e.children[n]));for(let r=0;r<e.columns;r+=1)n.push(a().createElement("div",{className:"column",key:r,style:{marginLeft:`${r>0?e.gap:0}px`}},t[`column${r}`]));return a().createElement("div",{className:"masonryGrid"},n)},dr=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(0);return(0,r.useEffect)((()=>{s(175+Math.ceil(350*Math.random()))}),[]),a().createElement(i.Dimmer.Dimmable,{className:"item",dimmed:t,onClick:()=>e.onClick&&e.onClick(e.item),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:e.onClick?"pointer":void 0,height:`${o}px`}},a().createElement(i.Transition,{duration:800,visible:t},a().createElement(i.Dimmer.Inner,{active:t},a().createElement(i.Header,{content:e.item.title,inverted:!0,subheader:e.item.subtitle}),e.item.extra&&a().createElement("div",{className:"extraContainer"},e.item.extra))),a().createElement(i.Image,{alt:e.item.alt,className:"image",src:e.item.image}),e.renderContent&&e.renderContent(e.item))};var mr=e=>a().createElement("div",{className:"masonry-grid"},a().createElement(i.Loader,{active:e.loading}),a().createElement("div",null,a().createElement(cr,{columns:e.columns,gap:e.gap},s().map(e.items,((t,n)=>a().createElement(dr,{key:n,item:t,onClick:e.onClick,renderContent:e.renderContent})))),e.pages>1&&e.onPageChange&&a().createElement(i.Segment,{basic:!0,textAlign:"center"},a().createElement(i.Pagination,{activePage:e.page,firstItem:null,lastItem:null,onPageChange:(t,n)=>{let{activePage:r}=n;return e.onPageChange&&e.onPageChange(r)},totalPages:e.pages,size:"small"}))),!e.loading&&!(e.items&&e.items.length)&&e.renderEmpty&&e.renderEmpty());const ur=e=>a().createElement(i.Button,{className:"play-button",color:"black",icon:"play",onClick:t=>{e.onClick&&(t.stopPropagation(),e.onClick())},size:e.size,style:e.style});ur.defaultProps={onClick:void 0,size:"massive",style:void 0};var pr=ur,hr=()=>a().createElement("div",{className:"icon video-player-button"},a().createElement("div",null,a().createElement(pr,null))),gr=e=>{const[t,n]=(0,r.useState)(!1);return a().createElement(i.Dimmer,{active:e.visible,className:"media-gallery mediaGallery",page:!0},e.loading&&a().createElement(i.Loader,{active:!0,size:"big"}),e.item&&a().createElement(a().Fragment,null,a().createElement(i.Transition,{animation:"fade",mountOnShow:!1},a().createElement("div",{className:"imageContainer"},a().createElement(i.Image,{src:e.item.image,style:{objectFit:"contain"}}),"video"===e.item.type&&a().createElement(pr,{onClick:()=>n(!0),style:{position:"absolute",top:"50%"}}))),e.renderContent&&e.renderContent(),e.onClose&&a().createElement("div",{className:"controls top right"},a().createElement(i.Button,{basic:!0,circular:!0,icon:"times",inverted:!0,onClick:e.onClose,size:"large"})),e.label&&a().createElement("div",{className:"controls top left"},a().createElement(i.Button,{basic:!0,content:e.label,inverted:!0,size:"large"})),e.onPrevious&&a().createElement("div",{className:"controls middle left"},a().createElement(i.Button,{basic:!0,disabled:!e.onPrevious,inverted:!0,icon:"angle left",onClick:e.onPrevious,size:"huge"})),e.onNext&&a().createElement("div",{className:"controls middle right"},a().createElement(i.Button,{basic:!0,disabled:!e.onNext,inverted:!0,icon:"angle right",onClick:e.onNext,size:"huge"})),e.item.src&&a().createElement(Yn,{autoPlay:!0,embedded:e.item.embedded,icon:a().createElement(hr,null),onClose:()=>n(!1),open:t,placeholder:e.item.preview,size:"huge",video:e.item.src})))},br=e=>{const[t,n]=(0,r.useState)([]);return(0,r.useEffect)((()=>{const t=[];for(let n=0;n<e.items.length&&t.length<5;n+=1)s().isEmpty(e.items[n].image)||t.push(e.items[n]);n(t)}),[e.items]),s().isEmpty(e.items)?null:a().createElement("div",{className:"mediaGrid"},a().createElement(i.Loader,{active:e.loading}),a().createElement("div",{className:`grid${t.length}`},s().map(t,((t,n)=>a().createElement("div",{className:"mediaImage",key:n},a().createElement(i.Image,{onClick:()=>e.onClick&&e.onClick(t),src:t.image,style:{cursor:e.onClick?"pointer":void 0,objectFit:"cover",width:"100%"}}))))))},vr=e=>a().createElement(d.InfiniteScroll,{offset:100,onBottomReached:e.onBottomReached},a().createElement(sr,{active:e.loading||!1}),a().createElement(i.Card.Group,{doubling:!0,stackable:!0},s().map(e.items,((t,n)=>a().createElement(i.Card,{onClick:e.onClick.bind(void 0,t,n)},a().createElement(i.Image,{alt:t.alt,src:t.image,style:{objectFit:"cover"}}),"video"===t.type&&a().createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}},a().createElement(pr,null)),(e.renderMeta||e.renderHeader||e.renderDescription)&&a().createElement(i.Card.Content,null,e.renderHeader&&a().createElement(i.Card.Header,{content:e.renderHeader(t),textAlign:e.textAlign}),e.renderMeta&&a().createElement(i.Card.Meta,{content:e.renderMeta(t),textAlign:e.textAlign}),e.renderDescription&&a().createElement(i.Card.Description,{content:e.renderDescription(t),textAlign:e.textAlign})),e.renderExtra&&a().createElement(i.Card.Content,{content:e.renderExtra(t),extra:!0,textAlign:e.textAlign}))))));class Er extends r.Component{constructor(e){super(e),this.state={modalVisible:!1}}onClose(){this.setState({modalVisible:!1})}render(){return a().createElement(a().Fragment,null,a().createElement(i.Dropdown,{className:"modal-dropdown",onClick:()=>this.setState({modalVisible:!0}),onSearchChange:()=>{},open:!1,search:!0,searchInput:{"aria-label":"Search"},selection:!0,searchQuery:this.props.searchQuery||""}),a().createElement(i.Button.Group,null,a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.clear"),icon:"times",onClick:this.props.onClear.bind(this),type:"button"})),this.renderModal())}renderModal(){return this.props.renderModal({onClose:this.onClose.bind(this),open:this.state.modalVisible})}}var fr=(0,w.withTranslation)()(Er);class Cr extends r.Component{constructor(e){super(e),this.state={loading:!1,options:[],page:1,pages:1,search:""},this.dropdown=(0,r.createRef)()}componentDidMount(){this.onReset()}componentDidUpdate(e){this.props.value!==e.value&&this.setState({page:1,pages:1,search:""},this.onSearch.bind(this))}getClassNames(){const e=["remote-dropdown"];return this.props.className&&e.push(this.props.className),e.join(" ")}getValues(){let e=[];const{value:t}=this.props;return t&&t.length&&(e=Array.isArray(t)?t:[t]),e}getOption(e){return{key:e,text:e,value:e}}getOptions(){const e=[...this.state.options];s().each(this.getValues(),(t=>{s().findWhere(e,{value:t})||e.push(this.getOption(t))}));const{search:t}=this.state;return this.props.allowAdditions&&t&&!s().findWhere(e,{text:t})&&e.push({key:"add",value:"add",text:this.renderAddOption(),onClick:this.onAddItem.bind(this)}),this.state.page<this.state.pages&&e.push({key:"more",value:"more",text:this.renderLoadMoreOption(),onClick:()=>this.setState((e=>({page:e.page+1})),this.onSearch.bind(this))}),e}getSearchOptions(){return s().filter(this.getOptions(),(e=>!this.getValues().includes(e.value)))}onAddItem(e){return this.props.onAddItem&&this.props.onAddItem(this.state.search).then((()=>{let t=this.state.search;this.props.multiple&&(t=[...this.props.value,this.state.search]),this.onOptionSelection(e,{value:t}),this.props.multiple||this.dropdown.current.close()}))}onOptionSelection(e,t){let{value:n}=t;this.props.onSelection(n)}onReset(){this.setState({options:s().map(this.getValues(),this.getOption.bind(this)),page:1,pages:1,search:""})}onSearch(){const{page:e,search:t}=this.state;this.setState({loading:!0},(()=>{this.props.onLoad({page:e,search:t}).then((t=>{let{data:n}=t;const r=s().map(n[this.props.collectionName],this.props.renderOption.bind(this)),{pages:a}=n.list;this.setState((t=>({loading:!1,options:[...e>1&&t.options||[],...r],page:e,pages:a})))}))}))}onSearchChange(e,t){let{searchQuery:n}=t;this.setState({page:1,pages:1,search:n})}render(){return a().createElement(i.Dropdown,{className:this.getClassNames(),clearable:!0,fluid:this.props.fluid,loading:this.state.loading,multiple:this.props.multiple,onBlur:this.onReset.bind(this),onClose:this.onReset.bind(this),onChange:this.onOptionSelection.bind(this),onOpen:this.onSearch.bind(this),onSearchChange:this.onSearchChange.bind(this),options:this.getOptions(),placeholder:this.props.placeholder,ref:this.dropdown,scrolling:!0,search:()=>this.getSearchOptions(),searchInput:{"aria-label":"Search",className:"remote-dropdown-search-input",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this))},searchQuery:this.state.search,selectOnBlur:!1,selection:!0,value:this.props.value})}renderAddOption(){return a().createElement("div",{className:"extra-option"},a().createElement(i.Icon,{name:"plus circle"}),`${v.t("RemoteDropdown.labels.add")} ${this.state.search}`)}renderLoadMoreOption(){return a().createElement("div",{className:"extra-option"},a().createElement(i.Icon,{name:"refresh"}),v.t("RemoteDropdown.labels.loadMore"))}}Cr.defaultProps={allowAdditions:!1,className:"",fluid:!1,multiple:!1,onAddItem:void 0,placeholder:null};var yr=Cr;function Sr(){return Sr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sr.apply(this,arguments)}var kr=e=>{let{useSearchBox:t,...n}=e;const{query:o,refine:l,clear:c,isSearchStalled:m}=t(n),[u,p]=(0,r.useState)(o),h=(0,r.useRef)(),g=(0,r.useCallback)((()=>{p(""),c();const{current:e}=h;e&&e.focus()}),[c]),b=(0,r.useCallback)((()=>l(u)),[l,u]);return a().createElement(i.Input,Sr({},n,{"aria-label":"Search",icon:a().createElement(i.Icon,{link:!s().isEmpty(o),name:s().isEmpty(o)?"search":"times",onClick:g}),input:{"aria-label":"search"},loading:m,onChange:(e,t)=>{let{value:n}=t;return p(n)},onKeyDown:()=>d.Timer.clearSearchTimer(),onKeyUp:()=>d.Timer.setSearchTimer(b),ref:h,type:"text",value:u}))};const wr=e=>{let{usePagination:t,...n}=e;const{currentRefinement:o,nbPages:s,refine:l}=t(n),c=(0,r.useCallback)(((e,t)=>{let{activePage:n}=t;return l(n-1)}),[l]);return(0,r.useEffect)((()=>{n.scrollToTop&&window.scroll({top:0,behavior:"smooth"})}),[o,n.scrollToTop]),0===s?null:a().createElement(i.Pagination,{activePage:o+1,onPageChange:c,totalPages:s})};wr.defaultProps={scrollToTop:!1};var Dr=wr;const Ir=e=>{let{useHits:t,...n}=e;const{hits:r}=t(n),{as:o,asProps:s,link:i,renderDescription:l,renderEmptyList:c,renderExtra:d,renderHeader:m,renderImage:u,renderMeta:p}=n;return a().createElement(Dn,{as:o,asProps:s,hideToggle:!0,items:r,link:i,renderDescription:l,renderEmptyList:c,renderExtra:d,renderHeader:m,renderImage:u,renderMeta:p})};Ir.defaultProps={as:void 0,asProps:void 0,link:void 0,renderDescription:void 0,renderEmptyList:void 0,renderExtra:void 0,renderHeader:void 0,renderImage:void 0,renderMeta:void 0};var Mr=Ir,Nr=e=>{let{useHitsPerPage:t,options:n}=e;const{items:r,refine:o}=t({items:s().map(n,((e,t)=>({label:e,value:e,default:0===t})))}),{value:i}=s().findWhere(r,{isRefined:!0});return a().createElement(I,{basic:!0,icon:"list",onChange:(e,t)=>o(t.value),options:s().map(r,(e=>({key:e.value,value:e.value,text:e.label}))),text:v.t("SearchResultsPerPage.labels.show",{value:i}),value:i})},Pr=e=>{let{useSortBy:t,...n}=e;const{currentRefinement:o,options:i,refine:l}=t(n),{label:c,value:d}=s().findWhere(i,{value:o})||s().first(i),m=(0,r.useMemo)((()=>d&&d.endsWith("desc")?"sort alphabet down":"sort alphabet up"),[d]);return a().createElement(I,{basic:!0,icon:m,onChange:(e,t)=>l(t.value),options:s().map(i,(e=>({key:e.value,value:e.value,text:e.description||e.label}))),text:c,value:d})},Tr=e=>{let{useStats:t,...n}=e;const{nbHits:r,processingTimeMS:o}=t(n),s=(o/1e3).toFixed(2);return a().createElement("div",null,v.t("SearchStats.labels.results",{count:r,seconds:s}))};const xr=e=>e.visible?a().createElement("div",{className:"section"},e.header&&a().createElement(i.Header,{content:e.header}),e.children,a().createElement(i.Divider,{hidden:!e.divided})):null;xr.defaultProps={divided:!0,header:void 0,visible:!0};var Ar=xr;function Br(){return Br=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Br.apply(this,arguments)}const Lr=k(V((e=>{(0,r.useEffect)((()=>{e.onInit&&e.onInit()}),[]);const t=(0,r.useCallback)((t=>e.isSelected(t)?a().createElement(i.Icon,{color:"green",name:"check"}):null),[e.selectedItems]),n=(0,r.useCallback)((()=>s().isEmpty(e.items)?null:e.renderItems?e.renderItems({isSelected:e.isSelected,items:e.items,onSelect:e.onSelect}):a().createElement(i.Table,{basic:!0,padded:!0,selectable:!0},a().createElement(i.Table.Body,null,s().map(e.items,((n,r)=>a().createElement(i.Table.Row,{key:r,onClick:e.onSelect.bind(void 0,n)},a().createElement(i.Table.Cell,null,e.renderItem(n)),a().createElement(i.Table.Cell,null,t(n)))))))),[t,e.items,e.onSelect,e.renderItem]),o=(0,r.useCallback)((()=>e.items&&e.items.length||e.loading?null:a().createElement(i.Grid,{className:"empty",padded:"vertically"},a().createElement(i.Grid.Column,{textAlign:"center"},a().createElement(i.Grid.Row,null,a().createElement(i.Icon,{name:"search",size:"huge"})),a().createElement(i.Grid.Row,null,v.t("Selectize.messages.noRecords"))))),[e.items,e.loading]);return a().createElement(i.Grid,null,a().createElement(i.Grid.Column,{textAlign:"center"},e.renderHeader?e.renderHeader({onItemClick:e.onItemSelection.bind(void 0),selectedItem:e.selectedItem,selectedItems:e.selectedItems}):a().createElement(X,{isSelected:t=>e.selectedItem===t,items:e.selectedItems,onItemClick:e.onItemSelection.bind(void 0),renderItem:e.renderItem.bind(void 0)}),n(),o()))}))),Rr=e=>{const[t,n]=(0,r.useState)(!1),[o,l]=(0,r.useState)(),[c,d]=(0,r.useState)(e.selectedItems||[]),m=(0,r.useMemo)((()=>!!e.multiple),[e.multiple]),u=(0,r.useMemo)((()=>s().isNumber(e.multiple)?e.multiple:Number.MAX_SAFE_INTEGER),[e.multiple]),p=(0,r.useCallback)((e=>!!s().findWhere(c,{id:e.id},[c]))),h=(0,r.useCallback)((e=>{p(e)?d((t=>s().filter(t,(t=>t.id!==e.id)))):m?c.length>=u?n(!0):d((t=>[...t,e])):d([e])}),[p,e.multiple]),g=(0,r.useCallback)((e=>{o===e?(l(null),h(e)):l(e)}),[o,h]),b=(0,r.useCallback)((t=>e.modal&&e.modal.onSave?e.modal.onSave(t).then((e=>h(e))):Promise.resolve()),[h,e.modal]);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{as:i.Form,centered:e.centered,className:"selectize",mountNode:r,noValidate:!0,open:!0,size:"small"},a().createElement(i.Modal.Header,{content:e.title}),a().createElement(i.Modal.Content,null,a().createElement(i.Message,{content:v.t("Selectize.messages.maxSelected.content"),error:!0,header:v.t("Selectize.messages.maxSelected.header"),onDismiss:()=>n(!1),visible:t}),a().createElement(Lr,Br({},e,{actions:[],isSelected:p,onDelete:()=>Promise.resolve(),onDeleteAll:()=>Promise.resolve(),onItemSelection:g,onSave:b,onSelect:h,selectedItem:o,selectedItems:c}))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:e.onSave.bind(void 0,c),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:e.onClose.bind(void 0),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))))};Rr.defaultProps={centered:!1,modal:void 0,multiple:!0,searchable:!0,selectedItems:[]};var zr=Rr;const Or=e=>a().createElement(i.Card,{raised:e.selected,link:!0,onClick:e.onClick},e.image&&s().isString(e.image)&&a().createElement(i.Image,{size:"small",src:e.image}),!!e.image&&!s().isString(e.image)&&e.image,!e.image&&a().createElement(i.Segment,{placeholder:!0},a().createElement(i.Icon,{name:"image",size:"large"})),a().createElement(i.Card.Content,null,e.header&&a().createElement(i.Card.Header,null,a().createElement(i.Header,{as:"h6",content:e.header})),e.meta&&a().createElement(i.Card.Meta,{content:e.meta}),e.description&&a().createElement(i.Card.Description,{content:e.description})),e.extra&&a().createElement(i.Card.Content,{extra:!0},e.extra),e.selected&&a().createElement(i.Card.Content,{extra:!0},a().createElement(i.Button,{basic:!0,circular:!0,compact:!0,icon:"times",onClick:e.onDelete})));Or.defaultProps={header:void 0,image:void 0,meta:void 0,renderExtra:void 0};const Fr=e=>{const[t,n]=(0,r.useState)(1),[o,l]=(0,r.useState)(0),[c,d]=(0,r.useState)(!1),m=(0,r.useMemo)((()=>{let n=null;if(t&&e.selectedItems&&e.selectedItems.length){const r=(t-1)*(e.perPage||5),a=r+(e.perPage||5);n=e.selectedItems.slice(r,a)}return n}),[t,e.perPage,e.selectedItems]),u=(0,r.useMemo)((()=>{const n=(t-1)*(e.perPage||5),r=n+(e.perPage||5),a=e.selectedItems.length;return`${n+1} - ${Math.min(r,a)} of ${a}`}),[t,e.perPage,e.selectedItems]),p=(0,r.useCallback)((e=>{let r=t+e;r<1?r=o:r>o&&(r=1),n(r)}),[t,o]);return(0,r.useEffect)((()=>{e.perPage&&e.selectedItems&&l(Math.ceil(e.selectedItems.length/e.perPage))}),[e.perPage,e.selectedItems]),(0,r.useEffect)((()=>{(!m||!m.length)&&e.selectedItems&&e.selectedItems.length&&t>1&&n(t-1)}),[m,t,e.selectedItems]),s().isEmpty(m)?null:a().createElement(i.Segment,{className:"selectize-image-header"},a().createElement(i.Transition,{visible:!c},a().createElement("div",null,a().createElement("div",{className:"container"},a().createElement(i.Button,{basic:!0,circular:!0,disabled:o<=1,icon:"arrow left",onClick:p.bind(void 0,-1)}),a().createElement(i.Card.Group,{itemsPerRow:e.perPage},s().map(m,(t=>a().createElement(Or,{description:e.renderDescription&&e.renderDescription(t),extra:e.renderExtra&&e.renderExtra(t),header:e.renderHeader&&e.renderHeader(t),image:e.renderImage&&e.renderImage(t),meta:e.renderMeta&&e.renderMeta(t),key:t.id,onClick:()=>e.selectedItem===t?e.onItemClick(null):e.onItemClick(t),onDelete:()=>e.onItemClick(t),selected:t===e.selectedItem})))),a().createElement(i.Button,{basic:!0,circular:!0,disabled:o<=1,icon:"arrow right",onClick:p.bind(void 0,1)})))),a().createElement("div",{className:"bottom-container"},a().createElement("div",null),a().createElement("div",null,u),a().createElement("div",null,e.collapsable&&a().createElement(i.Button,{as:"a",basic:!0,circular:!0,className:"link",compact:!0,content:c?v.t("Common.buttons.show"):v.t("Common.buttons.hide"),onClick:()=>d((e=>!e))}))))};Fr.defaultProps={collapsable:!0,onItemClick:()=>{},perPage:5,renderExtra:void 0};var jr=Fr;function Hr(){return Hr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Hr.apply(this,arguments)}class Gr extends r.Component{constructor(e){super(e),this.state={tab:null}}componentDidMount(){const e=s().first(d.Element.findByType(this.props.children,Gr.Tab));this.setState({tab:e.props.name})}getHeaderClasses(){const e=["modal-header"];return this.props.inlineTabs&&e.push("inline-header"),e.join(" ")}getModalClasses(){const e=["tabbed-modal"];return this.props.className&&e.push(this.props.className),e.join(" ")}render(){const e=d.Element.findByType(this.props.children,Gr.Tab),t=s().find(e,(e=>e.props.name===this.state.tab));return a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,Hr({className:this.getModalClasses(),mountNode:e},s().omit(this.props,"header","renderHeader","inlineTabs","className")),a().createElement(i.Modal.Header,{className:this.getHeaderClasses()},this.renderHeader(),a().createElement(i.Menu,{float:"right",secondary:!0},s().map(d.Element.findByType(this.props.children,Gr.Tab),this.renderTab.bind(this)))),a().createElement(i.Modal.Content,null,t&&a().createElement("div",{key:t.props.name},t.props.children)),d.Element.findByType(this.props.children,i.Modal.Actions))))}renderHeader(){return this.props.renderHeader?this.props.renderHeader():a().createElement(i.Header,{content:this.props.header})}renderTab(e){const{name:t}=e.props;return a().createElement(i.Menu.Item,{active:this.state.tab===t,key:t,name:t,onClick:()=>this.setState({tab:t})},t)}}const Ur=e=>e.children;Ur.displayName="Tab",Gr.Tab=Ur,Gr.defaultProps={className:void 0,inlineTabs:!0,renderHeader:void 0};var qr=Gr,Vr=e=>a().createElement(i.Menu,{pointing:!0,secondary:!0},s().map(s().where(e.tabs,{visible:!0}),(t=>a().createElement(i.Menu.Item,{active:t.active,key:t.key,name:t.label,onClick:e.onTabClick.bind(void 0,t)})))),$r=e=>a().createElement("div",{className:"tags-list"},s().map(e.tags||[],(t=>a().createElement(i.Label,{style:{backgroundColor:e.config&&e.config[t]&&e.config[t].background,color:e.config&&e.config[t]&&e.config[t].color,marginRight:"10px"}},t,e.onDelete&&a().createElement(i.Icon,{name:"delete",onClick:e.onDelete.bind(void 0,t)})))));function Kr(){return Kr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Kr.apply(this,arguments)}const _r=e=>{const[t,n]=(0,r.useState)(!0);return(0,r.useEffect)((()=>{t||n(!0)}),[e.src]),a().createElement("div",null,a().createElement(i.Loader,{active:e.src&&t}),e.src&&a().createElement(i.Image,Kr({},e,{onLoad:()=>n(!1),style:{...e.style,visibility:t?"hidden":"visible"}})),!e.src&&a().createElement(Qn,null))};_r.defaultProps={style:{}};var Qr=_r;function Wr(){return Wr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wr.apply(this,arguments)}const Yr=e=>{const[t,n]=(0,r.useState)(0),[o,s]=(0,r.useState)(e.defaultInterval),[l,c]=(0,r.useState)(0),[m,u]=(0,r.useState)(!1),p=(0,r.useRef)(null);return(0,r.useEffect)((()=>{p.current&&(p.current.currentTime=l)}),[l]),a().createElement(a().Fragment,null,a().createElement(i.Button,Wr({},e.button,{onClick:()=>u(!0)})),a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"video-frame-selector",mountNode:r,open:m,size:"small"},a().createElement(i.Modal.Header,{content:e.title}),a().createElement(i.Modal.Content,null,a().createElement(i.Segment,null,a().createElement("video",{crossOrigin:"anonymous",onLoadedMetadata:()=>p.current&&n(p.current.duration),ref:p,src:e.src})),a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,null,a().createElement("div",null,a().createElement(i.Label,{content:v.t("VideoFrameSelector.labels.interval",{count:o})})),a().createElement(i.Input,{"aria-label":"Interval Selector",min:1,max:300,name:"duration",onChange:(e,t)=>{let{value:n}=t;return s(Number(n))},step:1,type:"range",value:o})),a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(i.Button,{"aria-label":"Previous Frame",basic:!0,disabled:0===l,icon:"arrow left",onClick:()=>c(Math.max(l-o,0))}),a().createElement(i.Button,{"aria-label":"Next Frame",basic:!0,disabled:l===t,icon:"arrow right",onClick:()=>c(Math.min(l+o,t))})))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.ok"),primary:!0,onClick:()=>{const t=p.current;if(t&&d.Browser.isBrowser()){const n=document.createElement("canvas");n.width=t.videoWidth,n.height=t.videoHeight,n.getContext("2d").drawImage(t,0,0,n.width,n.height),n.toBlob((t=>{const n=new File([t],"test.png",{lastModified:(new Date).getTime(),type:t.type});e.onSelect(n),u(!1)}))}}}),a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.cancel"),onClick:()=>u(!1)}))))))};Yr.defaultProps={button:{basic:!0,content:v.t("VideoFrameSelector.buttons.select"),icon:"image"},defaultInterval:15,title:v.t("VideoFrameSelector.title")};var Xr=(0,w.withTranslation)()(Yr),Jr=require("react-syntax-highlighter"),Zr=n.n(Jr);function ea(){return ea=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ea.apply(this,arguments)}const ta=e=>{const[t,n]=(0,r.useState)(!1),o=e.opener.component,s=e.opener.props;return a().createElement(B.Consumer,null,(r=>a().createElement(a().Fragment,null,a().createElement(o,ea({},s,{className:"view-xml-trigger",onClick:()=>n(!0)})),a().createElement(i.Modal,{className:"view-xml-modal",closeIcon:!0,centered:!1,mountNode:r,open:t,onClose:()=>n(!1)},a().createElement(i.Modal.Header,{content:v.t("ViewXML.title")}),a().createElement(i.Modal.Content,null,a().createElement(Zr(),{language:"xml",style:e.highlighter},e.xml)),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.close"),onClick:()=>n(!1)}))))))};ta.defaultProps={opener:{component:i.Button,props:{content:v.t("ViewXML.buttons.view")}},style:{maxHeight:"70vh"}};var na=ta}},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var o=n[e]={exports:{}};return t[e](o,o.exports,r),o.exports}r.m=t,e=[],r.O=function(t,n,a,o){if(!n){var s=1/0;for(d=0;d<e.length;d++){n=e[d][0],a=e[d][1],o=e[d][2];for(var i=!0,l=0;l<n.length;l++)(!1&o||s>=o)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(i=!1,o<s&&(s=o));if(i){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,a,o]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={179:0,44:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var a,o,s=n[0],i=n[1],l=n[2],c=0;if(s.some((function(t){return 0!==e[t]}))){for(a in i)r.o(i,a)&&(r.m[a]=i[a]);if(l)var d=l(r)}for(t&&t(n);c<s.length;c++)o=s[c],r.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return r.O(d)},n=self.webpackChunk_performant_software_semantic_components=self.webpackChunk_performant_software_semantic_components||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}();var a=r.O(void 0,[44],(function(){return r(102)}));a=r.O(a),module.exports=a}();
|
|
1
|
+
!function(){"use strict";var e,t={923:function(e,t,n){n.r(t),n.d(t,{AccordionDataList:function(){return _},AccordionList:function(){return Y},AccordionSelector:function(){return ee},ArrowButtons:function(){return te},AssociatedDropdown:function(){return x},AudioPlayer:function(){return ne},BatchEdit:function(){return Rn},BibliographyForm:function(){return pe},BibliographyList:function(){return Ne},BibliographySearchInput:function(){return Ee},BooleanIcon:function(){return Pe},Breadcrumbs:function(){return Ae},CancelButton:function(){return Be},ColorButton:function(){return Re},ColorPickerModal:function(){return Fe},CurrentFacetLabels:function(){return He},CurrentFacets:function(){return qe},CurrentFacetsModal:function(){return Ue},DataTable:function(){return et},DataView:function(){return pt},DatabaseView:function(){return Et},DateInput:function(){return A},DatePicker:function(){return St},DescriptorField:function(){return wt},DownloadButton:function(){return Dt},Draggable:function(){return Qe},DropdownButton:function(){return I},DropdownMenu:function(){return ot},EditModal:function(){return T},EditPage:function(){return Nt},EmbeddedList:function(){return Lt},Facet:function(){return zt},FacetClearButton:function(){return Ft},FacetList:function(){return Ut},FacetSlider:function(){return Kt},FacetToggle:function(){return Qt},FileInputButton:function(){return Xt},FileUpload:function(){return Zt},FileUploadModal:function(){return mn},FilterOperatorOptions:function(){return j},FilterOperators:function(){return F},FilterTypes:function(){return O},FuzzyDate:function(){return z},GoogleMap:function(){return hn},GooglePlacesSearch:function(){return gn},HorizontalCards:function(){return vn},IIIFModal:function(){return En},ImageCarousel:function(){return fn},ItemCollection:function(){return Mn},ItemList:function(){return Pn},ItemViews:function(){return yn},Items:function(){return wn},KeyValuePairs:function(){return zn},KeyboardField:function(){return Bn},LazyAudio:function(){return Gn},LazyDocument:function(){return $n},LazyIIIF:function(){return ir},LazyImage:function(){return Yn},LazyMedia:function(){return sr},LazyVideo:function(){return tr},LinkButton:function(){return jt},LinkLabel:function(){return xn},ListFilters:function(){return G},ListLoader:function(){return lr},ListTable:function(){return bt},LoginModal:function(){return dr},MasonryGrid:function(){return pr},MediaGallery:function(){return vr},MediaGrid:function(){return Er},MediaList:function(){return fr},MenuBar:function(){return it},MenuSidebar:function(){return ct},ModalContext:function(){return B},ModalDropdown:function(){return yr},NestedAccordion:function(){return c},PhotoViewer:function(){return _n},PlayButton:function(){return gr},RemoteDropdown:function(){return kr},SORT_ASCENDING:function(){return y},SORT_DESCENDING:function(){return S},SaveButton:function(){return It},SearchBox:function(){return Dr},SearchPagination:function(){return Mr},SearchResults:function(){return Nr},SearchResultsPerPage:function(){return Pr},SearchResultsSort:function(){return xr},SearchStats:function(){return Ar},Section:function(){return Lr},Selectize:function(){return Fr},SelectizeHeader:function(){return X},SelectizeImageHeader:function(){return Gr},SimpleEditPage:function(){return qr},StyleSelector:function(){return Se},TabbedModal:function(){return Qr},TabsMenu:function(){return Wr},TagsList:function(){return Yr},Thumbnail:function(){return Zr},Toaster:function(){return f},VideoFrameSelector:function(){return na},VideoPlayer:function(){return Jn},VideoPlayerButton:function(){return br},ViewXML:function(){return ia},useDataList:function(){return k},useList:function(){return q}});var r=require("react"),a=n.n(r),o=require("underscore"),s=n.n(o),i=require("semantic-ui-react");class l extends r.Component{constructor(e){super(e),this.state={activeItems:[]}}componentDidUpdate(e){if(e.defaultActive!==this.props.defaultActive&&this.props.defaultActive&&this.props.defaultActive.length){const e=this.props.defaultActive.some((e=>"object"!=typeof e||!s().has(e,"id")||!s().has(e,"type")));this.props.multipleItemTypes&&!e?this.setState({activeItems:this.props.defaultActive}):this.setState({activeItems:s().map(this.props.defaultActive,(e=>({id:e})))})}}getButtonClass(e){const t=["accordion-button"];return this.props.showToggle&&!this.props.showToggle(e)&&t.push("hidden"),t.join(" ")}isActive(e){let t={id:e.id};return this.props.multipleItemTypes&&s().has(e,"type")&&(t={id:e.id,type:e.type}),!!s().findWhere(this.state.activeItems,t)}isItemActive(e){return this.props.isItemActive&&this.props.isItemActive(e)}onItemClick(e){this.props.toggleOnClick&&this.onItemToggle(e),this.props.onItemClick&&this.props.onItemClick(e)}onItemToggle(e){this.props.onItemToggle&&this.props.onItemToggle(e),this.toggleItem(e)}render(){return a().createElement(i.Accordion,{className:"nested-accordion",fluid:!0,inverted:this.props.inverted,panels:s().map(this.props.rootItems,this.renderPanel.bind(this)),styled:this.props.styled})}renderContent(e){const t=this.props.getChildItems(e);return t&&t.length?a().createElement(i.Accordion.Content,{active:this.isActive(e)},a().createElement("div",null,a().createElement(i.Accordion.Accordion,{panels:s().map(t,this.renderPanel.bind(this))}))):null}renderPanel(e){return a().createElement("div",{key:s().has(e,"type")?`${e.type}-${e.id}`:e.id},a().createElement(i.Accordion.Title,{active:this.isActive(e),onClick:this.onItemClick.bind(this,e),style:{backgroundColor:this.isItemActive(e)?"rgba(255, 255, 255, 0.08)":void 0}},a().createElement("div",{className:"container"},a().createElement("div",null,this.renderToggle(e),a().createElement("div",{className:"item-container"},this.props.renderItem(e))),this.props.renderRight&&a().createElement("div",{className:"right-container"},this.props.renderRight(e)))),this.renderContent(e))}renderToggle(e){return a().createElement(i.Button,{"aria-label":"Open",compact:!0,className:this.getButtonClass(e),icon:"dropdown",inverted:this.props.inverted,onClick:t=>{t.stopPropagation(),this.onItemToggle(e)}})}toggleItem(e){this.setState((t=>({activeItems:this.isActive(e)?s().filter(t.activeItems,(t=>this.props.multipleItemTypes&&s().has(e,"type")&&s().has(t,"type")?t.id!==e.id||t.type!==e.type:t.id!==e.id)):[...t.activeItems,e]})))}}l.defaultProps={defaultActive:[],inverted:!1,isItemActive:void 0,multipleItemTypes:!1,onItemClick:()=>{},renderRight:()=>{},styled:!0,toggleOnClick:!1};var c=l,d=require("@performant-software/shared-components"),m=require("react-uuid"),u=n.n(m),p=require("i18next"),h=n.n(p);const g={en:{translation:JSON.parse('{"AccordionList":{"deleteContent":"Are you sure you want to remove this record?","deleteHeader":"Confirm Remove","record":"Record","record_plural":"Records"},"AccordionSelector":{"title":"Select Items"},"AudioPlayer":{"errors":{"path":{"content":"Please check the audio path: {{path}}","header":"There was a problem loading the audio"}}},"BibliographyList":{"sort":{"author":"Author","date":"Date","title":"Title"}},"BibliographyModal":{"title":"Add Entry"},"BibliographySearchInput":{"labels":{"placeholder":"Enter a URL, ISBN, DOI, PMID, arXiv ID"}},"BreadcrumbItem":{"labels":{"new":"New"}},"Citation":{"labels":{"untitled":"Untitled"}},"Common":{"buttons":{"add":"Add","cancel":"Cancel","clear":"Clear","close":"Close","done":"Done","download":"Download","edit":"Edit","hide":"Hide","iiif":"View IIIF","ok":"OK","open":"Open","save":"Save","search":"Search","show":"Show","upload":"Upload"},"errors":{"save":"There was an error saving the record.","title":"Oops!","unauthorized":"You do not have permission to access this record."},"labels":{"noRecords":"No records."},"messages":{"error":{"header":"Oops!"},"loading":"Loading","noResults":"No results found.","save":{"content":"Your changes have been saved.","header":"Success!"}}},"CreatorField":{"labels":{"firstName":"First name","lastName":"Last name","name":"Name"}},"CurrentFacetsModal":{"title":"Current Facets"},"EditContainer":{"errors":{"general":"Something went wrong while saving the record. Please make sure all required fields are filled out.","required":"The {{key}} field is required.","system":"A system error occurred while saving the record. Please contact your system administrator.","unique":"A record with the {{key}} \\"{{value}}\\" already exists."}},"DataTable":{"actions":{"copy":{"content":"Creates an editable copy to be saved as a new record","title":"Copy"},"delete":{"content":"Removes the record, permanently","title":"Remove"},"edit":{"content":"Opens the modal to edit the record","title":"Edit"}},"columns":{"actions":"Actions","select":"Select"},"loading":"Loading"},"DataView":{"labels":{"details":"Details","noSort":"No sort","sortBy":"Sort by {{column}}"}},"EditProvider":{"errors":{"general":"Something went wrong while saving the record. Please make sure all required fields are filled out.","required":"The {{key}} field is required.","unique":"A record with the {{key}} \\"{{value}}\\" already exists."}},"FacetList":{"buttons":{"showLess":"Show Less","showMore":"Show More"},"labels":{"matchAll":"Match all values","matchAny":"Match any values","search":"Search"}},"FileUpload":{"add":"<0>Add files</0> or drop files here","errors":{"fileType":"Unable to upload {{name}} because {{type}} files are not allowed.","maxSize":"Unable to upload {{name}} because it exceeds 10 MB."}},"FileUploadModal":{"errors":{"header":"There was an error processing your files","required":"File {{filename}} - The following fields are required: {{fields}}","upload":{"content":"Check the status on each file to see which were unsuccessful.","header":"Some of the files did not upload"}},"loader":"Uploading files...","title":"Upload Files"},"FilterLabels":{"buttons":{"clear":"Clear all"}},"FuzzyDate":{"accuracy":{"date":"Date","month":"Month","year":"Year"},"buttons":{"addRange":"Add Range","removeRange":"Remove Range"},"labels":{"accuracy":"Accuracy","date":"Date","description":"Description","month":"Month","year":"Year"},"title":"Fuzzy Date"},"ItemList":{"actions":{"copy":"Copy","delete":"Remove","edit":"Edit"},"buttons":{"clear":"Clear selected","deselectAll":"Deselect all","selectAll":"Select all"}},"KeyboardField":{"labels":{"hideKeyboard":"Hide Keyboard","showKeyboard":"Show Keyboard"}},"KeyValuePairs":{"labels":{"key":"Key","value":"Value"}},"LazyAudio":{"buttons":{"play":"Play"}},"LazyImage":{"buttons":{"view":"View image"}},"LazyMedia":{"messages":{"uploaded":"Your <bold>{{type}}</bold> has been received"}},"LazyVideo":{"buttons":{"play":"Play video"}},"List":{"buttons":{"add":"Add","deleteAll":"Delete all"},"deleteAllContent":"Are you sure you want to remove all records? This action cannot be undone.","deleteAllHeader":"Confirm Remove All","deleteContent":"Are you sure you want to remove this record?","deleteHeader":"Confirm Remove","emptyList":"No matching records found.","emptyListAdd":"You haven\'t added any yet. Click <1><0><0></0><1></1></0></1> to get started.","labels":{"perPage":"Show {{perPage}}"},"record":"Record","record_plural":"Records"},"ListFilters":{"buttons":{"add":"Add","reset":"Reset filters"},"operators":{"contain":"Contains","empty":"Is empty","equal":"Equals","greaterThan":"Is greater than","lessThan":"Is less than","notContain":"Does not contain","notEmpty":"Is not empty","notEqual":"Does not equal"},"title":"Filters"},"LoginModal":{"buttonCancel":"Cancel","buttonLogin":"Login","email":"Email","header":"Login","loginErrorContent":"The username and/or password you entered is invalid. Please double check and try again.","loginErrorHeader":"Invalid Credentials","password":"Password"},"PhotoViewer":{"errors":{"path":{"content":"Please check the image path: {{path}}","header":"There was a problem loading the image"}}},"RemoteDropdown":{"labels":{"add":"Add","loadMore":"Load more"}},"SearchResultsPerPage":{"labels":{"show":"Show {{value}}"}},"SearchStats":{"labels":{"results":"{{count}} results in {{seconds}} seconds"}},"Selectize":{"messages":{"maxSelected":{"content":"You have already selected the maximum number of items allowed.","header":"Maximum items selected"},"noRecords":"No matching records."}},"VideoFrameSelector":{"buttons":{"select":"Select frame"},"labels":{"interval":"Interval: {{count}} second","interval_plural":"Interval: {{count}} seconds"},"title":"Select Frame"},"VideoPlayer":{"errors":{"path":{"content":"Please check the video path: {{path}}","header":"There was a problem loading the video"}}},"ViewXML":{"buttons":{"view":"View XML"},"title":"XML"}}')}},b=h().createInstance();b.init({debug:!0,fallbackLng:"en",lng:"en",interpolation:{escapeValue:!1},resources:g});var v=b;const E=e=>{const[t,n]=(0,r.useState)(!0);return e.timeout&&e.timeout>0&&s().delay((()=>{n(!1)}),e.timeout),(0,r.useEffect)((()=>{!t&&e.onDismiss&&s().delay(e.onDismiss.bind(void 0),700)}),[t]),a().createElement(i.Transition,{animation:"slide down",duration:700,transitionOnMount:!0,visible:t},a().createElement(i.Message,{className:"toaster",info:e.type===E.MessageTypes.info,negative:e.type===E.MessageTypes.negative,onDismiss:()=>n(!1),positive:e.type===E.MessageTypes.positive,warning:e.type===E.MessageTypes.negative},e.children))};E.MessageTypes={info:"info",negative:"negative",positive:"positive",warning:"warning"},E.defaultProps={onDismiss:void 0,timeout:3e3,type:E.MessageTypes.info};var f=E;function C(){return C=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},C.apply(this,arguments)}const y="ascending",S="descending";var k=e=>{var t;return t=class extends r.Component{constructor(e){super(e),this.state=this.initializeState(e)}componentDidMount(){this.props.polling&&(this.pollingInterval=setInterval(this.fetchData.bind(this),this.props.polling))}componentDidUpdate(e){e.saved!==this.props.saved&&this.props.saved&&this.setState({saved:this.props.saved},this.fetchData.bind(this))}componentWillUnmount(){this.pollingInterval&&clearInterval(this.pollingInterval)}afterDelete(){return 1===this.state.items.length?this.setState((e=>({page:e.page-1>1?e.page-1:1})),this.fetchData.bind(this)):this.fetchData()}afterDeleteAll(){this.setState({page:1},this.fetchData.bind(this))}fetchData(){this.setSession(),this.setState({loading:!0},(()=>{const{page:e,perPage:t,search:n,sortColumn:r,sortDirection:a}=this.state,o={...this.state.filters,page:e,search:n,per_page:t,sort_by:r,sort_direction:a};this.props.onLoad(o).then((t=>{let{data:n}=t;const r=n[this.props.collectionName],{pages:a,count:o}=n.list;this.setState({count:o,items:r,page:e,pages:a,loading:!1})}))}))}getDefaultFilters(e){const t=[];return e.filters&&e.filters.defaults&&s().each(e.filters.defaults.filters,(n=>{const r=s().findWhere(e.filters.props.filters,{key:n.key});r&&t.push(this.onCreateFilter({...r,...n}))})),{filters:t}}getSessionKey(){return this.props.session?`DataList.${this.props.session.key}`:null}initializeState(e){const t=this.restoreSession(),n=t.filters||this.getDefaultFilters(e),r=t.page||1,a=t.perPage||e.defaultPerPage||s().first(e.perPageOptions),o=t.search||e.defaultSearch||null,i=t.sortColumn||e.defaultSort||null,l=t.sortDirection||e.defaultSortDirection||null;return{count:0,error:null,filters:n,items:[],loading:!1,page:r,pages:1,perPage:a,saved:e.saved||!1,search:o,sortColumn:i,sortDirection:l}}isFilterActive(){let e=!1;return s().each(s().values(this.state.filters),(t=>{d.Object.isEmpty(t)||(e=!0)})),e}onClearSearch(e){this.onSearchChange(e,{value:""}),this.searchRef?.inputRef?.current?.focus(),this.onSearch()}onCreateFilter(e){return{...e,uid:u()()}}onDelete(e){return this.props.onDelete?this.props.onDelete(e).then(this.afterDelete.bind(this)).catch(this.onError.bind(this)):Promise.resolve()}onDeleteAll(){return this.props.onDeleteAll?this.props.onDeleteAll().then(this.afterDeleteAll.bind(this)):Promise.resolve()}onError(e){return this.props.resolveErrors&&this.setState({error:e})}onFilterChange(e){return new Promise((t=>{this.props.filters&&this.props.filters.onChange&&this.props.filters.onChange(e),this.setState({filters:e,page:1},(()=>{this.fetchData(),t()}))}))}onPageChange(e,t){let{activePage:n}=t;this.setState({page:n},this.fetchData.bind(this))}onPerPageChange(e,t){let{value:n}=t;this.setState({perPage:n},this.fetchData.bind(this))}onSave(e){return this.props.onSave?Promise.resolve(this.props.onSave(e)).then((()=>this.setState({saved:!0},this.fetchData.bind(this)))):Promise.resolve()}onSearch(){this.setState({page:1},this.fetchData.bind(this))}onSearchChange(e,t){let{value:n}=t;this.setState({search:n})}onSort(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=t;r||(r=this.state.sortColumn===e&&this.state.sortDirection===y?S:y),this.setState({sortColumn:e,sortDirection:r,page:n},this.fetchData.bind(this))}onInit(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.setState({sortColumn:"",sortDirection:"",page:e},this.fetchData.bind(this))}render(){const{filters:t={}}=this.props,{component:n,props:r,showLabels:o}=t;return a().createElement(a().Fragment,null,a().createElement(e,C({},this.props,{count:this.state.count,filters:{active:this.isFilterActive(),component:n,onChange:this.onFilterChange.bind(this),showLabels:o,props:{...r,onCreateFilter:this.onCreateFilter.bind(this),item:this.state.filters}},items:this.state.items,loading:this.state.loading,page:this.state.page,pages:this.state.pages,perPage:this.state.perPage,onDelete:this.onDelete.bind(this),onDeleteAll:this.onDeleteAll.bind(this),onPageChange:this.onPageChange.bind(this),onPerPageChange:this.onPerPageChange.bind(this),onSave:this.onSave.bind(this),onSort:this.onSort.bind(this),onInit:this.onInit.bind(this),renderSearch:this.renderSearch.bind(this),sortColumn:this.state.sortColumn,sortDirection:this.state.sortDirection})),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})),this.state.error&&a().createElement(f,{onDismiss:()=>this.setState({error:!1}),timeout:0,type:f.MessageTypes.negative},a().createElement(i.Message.Header,{content:v.t("Common.messages.error.header")}),a().createElement(i.Message.List,{items:this.props.resolveErrors&&this.props.resolveErrors(this.state.error)})))}renderSearch(){return this.props.searchable?a().createElement(i.Input,{"aria-label":"Search",type:"text",icon:a().createElement(i.Icon,{link:!s().isEmpty(this.state.search),name:s().isEmpty(this.state.search)?"search":"times",onClick:this.onClearSearch.bind(this)}),input:{"aria-label":"search"},ref:e=>{this.searchRef=e},loading:this.state.loading,onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this)),onChange:this.onSearchChange.bind(this),size:"small",value:this.state.search}):null}restoreSession(){const e=this.getSessionKey();if(!e)return{};const t=sessionStorage.getItem(e)||"{}";return JSON.parse(t)}setSession(){const e=this.getSessionKey();if(!e)return;const{filters:t,page:n,perPage:r,search:a,sortColumn:o,sortDirection:s}=this.state;sessionStorage.setItem(e,JSON.stringify({filters:t,page:n,perPage:r,search:a,sortColumn:o,sortDirection:s}))}},t.defaultProps={filters:{},searchable:!0},t},w=require("react-i18next");const D=e=>{const t=(0,r.useRef)();return a().createElement(i.Button.Group,{basic:e.basic,className:"dropdown-button",color:e.color},a().createElement(i.Button,{"aria-label":"Select",content:e.text,disabled:e.disabled,icon:e.icon,onClick:e=>t.current&&t.current.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Select",className:"button icon",direction:e.direction,disabled:e.disabled,floating:!0,onChange:e.onChange.bind(void 0),options:e.options,ref:t,scrolling:e.scrolling,selectOnBlur:e.selectOnBlur,trigger:a().createElement(a().Fragment,null),value:e.value}))};D.defaultProps={color:void 0,icon:void 0,selectOnBlur:!1};var I=D;const M=(0,d.useEditContainer)((e=>{const t=e.component,[n,o]=(0,r.useState)(!1),s=!(!e.errors||!e.errors.length);return a().createElement(t,e,e.showLoading&&e.loading&&a().createElement(i.Dimmer,{active:e.loading,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})),n&&s&&a().createElement(f,{onDismiss:()=>o(!1),timeout:0,type:f.MessageTypes.negative},a().createElement(i.Message.Header,{content:v.t("Common.messages.error.header")}),a().createElement(i.Message.List,{items:e.errors})),a().createElement(i.Modal.Actions,{className:"edit-modal-actions"},a().createElement(i.Button,{disabled:e.saving,onClick:()=>(o(!0),e.onSave()),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save"),e.saving&&a().createElement(i.Loader,{active:!0,className:"saving",inline:!0,size:"tiny"})),a().createElement(i.Button,{basic:!0,disabled:e.saving,onClick:e.onClose.bind(void 0),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))}));M.defaultProps={showLoading:!0};var T=M;function N(){return N=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},N.apply(this,arguments)}class P extends r.Component{constructor(e){super(e),this.state={items:[],loading:!1,modalAdd:!1,modalEdit:!1,options:[],saved:!1,searchQuery:e.searchQuery||"",value:e.value||""},this.timeout=null}componentDidUpdate(e){if(e.value!==this.props.value){const{searchQuery:e,value:t}=this.props;this.setState({searchQuery:e,value:t})}}clearSearchTimer(){clearTimeout(this.timeout)}onBlur(){this.setState((e=>{let t="";return e.value&&(t=this.props.searchQuery),{searchQuery:t}}))}onClear(){this.setState({searchQuery:"",value:""},(()=>{this.props.onSelection(this.state.value)}))}onOpen(){this.setState({searchQuery:""},this.onSearch.bind(this))}onOptionSelection(e,t){let{value:n}=t;this.setState((e=>{const t=s().findWhere(e.options,{value:n})||{};this.setState({searchQuery:t.text,value:t.value})}));const r=s().findWhere(this.state.items,{id:n});this.props.onSelection(r)}onSearch(){this.setState({loading:!0},this.search.bind(this))}onSearchChange(e,t){let{searchQuery:n}=t;this.setState({searchQuery:n})}search(){this.props.onSearch(this.state.searchQuery).then((e=>{let{data:t}=e;const n=t[this.props.collectionName],r=n.map(this.props.renderOption.bind(this));this.setState({items:n,options:r,loading:!1})}))}render(){return a().createElement("div",{className:"association-dropdown"},a().createElement("div",{className:"dropdown-container"},a().createElement(i.Dropdown,{className:`inline-dropdown ${this.props.className||""}`,disabled:this.state.loading,loading:this.state.loading,onBlur:this.onBlur.bind(this),onChange:this.onOptionSelection.bind(this),onOpen:this.onOpen.bind(this),onSearchChange:this.onSearchChange.bind(this),options:this.state.options,placeholder:this.props.placeholder,search:()=>this.state.options,searchInput:{"aria-label":this.props.collectionName,className:"dropdown-search-input",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this))},searchQuery:this.state.searchQuery,selectOnBlur:!1,selection:!0,upward:this.props.upward,value:this.state.value})),a().createElement(i.Button.Group,{className:"buttons"},this.renderEditButton(),this.renderAddButton(),this.renderClearButton()),this.renderModal(),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})))}renderAddButton(){return this.props.modal?a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.add"),icon:"plus",onClick:()=>this.setState({modalAdd:!0}),type:"button"}):null}renderClearButton(){return this.props.required?null:a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.clear"),icon:"times",onClick:this.onClear.bind(this),type:"button"})}renderEditButton(){return this.props.modal&&this.props.modal.props&&this.props.modal.props.onInitialize&&this.state.value?a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.edit"),icon:"pencil",onClick:()=>this.setState({modalEdit:!0}),type:"button"}):null}renderModal(){if(!this.state.modalAdd&&!this.state.modalEdit||!this.props.modal)return null;const{component:e,props:t,onSave:n}=this.props.modal;let r;return this.state.modalEdit&&(r={id:this.state.value}),a().createElement(T,N({component:e,item:r,onClose:()=>this.setState({modalAdd:!1,modalEdit:!1}),onSave:e=>n(e).then((e=>{this.props.onSelection(e),this.setState({modalAdd:!1,modalEdit:!1,saved:!0})}))},t))}setSearchTimer(){clearTimeout(this.timeout),this.timeout=setTimeout(this.onSearch.bind(this),500)}}P.defaultProps={className:"",modal:null,placeholder:null,required:!1,upward:!1};var x=P,A=e=>a().createElement(i.Input,{"aria-label":"Date Input",className:"date-input icon",icon:"calendar alternate outline",iconPosition:"left"},a().createElement(i.Icon,{className:"left icon",name:"calendar alternate outline"}),a().createElement("input",{onClick:e.onClick.bind(void 0),readOnly:!0,type:"text",value:(()=>{let t="";return e.display?t=e.display:e.value&&(t=e.value.toLocaleDateString(e.locale,e.formatOptions)),t})()}),a().createElement(i.Icon,{className:"right icon",name:"times",onClick:t=>{t.stopPropagation(),t.preventDefault(),e.onChange(null)}})),B=a().createContext();const L=0;class R extends r.Component{constructor(e){super(e),this.state={...this.getInitialState(),calendar:new d.Calendar(e.locale,e.calendar)}}componentDidMount(){this.initializeDate()}componentDidUpdate(e){this.props.locale===e.locale&&this.props.calendar===e.calendar||this.setState({calendar:new d.Calendar(this.props.locale,this.props.calendar)}),!this.props.date||this.props.date.startDate===e.date.startDate&&this.props.date.endDate===e.date.endDate||this.initializeDate()}getDisplayDate(e){const t=this.state.calendar.convertToDate(e);return this.state.calendar.format(t,this.state.accuracy)}getInitialState(){return{accuracy:L,description:"",display:"",endDate:{},modal:!1,range:!1,startDate:{}}}initializeDate(){if(this.props.date){const{accuracy:e=L,description:t="",range:n=!1}=this.props.date;let r={},a={};this.props.date.startDate&&(r=this.state.calendar.parseDate(this.props.date.startDate)),this.props.date.endDate&&(a=this.state.calendar.parseDate(this.props.date.endDate)),this.setState({accuracy:e,description:t,range:n,startDate:r,endDate:a},this.setDisplay.bind(this))}else this.onAccuracyChange(null,{value:L})}onAccuracyChange(e,t){let{value:n}=t;const r=n;this.setState((e=>{let t={...e.endDate},a={...e.startDate};return 1===r?(t={...t,date:e.calendar.getDefaultDate()},a={...a,date:e.calendar.getDefaultDate()}):n===L&&(t={...t,date:e.calendar.getDefaultDate(),month:e.calendar.getDefaultMonth()},a={...a,date:e.calendar.getDefaultDate(),month:e.calendar.getDefaultMonth()}),{accuracy:r,endDate:t,startDate:a}}),this.setEndDate.bind(this))}onClear(){this.setState(this.getInitialState(),this.onSave.bind(this))}onClose(){this.setState({modal:!1},this.initializeDate.bind(this))}onDateChange(e,t,n){let{value:r}=n;this.setState((t=>({[e]:{...t[e],date:r}})),this.setEndDate.bind(this))}onDescriptionChange(e,t){let{value:n}=t;this.setState({description:n})}onEdit(){this.setState({modal:!0})}onMonthChange(e,t,n){let{value:r}=n;this.setState((t=>({[e]:{...t[e],month:r}})),this.setEndDate.bind(this))}onRangeChange(){this.setState((e=>({range:!e.range})),this.setEndDate.bind(this))}onSave(){let e,t;this.setDisplay(),s().isEmpty(this.state.startDate)||(e=this.state.calendar.convertToDate(this.state.startDate).toDate()),s().isEmpty(this.state.endDate)||(t=this.state.calendar.convertToDate(this.state.endDate).toDate());const{accuracy:n,description:r,range:a}=this.state;this.props.onChange({accuracy:n,description:r,range:a,startDate:e,endDate:t}),this.setState({modal:!1})}onYearChange(e,t,n){let{value:r}=n;r&&r.length>6||this.setState((t=>({[e]:{...t[e],year:parseInt(r,10)}})),this.setEndDate.bind(this))}render(){return a().createElement(a().Fragment,null,a().createElement(A,{display:this.state.display,onClick:this.onEdit.bind(this),onChange:this.onClear.bind(this)}),a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{as:i.Form,className:"fuzzy-date-modal",mountNode:e,open:this.state.modal,onClose:this.onClose.bind(this)},a().createElement(i.Modal.Header,{content:this.props.title||v.t("FuzzyDate.title")}),a().createElement(i.Modal.Content,null,a().createElement(i.Form.Input,{className:"accuracy-container",label:v.t("FuzzyDate.labels.accuracy")},a().createElement(i.Checkbox,{checked:this.state.accuracy===L,id:"accuracy-year",label:v.t("FuzzyDate.accuracy.year"),name:"accuracy",onChange:this.onAccuracyChange.bind(this),radio:!0,value:L}),a().createElement(i.Checkbox,{checked:1===this.state.accuracy,id:"accuracy-month",label:v.t("FuzzyDate.accuracy.month"),name:"accuracy",onChange:this.onAccuracyChange.bind(this),radio:!0,value:1}),a().createElement(i.Checkbox,{checked:2===this.state.accuracy,id:"accuracy-date",label:v.t("FuzzyDate.accuracy.date"),name:"accuracy",onChange:this.onAccuracyChange.bind(this),radio:!0,value:2})),a().createElement(i.Form.Group,null,this.renderYear("startDate"),this.renderMonth("startDate"),this.renderDate("startDate"),!this.state.range&&a().createElement("div",{className:"button-container"},a().createElement(i.Button,{basic:!0,content:v.t("FuzzyDate.buttons.addRange"),icon:"plus",onClick:this.onRangeChange.bind(this)}))),this.state.range&&a().createElement(i.Form.Group,null,this.renderYear("endDate"),this.renderMonth("endDate"),this.renderDate("endDate"),a().createElement("div",{className:"button-container"},a().createElement(i.Button,{basic:!0,content:v.t("FuzzyDate.buttons.removeRange"),icon:"times",onClick:this.onRangeChange.bind(this)}))),this.props.description&&a().createElement(i.Form.Input,{id:"description",label:v.t("FuzzyDate.labels.description")},a().createElement(i.TextArea,{id:"description",onChange:this.onDescriptionChange.bind(this),value:this.state.description}))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:this.onSave.bind(this),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:this.onClose.bind(this),size:"medium",type:"button"},v.t("Common.buttons.cancel")))))))}renderDate(e){if(2!==this.state.accuracy)return null;const t=this.state[e],n=this.state.calendar.daysInMonth(t.year,t.month);return a().createElement(i.Form.Input,{id:"date-dropdown",label:v.t("FuzzyDate.labels.date")},a().createElement(i.Dropdown,{id:"date-dropdown",onChange:this.onDateChange.bind(this,e),options:s().range(1,n+1).map((e=>({key:e,value:e,text:e}))),selection:!0,value:t.date||this.state.calendar.getDefaultDate()}))}renderMonth(e){return 2!==this.state.accuracy&&1!==this.state.accuracy?null:a().createElement(i.Form.Input,{id:"month-dropdown",label:v.t("FuzzyDate.labels.month")},a().createElement(i.Dropdown,{id:"month-dropdown",onChange:this.onMonthChange.bind(this,e),options:s().map(this.state.calendar.listMonths(),((e,t)=>({key:t,value:t,text:e}))),selection:!0,value:this.state[e].month||this.state.calendar.getDefaultMonth()}))}renderYear(e){return a().createElement(i.Form.Input,{id:"year",label:v.t("FuzzyDate.labels.year")},a().createElement(i.Input,{id:"year",onChange:this.onYearChange.bind(this,e),type:"number",value:this.state[e].year||""}))}setDisplay(){const e=[];this.state.startDate&&!s().isEmpty(this.state.startDate)&&e.push(this.getDisplayDate(this.state.startDate)),this.state.range&&this.state.endDate&&!s().isEmpty(this.state.endDate)&&(e.push(" - "),e.push(this.getDisplayDate(this.state.endDate))),this.setState({display:e.join(" ")})}setEndDate(){this.state.range||!this.state.startDate||s().isEmpty(this.state.startDate)||this.setState((e=>{let t=e.calendar.convertToDate(e.startDate);return e.accuracy===L?t=e.calendar.addYear(t,1):1===e.accuracy?t=e.calendar.addMonth(t,1):2===e.accuracy&&(t=e.calendar.addDate(t,1)),{endDate:e.calendar.parseDate(t)}}))}}R.defaultProps={calendar:d.Calendar.Calendars.gregorian,description:!0,locale:d.Browser.isBrowser()&&navigator.language,title:void 0};var z=R;const O={boolean:"boolean",date:"date",integer:"integer",relationship:"relationship",select:"select",string:"string",text:"text"},F={equal:"equal",notEqual:"not_equal",contain:"contain",notContain:"not_contain",empty:"empty",notEmpty:"not_empty",greaterThan:"greater_than",lessThan:"less_than"},j=[{key:F.equal,value:F.equal,text:v.t("ListFilters.operators.equal")},{key:F.notEqual,value:F.notEqual,text:v.t("ListFilters.operators.notEqual")},{key:F.contain,value:F.contain,text:v.t("ListFilters.operators.contain")},{key:F.notContain,value:F.notContain,text:v.t("ListFilters.operators.notContain")},{key:F.empty,value:F.empty,text:v.t("ListFilters.operators.empty")},{key:F.notEmpty,value:F.notEmpty,text:v.t("ListFilters.operators.notEmpty")},{key:F.greaterThan,value:F.greaterThan,text:v.t("ListFilters.operators.greaterThan")},{key:F.lessThan,value:F.lessThan,text:v.t("ListFilters.operators.lessThan")}],H={[O.boolean]:[F.equal],[O.date]:[F.equal],[O.relationship]:[F.equal,F.notEqual,F.empty,F.notEmpty],[O.select]:[F.equal,F.notEqual,F.empty,F.notEmpty],[O.string]:[F.equal,F.notEqual,F.contain,F.notContain,F.empty,F.notEmpty],[O.text]:[F.contain,F.notContain,F.empty,F.notEmpty]};var G=e=>{const t=(0,r.useCallback)((e=>{const t=H[e];return s().filter(j,(e=>!t||s().contains(t,e.key)))}),[]),n=e=>e.label,o=(0,r.useCallback)((t=>{if(t.operator===F.empty||t.operator===F.notEmpty)return null;if(t.type===O.boolean)return a().createElement(i.Checkbox,{onChange:()=>e.onSaveChildAssociation("filters",{...t,value:!t.value}),checked:t.value});if(t.type===O.string||t.type===O.text||t.type===O.integer)return a().createElement(i.Input,{onChange:(n,r)=>{let{value:a}=r;return e.onSaveChildAssociation("filters",{...t,value:a})},value:t.value});if(t.type===O.date)return a().createElement(z,{date:t.value||{},description:!1,onChange:n=>{e.onSaveChildAssociation("filters",{...t,value:n})},title:t.label});if(t.type===O.select)return a().createElement(i.Dropdown,{onChange:(n,r)=>{let{value:a}=r;return e.onSaveChildAssociation("filters",{...t,value:a})},options:t.options,selectOnBlur:!1,selection:!0,value:t.value});if(t.type===O.relationship){const{collectionName:n,onSearch:r,renderOption:o,renderSearchQuery:s,searchQuery:i,value:l}=t;return n&&r&&o?a().createElement(x,{collectionName:n,onSearch:r,onSelection:n=>{e.onSaveChildAssociation("filters",{...t,searchQuery:s&&s(n),value:n.id})},renderOption:o,required:!0,searchQuery:i||"",value:l||null}):null}return null}),[e.item.filters,e.onSaveChildAssociation]),l=(0,r.useMemo)((()=>s().sortBy(e.filters,e.item.onSort||n)),[e.filters,e.item.onSort]);return(0,r.useEffect)((()=>{s().each(e.item.filters,(t=>{const n=s().findWhere(e.filters,{key:t.key});t.type===O.boolean&&(n.value=!1),e.onSaveChildAssociation("filters",s().defaults(t,n))}))}),[]),a().createElement(B.Consumer,null,(n=>a().createElement(i.Modal,{as:i.Form,centered:!1,className:"list-filters-modal",mountNode:n,noValidate:!0,open:!0,size:"small"},a().createElement(i.Modal.Header,null,a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,{verticalAlign:"middle"},a().createElement(i.Header,{content:v.t("ListFilters.title")})),a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(I,{color:"green",icon:"plus",options:s().map(l,(e=>({key:e.key,value:e.key,text:e.label}))),onChange:(t,n)=>{let{value:r}=n;const a=s().findWhere(e.filters,{key:r});e.onSaveChildAssociation("filters",e.onCreateFilter({...a,operator:F.equal}))},scrolling:!0,text:v.t("ListFilters.buttons.add"),value:""}),a().createElement(i.Button,{color:"red",content:v.t("ListFilters.buttons.reset"),icon:"repeat",onClick:()=>e.onReset(),style:{marginLeft:"1em"}})))),a().createElement(i.Modal.Content,null,!s().isEmpty(e.item.filters)&&a().createElement(i.Grid,null,s().map(e.item.filters,(n=>a().createElement(i.Grid.Row,{columns:4,key:n.key,verticalAlign:"middle"},a().createElement(i.Grid.Column,null,a().createElement(i.Header,{content:n.label})),a().createElement(i.Grid.Column,{width:5},a().createElement(i.Dropdown,{options:t(n.type),onChange:(t,r)=>{let{value:a}=r;return e.onSaveChildAssociation("filters",{...s().omit(n,"value"),operator:a})},selection:!0,value:n.operator})),a().createElement(i.Grid.Column,{width:5},o(n)),a().createElement(i.Grid.Column,{width:1},a().createElement(i.Button,{basic:!0,icon:"times",onClick:()=>e.onDeleteChildAssociation("filters",n)}))))))),e.children)))},U=e=>{const t=(0,r.useCallback)((e=>{const t=[e.label],n=s().findWhere(j,{key:e.operator});return n&&t.push(n.text),e.value&&t.push(`"${e.value}"`),t.join(" ")}),[]);return a().createElement(i.Label.Group,{className:"filter-labels"},s().map(e.filters,(n=>a().createElement(i.Label,{basic:!0,content:t(n),onRemove:()=>e.onClick(n)}))),e.onClear&&a().createElement(i.Label,{as:i.Button,color:"red",content:v.t("FilterLabels.buttons.clear"),icon:"times",onClick:e.onClear}))};function V(){return V=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},V.apply(this,arguments)}var q=e=>{var t;return(t=class extends r.Component{constructor(e){super(e),this.state={modalDelete:!1,modalDeleteAll:!1,modalEdit:!1,modalFilter:!1,selectedItem:null}}getButtons(e){const t=[],{addButton:n={},deleteButton:r={},modal:a,selectable:o}=this.props;return n.location!==e||!n.onClick&&!a||o||t.push({render:this.renderAddButton.bind(this)}),r.location===e&&this.props.onDeleteAll&&!o&&t.push({render:this.renderDeleteAllButton.bind(this)}),t.push(...s().filter(this.props.buttons,(t=>{let r=!1;return((t.location||"top")===e||!t.location&&n&&n.location===e)&&(r=!0),r}))),t}onAddButton(){return this.props.addButton&&this.props.addButton.onClick?this.props.addButton.onClick():this.setState({modalEdit:!0})}onCopyButton(e){const t=this.props.onCopy?this.props.onCopy(e):s().omit(e,"id","uid");this.setState({selectedItem:t,modalEdit:!0})}onDelete(){const{selectedItem:e}=this.state;return this.setState({selectedItem:null,modalDelete:!1}),this.props.onDelete(e)}onDeleteAll(){return this.setState({modalDeleteAll:!1}),this.props.onDeleteAll&&this.props.onDeleteAll()}onDeleteAllButton(){this.setState({modalDeleteAll:!0})}onDeleteButton(e){this.setState({selectedItem:e,modalDelete:!0})}onEditButton(e){this.setState({selectedItem:e,modalEdit:!0})}onFilterButton(){this.setState({modalFilter:!0})}onRemoveFilter(e){const{onChange:t,props:{item:n}}=this.props.filters;return t({filters:s().filter(n.filters,(t=>t.uid!==e.uid))})}onSave(e){return this.props.onSave(e).then((()=>this.setState({modalEdit:!1,selectedItem:null})))}onSaveFilter(e){return this.props.filters?this.props.filters.onChange(e).then((()=>this.setState({modalFilter:!1}))):null}render(){return a().createElement("div",{className:`list ${this.props.className}`},this.renderHeader(),a().createElement(e,V({},this.props,{actions:this.getActions(),renderEmptyMessage:this.renderEmptyMessage.bind(this)})),this.renderFooter(),this.renderEditModal(),this.renderDeleteModal(),this.renderDeleteAllModal(),this.renderFilterModal())}getActions(){return s().map(this.props.actions,(e=>{let t={};return"edit"===e.name?t={icon:"edit outline",onClick:this.onEditButton.bind(this)}:"copy"===e.name?t={icon:"copy outline",onClick:this.onCopyButton.bind(this)}:"delete"===e.name&&(t={icon:"times circle outline",onClick:this.onDeleteButton.bind(this)}),s().defaults(e,t)}))}renderAddButton(){return this.props.addButton?a().createElement(i.Button,{basic:!1!==this.props.addButton.basic,color:this.props.addButton.color,key:"add",inverted:this.props.addButton.inverted,onClick:this.onAddButton.bind(this),secondary:this.props.addButton.secondary},a().createElement(i.Icon,{name:"plus"}),this.props.addButton.content||v.t("List.buttons.add")):null}renderButton(e,t){return e.render?e.render(t):e.accept&&!e.accept()?null:a().createElement(i.Button,V({key:t},e))}renderDeleteAllButton(){return this.props.deleteButton?a().createElement(i.Button,{basic:!0,color:this.props.deleteButton.color,key:"delete-all",onClick:this.onDeleteAllButton.bind(this)},a().createElement(i.Icon,{name:"times"}),v.t("List.buttons.deleteAll")):null}renderDeleteAllModal(){return this.state.modalDeleteAll?a().createElement(i.Confirm,{content:v.t("List.deleteAllContent"),header:a().createElement(i.Header,{icon:"trash alternate outline",content:v.t("List.deleteAllHeader")}),onCancel:()=>this.setState({modalDeleteAll:!1}),onConfirm:this.onDeleteAll.bind(this),open:!0}):null}renderDeleteModal(){if(!this.state.modalDelete)return null;const{selectedItem:e}=this.state,t=()=>this.setState({selectedItem:null,modalDelete:!1}),n=this.onDelete.bind(this);return this.props.renderDeleteModal?this.props.renderDeleteModal({selectedItem:e,onConfirm:n,onCancel:t}):a().createElement(i.Confirm,{content:v.t("List.deleteContent"),header:a().createElement(i.Header,{icon:"trash alternate outline",content:v.t("List.deleteHeader")}),onCancel:t,onConfirm:n,open:!0})}renderEditModal(){if(!this.props.modal||!this.state.modalEdit)return null;const{component:e,props:t}=this.props.modal;return a().createElement(T,V({component:e,onClose:()=>this.setState({selectedItem:null,modalEdit:!1}),onSave:this.onSave.bind(this),item:this.state.selectedItem},t))}renderEmptyMessage(){const{addButton:e={},modal:t}=this.props;return e.onClick||t?a().createElement(w.Trans,{i18nKey:"List.emptyListAdd"},"You haven't added any yet. Click",a().createElement("div",{className:"empty-button"},this.renderAddButton()),"to get started."):v.t("List.emptyList")}renderFilterButton(){return this.props.filters&&this.props.filters.component?a().createElement(i.Button,{active:this.props.filters.active,"aria-label":"Filter",basic:!0,icon:"filter",onClick:this.onFilterButton.bind(this)}):null}renderFilterModal(){if(!this.props.filters||!this.state.modalFilter)return null;const{component:e,props:t}=this.props.filters;return a().createElement(T,V({},t,{component:e,onClose:()=>this.setState({modalFilter:!1}),onSave:this.onSaveFilter.bind(this)}))}renderFooter(){let e=!1;const t=this.getButtons("bottom");t&&t.length&&(e=!0);const n=this.props.pages&&this.props.pages>1;n&&(e=!0);const r=this.props.count&&this.props.showRecordCount;return r&&(e=!0),e?a().createElement("div",{className:"footer"},a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,{textAlign:"left"},r?this.renderRecordCount():"",s().map(t,(e=>e.render()))),a().createElement(i.Grid.Column,{textAlign:"right"},n?this.renderPagination():""))):null}renderHeader(){let e=!1;const t=this.getButtons("top");t&&t.length&&(e=!0);const{filters:n,perPageOptions:r,renderListHeader:o,renderSearch:l}=this.props;(n||r||o||l)&&(e=!0);const c=n&&n.showLabels&&!s().isEmpty(n.props.item.filters);return e?a().createElement("div",{className:"header"},a().createElement(i.Grid,{className:c?"filter-labels":void 0,verticalAlign:"top"},a().createElement(i.Grid.Row,{columns:2},a().createElement(i.Grid.Column,{textAlign:"left"},s().map(t,this.renderButton.bind(this))),a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(i.Menu,{compact:!0,borderless:!0,secondary:!0,className:"flex-end-menu"},o&&a().createElement(i.Menu.Menu,{className:"list-header-menu"},o()),a().createElement(i.Menu.Menu,null,n&&this.renderFilterButton()),r&&a().createElement(i.Menu.Menu,{className:"per-page-menu"},this.renderPerPage()),a().createElement(i.Menu.Menu,null,l&&l())))),c&&a().createElement(i.Grid.Row,{columns:1},a().createElement(i.Grid.Column,null,a().createElement(U,{filters:n.props.item.filters,onClear:()=>n.onChange({filters:[]}),onClick:e=>this.onRemoveFilter(e)}))))):null}renderPagination(){return a().createElement(i.Pagination,{activePage:this.props.page,firstItem:null,lastItem:null,onPageChange:this.props.onPageChange.bind(this),size:"mini",totalPages:this.props.pages})}renderPerPage(){const{perPage:e}=this.props;return a().createElement(I,{basic:!0,icon:"list",onChange:this.props.onPerPageChange.bind(this),options:s().map(this.props.perPageOptions,(e=>({key:e,value:e,text:e}))),text:v.t("List.labels.perPage",{perPage:e}),value:e})}renderRecordCount(){const{count:e}=this.props;return a().createElement("p",{className:"record-count"},`${Number(e).toLocaleString()} ${v.t("List.record",{count:e})}`)}}).defaultProps={actions:[],addButton:{basic:!0,color:"green",location:"top"},buttons:[],className:"",filters:void 0,modal:void 0,page:1,pages:1,onColumnClick:()=>{},onCopy:void 0,onPageChange:()=>{},renderDeleteModal:void 0,renderSearch:void 0,sortColumn:void 0,sortDirection:void 0},t};function $(){return $=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$.apply(this,arguments)}const K=q((e=>{const t=(0,r.useCallback)((t=>{const n=s().filter(e.actions,(e=>!e.accept||e.accept(t)));return s().isEmpty(n)?null:a().createElement(i.Button.Group,null,s().map(n,((e,n)=>a().createElement(i.Button,{"aria-label":e.name,basic:!0,color:e.color,icon:e.icon,key:`${e.name}-${n}`,onClick:e.onClick&&e.onClick.bind(void 0,t),title:e.title}))))}),[e.actions]),n=(0,r.useCallback)((t=>e.selectable?a().createElement(i.Checkbox,{key:`select-checkbox-${t.id}`,className:"row-select-checkbox",onClick:(n,r)=>e.onRowSelect(r,t,n),checked:!!e.selectedRows.find((e=>e.id===t.id))}):null),[e.onRowSelect,e.selectable,e.selectedRows]);return a().createElement("div",{className:["accordion-data-list",e.className||""].join(" ")},a().createElement(c,{getChildItems:e.getChildItems,onItemToggle:t=>e.onItemToggle&&e.onItemToggle(t),renderItem:t=>e.renderItem(t),renderRight:e=>a().createElement(a().Fragment,null,t(e),n(e)),rootItems:e.rootItems,showToggle:t=>e.showToggle(t)}))}));var _=k((e=>{const t=(0,r.useMemo)((()=>e.getRootItems(e.items)),[e.items]),n=(0,r.useCallback)((t=>e.getChildItems(e.items,t)),[e.items]),o=(0,r.useRef)(),l=(0,r.useMemo)((()=>{const t=s().find(e.sort,{value:e.sortColumn});return t&&t.text}),[e.sort,e.sortColumn]),c=(0,r.useCallback)((t=>{if(!e.onSort)return;let n;t.value!==e.sortColumn&&(n=t.direction),e.onSort(t.value,n)}),[e.onSort,e.sortColumn]),d=(0,r.useCallback)((()=>s().isEmpty(e.sort)?null:a().createElement(i.Button.Group,{basic:!0,style:{fontSize:"inherit"}},a().createElement(i.Button,{"aria-label":"Sort by",content:l,icon:e.sortDirection===y?"sort alphabet up":"sort alphabet down",onClick:e=>o.current&&o.current.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Sort by toggle",className:"button icon",floating:!0,options:s().map(e.sort,(e=>({...e,onClick:()=>c(e)}))),ref:o,trigger:a().createElement(a().Fragment,null),value:e.sortColumn}))),[e.sort,e.sortColumn,e.sortDirection]);return(0,r.useEffect)((()=>{if(s().isEmpty(e.sort))return e.onInit();const{page:t}=e;let{sortColumn:n="",sortDirection:r=y}=e;if(!n){const t=s().first(e.sort);t&&(n=t.value,t.direction&&(r=t.direction))}return e.onSort(n,r,t)}),[]),a().createElement(K,$({},e,{renderListHeader:d,rootItems:t,getChildItems:n}))}));function Q(){return Q=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Q.apply(this,arguments)}class W extends r.Component{constructor(e){super(e),this.state={count:0,items:[],modalAdd:!1,modalDelete:!1,page:1,pages:1,saved:!1,searchQuery:"",selectedItem:null}}componentDidMount(){this.onSearch()}onAddButton(e){let t=e;this.props.modal&&this.props.modal.onAddItem&&(t=this.props.modal.onAddItem(e)),this.setState({modalAdd:!0,selectedItem:t})}onDelete(){const e=this.state.selectedItem;return this.props.onDelete(e).then((()=>{this.setState((t=>({modalDelete:!1,selectedItem:null,items:s().reject(t.items,(t=>t===e))})))}))}onDeleteButton(e){this.setState({modalDelete:!0,selectedItem:e})}onEditButton(e){this.setState({modalAdd:!0,selectedItem:e})}onCopyButton(e){let t;this.props.onCopy&&(t=this.props.onCopy(e),d.Object.isPromise(t)?t.then((e=>{this.setState({selectedItem:e,modalAdd:!0})})):(t=s().omit(e,"id","uid"),this.setState({selectedItem:t,modalAdd:!0})))}onItemToggle(e){!e.loaded&&this.props.lazyLoad&&this.onSearch(e.id).then((()=>{this.setState((t=>({items:s().map(t.items,(t=>t.id===e.id?{...t,loaded:!0}:t))})))}))}onPageChange(e,t){this.setState({page:t.activePage},(()=>this.onSearch()))}onSave(e){return this.props.onSave(e).then((t=>{this.setState((n=>({modalAdd:!1,selectedItem:!1,saved:!0,items:e.id?s().map(n.items,(e=>e.id===t.id?t:e)):[...n.items,t]})))}))}onSearch(e){return this.props.lazyLoad?this.props.onSearch(e,this.state.searchQuery).then((t=>{let{data:n}=t;const r=n[this.props.collectionName];this.setState((t=>e?{items:[...t.items||[],...r]}:{items:r}))})):this.props.onSearch(this.state.searchQuery,this.state.page).then((e=>{let{data:t}=e;const n=t[this.props.collectionName];if(this.setState({items:n}),this.props.showRecordCount&&this.setState({count:t.list.count}),this.props.pagination){const e=t.list.pages;this.setState({pages:e})}}))}onSearchChange(e,t){let{value:n}=t;this.setState({searchQuery:n})}render(){return a().createElement("div",{className:["accordion-list",this.props.className||""].join(" ")},a().createElement(i.Header,{className:"accordion-header"},a().createElement(i.Input,{"aria-label":"Search",autoFocus:!0,className:"search",icon:"search",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this)),onChange:this.onSearchChange.bind(this),size:"mini",type:"text",value:this.state.searchQuery}),this.renderHeaderAddButton(),this.props.buttons.map((e=>e.render()))),this.renderSubHeader(),a().createElement(c,{getChildItems:this.props.getChildItems.bind(this,this.state.items),onItemToggle:this.onItemToggle.bind(this),renderItem:this.props.renderItem.bind(this),renderRight:this.renderRight.bind(this),rootItems:this.props.getRootItems(this.state.items),showToggle:this.props.showToggle.bind(this)}),this.renderFooter(),this.renderAddModal(),a().createElement(i.Confirm,{content:v.t("AccordionList.deleteContent"),header:v.t("AccordionList.deleteHeader"),open:this.state.modalDelete,onCancel:()=>this.setState({modalDelete:!1,selectedItem:null}),onConfirm:this.onDelete.bind(this)}),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})))}renderAddButton(e){return this.props.canAddItem&&!this.props.canAddItem(e)?null:a().createElement(i.Button,{"aria-label":"Add",basic:!0,compact:!0,icon:"plus",onClick:this.onAddButton.bind(this,e)})}renderSelectAll(){if(!this.props.selectable&&!this.props.onSelectAll)return null;const e=this.props.selectedRows.map((e=>e.id)),t=(this.state.items?this.state.items:[]).reduce(((t,n)=>e.includes(n.id)?t:[...t,n]),[]);return a().createElement(i.Checkbox,{"aria-label":"Select All",onClick:(e,n)=>this.props.onSelectAll(n,t,this.state.items,e),checked:!t.length})}renderSubHeader(){return a().createElement("div",{className:"sub-header"},this.renderSelectAll())}renderAddModal(){if(!this.state.modalAdd||!this.props.modal)return null;const{component:e,props:t}=this.props.modal;return a().createElement(T,Q({component:e,item:this.state.selectedItem,onClose:()=>this.setState({modalAdd:!1,selectedItem:null}),onSave:this.onSave.bind(this)},t))}renderDeleteButton(e){return this.props.canDeleteItem&&!this.props.canDeleteItem(e)?null:a().createElement(i.Button,{"aria-label":"Delete",basic:!0,compact:!0,icon:"trash",onClick:this.onDeleteButton.bind(this,e)})}renderEditButton(e){return this.props.canEditItem&&!this.props.canEditItem(e)?null:a().createElement(i.Button,{"aria-label":"Edit",basic:!0,compact:!0,icon:"edit",onClick:this.onEditButton.bind(this,e)})}renderCopyButton(e){return this.props.canCopyItem&&!this.props.canCopyItem(e)?null:a().createElement(i.Button,{"aria-label":"Copy",basic:!0,compact:!0,icon:"copy",onClick:()=>this.onCopyButton(e)})}renderHeaderAddButton(){return!this.props.modal||this.props.hideAddRootButton?null:a().createElement(i.Button,{basic:!0,className:"add-button",content:v.t("Common.buttons.add"),icon:"plus",onClick:()=>this.setState({modalAdd:!0})})}renderRecordCount(){const e=this.state.count;return e?a().createElement("span",{className:"record-count"},`${Number(e).toLocaleString()} ${v.t("AccordionList.record",{count:e})}`):null}renderPagination(){return this.props.pagination?a().createElement(i.Pagination,{activePage:this.state.page,onPageChange:this.onPageChange.bind(this),size:"mini",totalPages:this.state.pages}):null}renderFooter(){return this.props.pagination||this.props.showRecordCount?a().createElement("div",{className:"footer"},a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,{textAlign:"left"},this.renderRecordCount()),a().createElement(i.Grid.Column,{textAlign:"right"},this.renderPagination()))):null}renderSelectCheckbox(e){if(!this.props.selectable)return null;const t=this.props.selectedRows.find((t=>t.id===e.id));return a().createElement(i.Checkbox,{"aria-label":"Select",key:`select-checkbox-${e.id}`,className:"row-select-checkbox",onClick:(t,n)=>this.props.onRowSelect(n,e,t),checked:!!t})}renderRight(e){return a().createElement(a().Fragment,null,a().createElement(i.Button.Group,null,this.renderAddButton(e),this.renderEditButton(e),this.renderCopyButton(e),this.renderDeleteButton(e)),this.renderSelectCheckbox(e))}}W.defaultProps={buttons:[],canAddItem:()=>!0,canDeleteItem:()=>!0,canEditItem:()=>!0,canCopyItem:()=>!1,className:"",lazyLoad:!0,modal:void 0,pagination:!1};var Y=W,X=e=>e.items&&e.items.length?a().createElement(i.Segment,{className:"selectize-header",textAlign:"left"},s().map(e.items,((t,n)=>a().createElement(i.Button,{className:"selected",content:e.renderItem(t),icon:e.isSelected(t)?"times circle outline":void 0,key:n,onClick:e.onItemClick.bind(void 0,t),primary:!0,size:"small"})))):null;function J(){return J=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},J.apply(this,arguments)}class Z extends r.Component{constructor(e){super(e),this.state={items:[],modalAdd:!1,saved:!1,searchQuery:"",selectedItem:null,selectedItems:e.selectedItems}}componentDidUpdate(e){this.props.open&&!e.open&&this.onSearch(),this.props.selectedItems!==e.selectedItems&&this.setState({selectedItems:this.props.selectedItems})}isSelected(e){return!!s().findWhere(this.state.selectedItems,{id:e.id})}onItemClick(e){this.props.isSelectable&&!this.props.isSelectable(e)||this.setState((t=>{let n;return n=this.isSelected(e)?s().filter(t.selectedItems,(t=>t.id!==e.id)):this.props.multiple?[...t.selectedItems,e]:[e],{selectedItems:n}}))}onItemSelection(e){this.state.selectedItem===e?this.setState({selectedItem:null},this.onItemClick.bind(this,e)):this.setState({selectedItem:e})}onItemToggle(e){e.loaded||this.onSearch(e.id).then((()=>{this.setState((t=>({items:s().map(t.items,(t=>t.id===e.id?{...t,loaded:!0}:t))})))}))}onSearch(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;return this.props.onSearch(e,this.state.searchQuery).then((t=>{let{data:n}=t;const r=n[this.props.collectionName];this.setState((t=>e?{items:[...t.items||[],...r]}:{items:r}))}))}onSearchChange(e,t){let{value:n}=t;this.setState({searchQuery:n})}render(){return a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{className:"accordion-selector",mountNode:e,open:this.props.open,size:"small"},a().createElement(i.Modal.Header,null,a().createElement(i.Grid,{columns:2,verticalAlign:"middle"},a().createElement(i.Grid.Column,{textAlign:"left",width:7},a().createElement(i.Header,{content:this.props.title?this.props.title:v.t("AccordionSelector.title")})),a().createElement(i.Grid.Column,{textAlign:"right",width:9},a().createElement(i.Input,{"aria-label":"Search",autoFocus:!0,icon:"search",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this)),onChange:this.onSearchChange.bind(this),size:"mini",type:"text",value:this.state.searchQuery}),this.renderAddButton()))),a().createElement(i.Modal.Content,null,a().createElement(X,{isSelected:e=>this.state.selectedItem===e,items:this.state.selectedItems,onItemClick:this.onItemSelection.bind(this),renderItem:this.props.renderItem.bind(this)}),a().createElement(c,{getChildItems:this.props.getChildItems.bind(this,this.state.items),onItemClick:this.onItemClick.bind(this),onItemToggle:this.onItemToggle.bind(this),renderItem:this.props.renderItem.bind(this),renderRight:this.renderRight.bind(this),rootItems:this.props.getRootItems(this.state.items),showToggle:this.props.showToggle.bind(this)}),this.renderAddModal(),this.state.saved&&a().createElement(f,{onDismiss:()=>this.setState({saved:!1}),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")}))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:this.props.onSave.bind(this,this.state.selectedItems),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:this.props.onClose.bind(this),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))))}renderAddButton(){return this.props.modal?a().createElement(i.Button,{basic:!0,className:"add-button",content:v.t("Common.buttons.add"),icon:"plus",onClick:()=>this.setState({modalAdd:!0})}):null}renderAddModal(){if(!this.state.modalAdd||!this.props.modal)return null;const{component:e,props:t,onSave:n}=this.props.modal;return a().createElement(T,J({component:e,onClose:()=>this.setState({modalAdd:!1,selectedItem:null}),onSave:e=>n(e).then((e=>this.setState({modalAdd:!1,saved:!0,searchQuery:"",selectedItems:[e]},this.onSearch.bind(this))))},t))}renderRight(e){return this.isSelected(e)?a().createElement(i.Icon,{color:"green",name:"check"}):null}}Z.defaultProps={isSelectable:void 0,modal:void 0,multiple:!1,open:!1,selectedItems:[],title:void 0};var ee=(0,w.withTranslation)()(Z),te=e=>a().createElement(i.Button.Group,{className:"arrow-buttons",vertical:!0},a().createElement(i.Button,{"aria-label":"Move Right",basic:!0,icon:"arrow right",onClick:e.onRight.bind(void 0)}),a().createElement(i.Button,{"aria-label":"Move Left",basic:!0,icon:"arrow left",onClick:e.onLeft.bind(void 0)})),ne=e=>{const[t,n]=(0,r.useState)(!1);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:e.centered,className:"audio-player",mountNode:r,open:e.open},a().createElement(i.Modal.Content,null,t&&a().createElement(i.Message,{content:v.t("AudioPlayer.errors.path.content",{path:e.src}),header:v.t("AudioPlayer.errors.path.header"),icon:"exclamation circle"}),a().createElement("audio",{controls:!0,onError:()=>n(!0),src:e.src})),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.close"),onClick:e.onClose})))))},re=require("zotero-api-client"),ae=n.n(re),oe=JSON.parse('{"artwork":{"medium":"artworkMedium"},"audioRecording":{"medium":"audioRecordingFormat","publisher":"label"},"bill":{"number":"billNumber","volume":"codeVolume","pages":"codePages"},"blogPost":{"publicationTitle":"blogTitle","type":"websiteType"},"bookSection":{"publicationTitle":"bookTitle"},"case":{"title":"caseName","date":"dateDecided","number":"docketNumber","volume":"reporterVolume","pages":"firstPage"},"computerProgram":{"publisher":"company"},"conferencePaper":{"publicationTitle":"proceedingsTitle"},"dictionaryEntry":{"publicationTitle":"dictionaryTitle"},"email":{"title":"subject"},"encyclopediaArticle":{"publicationTitle":"encyclopediaTitle"},"film":{"publisher":"distributor","type":"genre","medium":"videoRecordingFormat"},"forumPost":{"publicationTitle":"forumTitle","type":"postType"},"hearing":{"number":"documentNumber"},"interview":{"medium":"interviewMedium"},"letter":{"type":"letterType"},"manuscript":{"type":"manuscriptType"},"map":{"type":"mapType"},"patent":{"number":"patentNumber","date":"issueDate"},"podcast":{"number":"episodeNumber","medium":"audioFileType"},"preprint":{"type":"genre","publisher":"repository","number":"archiveID"},"presentation":{"type":"presentationType"},"radioBroadcast":{"publicationTitle":"programTitle","number":"episodeNumber","medium":"audioRecordingFormat","publisher":"network"},"report":{"number":"reportNumber","type":"reportType","publisher":"institution"},"statute":{"title":"nameOfAct","number":"publicLawNumber","date":"dateEnacted"},"thesis":{"type":"thesisType","publisher":"university"},"tvBroadcast":{"publicationTitle":"programTitle","number":"episodeNumber","medium":"videoRecordingFormat","publisher":"network"},"videoRecording":{"medium":"videoRecordingFormat","publisher":"studio"},"webpage":{"publicationTitle":"websiteTitle","type":"websiteType"}}');const se=["mimeType","linkMode","charset","md5","mtime","version","key","collections","relations","parentItem","contentType","filename","tags","creator","abstractNote","notes","rights","extra"],ie=["modified","filename","dateAdded","dateModified"],le=e=>{let t={},n=!1;try{t=JSON.parse(localStorage.getItem("zotero-bib-api-cache"))||{}}catch(e){}return e in t&&(n=Date.now()-t[e]<864e5),n||(t[e]=Date.now(),localStorage.setItem("zotero-bib-api-cache",JSON.stringify(t))),n},ce=async function(e){let t,n,r,a=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];try{const[a,o,s]=await Promise.all([ae()().itemTypes().get({cache:le("itemTypes")?"force-cache":"default"}),ae()().itemTypeFields(e).get({cache:le(`itemTypeFields-${e}`)?"force-cache":"default"}),ae()().itemTypeCreatorTypes(e).get({cache:le(`itemTypeCreatorTypes-${e}`)?"force-cache":"default"})]);t=a.getData(),n=o.getData(),r=s.getData()}catch(t){if(localStorage.removeItem("zotero-bib-api-cache"),a)return ce(e,!1);throw t}return{itemTypes:t,itemTypeFields:n,itemTypeCreatorTypes:r}};var de={getFieldsAndItem:(e,t,n)=>{if(!e||!t||!n)return{item:e,fields:[]};const r=e.itemType in oe&&oe[e.itemType]?.title||"title";let a=[{field:"itemType",localized:"Item Type"},t.find((e=>e.field===r)),{field:"creators",localized:"Creators"},...t.filter((e=>e.field!==r))].filter((e=>e&&!se.includes(e.field))).concat([t.find((e=>"abstractNote"===e.field)),t.find((e=>"extra"===e.field))]);if(["book","bookSection"].includes(e.itemType)){const t=a.findIndex((e=>"date"===e.field));a.splice(t+1,0,{field:"original-date",localized:"Original Date"});const n="extra"in e&&e.extra.match(/^original-date:\s*(.*?)$/);n&&s().extend(e,{"original-date":n[1],extra:e.extra.replace(/^original-date:\s*.*?$/,"")})}if(["webpage"].includes(e.itemType)){const t=a.findIndex((e=>"websiteType"===e.field));a.splice(t+1,0,{field:"publisher",localized:"Publisher"});const n="extra"in e&&e.extra.match(/^publisher:\s*(.*?)$/i);n&&s().extend(e,{publisher:n[1],extra:e.extra.replace(/^publisher:\s*.*?$/,"")})}return a=a.map((t=>({options:"itemType"===t.field?n:null,key:t.field,label:t.localized,readonly:ie.includes(t.field),processing:!1,value:t.field in e?e[t.field]:null}))),{item:e,fields:a}},getItemTypeMeta:ce,isUrl:e=>!!e.match(/^(https?:\/\/)?[-a-zA-Z0-9@:%._+~#=]{2,256}\.[a-z]{2,6}\b(\S*)$/i)};var me=e=>{const t=(0,r.useCallback)(((t,n,r)=>{let{value:a}=r;return e.onUpdate({...e.creator||{},[t]:a})}),[e.creator,e.onUpdate]),n=(0,r.useCallback)((t=>e.onUpdate({...e.creator||{},...t})),[e.creator,e.onUpdate]),o=(0,r.useMemo)((()=>a().createElement("label",null,a().createElement(i.Dropdown,{onChange:t.bind(void 0,"creatorType"),options:s().map(e.creatorTypes,(e=>({key:e.value,value:e.value,text:e.label}))),value:e.creator.creatorType}))),[e.creator.creatorType,e.creatorTypes]);return(0,r.useEffect)((()=>{s().has(e.creator,"nameType")||n({nameType:1})}),[e.creator,n]),(0,r.useEffect)((()=>{if(e.creator.name&&1===e.creator.nameType){const[t,r]=e.creator.name.split(" ");n({name:null,firstName:t,lastName:r})}else if((e.creator.firstName||e.creator.lastName)&&0===e.creator.nameType){const t=s().compact([e.creator.firstName,e.creator.lastName]).join(" ");n({firstName:null,lastName:null,name:t})}}),[e.creator.nameType]),a().createElement(i.Form.Group,{className:"creator-field"},1===e.creator.nameType&&a().createElement(a().Fragment,null,a().createElement(i.Form.Input,{className:"flex",label:o,onChange:t.bind(void 0,"firstName"),placeholder:v.t("CreatorField.labels.firstName"),value:e.creator.firstName}),a().createElement(i.Form.Input,{className:"flex",onChange:t.bind(void 0,"lastName"),placeholder:v.t("CreatorField.labels.lastName"),value:e.creator.lastName}),a().createElement(i.Form.Button,{icon:"exchange",onClick:()=>n({nameType:0})})),0===e.creator.nameType&&a().createElement(a().Fragment,null,a().createElement(i.Form.Input,{className:"flex",label:o,onChange:t.bind(void 0,"name"),placeholder:v.t("CreatorField.labels.name"),value:e.creator.name}),a().createElement(i.Form.Button,{icon:"exchange",onClick:()=>n({nameType:1})})),a().createElement(i.Form.Button,{icon:"plus",onClick:e.onAdd}),a().createElement(i.Form.Button,{disabled:!e.allowDelete,icon:"minus",onClick:e.onDelete}))},ue=e=>{const t=(0,r.useMemo)((()=>e.creatorTypes&&e.creatorTypes.length&&e.creatorTypes[0].value),[e.creatorTypes]),n=(0,r.useCallback)((()=>e.onChange([...e.value||[],{creatorType:t}])),[e.onChange,e.value]),o=(0,r.useCallback)((t=>e.onChange(s().filter(e.value,((e,n)=>n!==t)))),[e.onChange,e.value]),i=(0,r.useCallback)(((t,n)=>e.onChange(s().map(e.value,((e,r)=>r===t?n:e)))),[e.onChange,e.value]),l=(0,r.useCallback)((n=>s().findWhere(e.creatorTypes,{value:n.creatorType})?n:{...n,creatorType:t}),[e.creatorTypes,t]);return(0,r.useEffect)((()=>{n()}),[]),(0,r.useEffect)((()=>{e.value&&e.value.length&&e.onChange(s().map(e.value,l))}),[l,e.creatorTypes]),s().map(e.value,((t,r)=>a().createElement(me,{allowDelete:e.value.length>1,creator:t,creatorTypes:e.creatorTypes,key:r,onAdd:()=>n(),onDelete:()=>o(r),onUpdate:e=>i(r,e)})))},pe=e=>{const[t,n]=(0,r.useState)([]),[o,l]=(0,r.useState)([]),c=(0,r.useCallback)((n=>"itemType"===n.key?a().createElement(i.Form.Dropdown,{disabled:n.readonly,key:n.key,label:n.label,onChange:e.onTextInputChange.bind(void 0,n.key),options:s().map(n.options,(e=>({key:e.value,value:e.value,text:e.label}))),selectOnBlur:!1,selection:!0,value:e.item[n.key]||""}):"creators"===n.key?a().createElement(ue,{creatorTypes:t,key:n.key,onChange:t=>e.onSetState({[n.key]:t}),value:e.item[n.key]||[]}):"abstractNote"===n.key||"extra"===n.key?a().createElement(i.Form.TextArea,{disabled:n.readonly,key:n.key,label:n.label,onChange:e.onTextInputChange.bind(void 0,n.key),value:e.item[n.key]||""}):a().createElement(i.Form.Input,{disabled:n.readonly,key:n.key,label:n.label,onChange:e.onTextInputChange.bind(void 0,n.key),value:e.item[n.key]||""})),[t,e.item]);return(0,r.useEffect)((()=>{de.getItemTypeMeta(e.item.itemType).then((t=>{const r=s().map(t.itemTypes,(e=>({value:e.itemType,label:e.localized}))),a=s().map(t.itemTypeCreatorTypes,(e=>({value:e.creatorType,label:e.localized})));n(a);const o=de.getFieldsAndItem(e.item,t.itemTypeFields,r);l(o.fields)}))}),[e.item.itemType]),a().createElement(a().Fragment,null,s().map(o,c))},he=e=>a().createElement(i.Modal,{as:i.Form,centered:!1,open:!0},a().createElement(i.Modal.Header,{content:v.t("BibliographyModal.title")}),a().createElement(i.Modal.Content,null,a().createElement(pe,e)),e.children),ge=require("zotero-translation-client"),be=n.n(ge),ve=(0,r.createContext)(),Ee=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(""),{translateUrl:l}=(0,r.useContext)(ve),c=(0,r.useCallback)((t=>{const{ok:n}=t.response;n?e.onFind(t.items):e.onError()}),[e.onFind]),d=(0,r.useCallback)((()=>{n(!0);const e=new(be())({translateURL:l,persist:!1});de.isUrl(o)?e.translateUrl(o,{add:!1}).then(c).finally((()=>n(!1))):e.translateIdentifier(o,{add:!1}).then(c).finally((()=>n(!1)))}),[o]);return a().createElement("div",{className:"bibliography-search-input"},a().createElement(i.Input,{autoFocus:!0,disabled:t,onChange:(e,t)=>{let{value:n}=t;return s(n)},placeholder:v.t("BibliographySearchInput.labels.placeholder"),value:o}),a().createElement(i.Button,{className:"search-button",content:v.t("Common.buttons.search"),disabled:t,loading:t,onClick:d,primary:!0}))};const fe="ascending",Ce="descending";var ye=e=>{const t=(0,r.useRef)(),n=(0,r.useCallback)((t=>{const n=e.value===t.value&&e.direction===fe?Ce:fe;e.onChange({...t,direction:n})}),[e.direction,e.onChange,e.value]);return(0,r.useEffect)((()=>{if(!e.value){let t;t=e.defaultValue?s().findWhere(e.options,{value:e.defaultValue}):s().first(e.options),n(t)}}),[]),a().createElement(i.Button.Group,{basic:!0,className:"sort-selector",style:{fontSize:"inherit"}},a().createElement(i.Button,{"aria-label":"Sort by",content:e.text,icon:e.direction===fe?"sort alphabet up":"sort alphabet down",onClick:e=>t.current.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Sort",className:"button icon",floating:!0,options:s().map(e.options,(e=>({...e,onClick:()=>n(e)}))),ref:t,trigger:a().createElement(a().Fragment,null),value:e.value}))},Se=e=>{const{onStyleChange:t,style:n,styles:o}=(0,d.useCitationStyles)(e.value);return(0,r.useEffect)((()=>{n?.name&&n?.xml&&e.onChange(n.name,n.xml)}),[n]),a().createElement(i.Dropdown,{onChange:(e,n)=>{let{value:r}=n;return t(r)},options:s().map(o,(e=>{let{name:t,title:n}=e;return{key:t,value:t,text:n}})),search:!0,searchInput:{"aria-label":"Search styles"},selectOnBlur:!1,selection:!0,text:n?.title,value:n?.name||""})};function ke(){return ke=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ke.apply(this,arguments)}const we="author",De="date",Ie="title",Me=[{key:Ie,value:Ie,text:v.t("BibliographyList.sort.title")},{key:we,value:we,text:v.t("BibliographyList.sort.author")},{key:De,value:De,text:v.t("BibliographyList.sort.date")}],Te=q((e=>a().createElement(i.List,{divided:!0,relaxed:"very"},s().map(e.items,((t,n)=>a().createElement(i.List.Item,{as:i.Grid,columns:2,key:n,padded:!0},a().createElement(i.List.Content,{as:i.Grid.Column,textAlign:"left",verticalAlign:"middle",width:14},a().createElement(d.Citation,{item:t,locale:e.locale,style:e.style&&e.style.xml})),a().createElement(i.List.Content,{as:i.Grid.Column,textAlign:"right",verticalAlign:"middle",width:2},s().map(e.actions,((e,n)=>a().createElement(i.Button,{"aria-label":e.name,basic:!0,icon:e.icon,key:n,onClick:e.onClick.bind(void 0,t)}))))))))));var Ne=e=>{const[t,n]=(0,r.useState)(),[o,l]=(0,r.useState)(!1),[c,d]=(0,r.useState)(),[m,p]=(0,r.useState)({}),h=(0,r.useCallback)((e=>{const{id:t}=e||{},{uid:n=u()()}=e||{},r=s().omit(e,"id","uid","data");return s().extend(r,{creators:s().reject(e.creators,(e=>!(e.name||e.firstName||e.lastName)))}),{id:t,uid:n,data:r}}),[]),g=(0,r.useCallback)(((e,t)=>{let n;if(m===Ie)n=e.title;else if(m===we){const t=s().first(e.creators);n=t?.name||`${t?.lastName}, ${t?.firstName}`}else n=m===De?e.date:t;return n}),[]),b=(0,r.useMemo)((()=>{let t=s().chain(e.items).filter((e=>!e._destroy)).map((e=>({...s().omit(e,"data"),...e.data}))).value();return t=s().sortBy(t,g),m.direction===Ce&&(t=t.reverse()),t}),[g,m,e.items]),E=(0,r.useCallback)((()=>a().createElement(a().Fragment,null,a().createElement(Se,{onChange:(e,t)=>d({name:e,xml:t})}),a().createElement(ye,{direction:m.direction,onChange:e=>p(e),options:Me,text:m.text,value:m.value}))),[m,c]),C=(0,r.useCallback)((t=>Promise.resolve(e.onDelete(h(t)))),[h,e.onDelete]),y=(0,r.useCallback)((t=>Promise.resolve(e.onSave(h(t)))),[h,e.onSave]);return(0,r.useEffect)((()=>{fetch("https://raw.githubusercontent.com/citation-style-language/locales/master/locales-en-US.xml").then((e=>e.text())).then((e=>n(e)))}),[]),a().createElement(ve.Provider,{value:{translateUrl:e.translateUrl}},a().createElement("div",null,a().createElement(Ee,{onError:()=>l(!0),onFind:e=>s().map(e,y)}),a().createElement(Te,ke({},e,{actions:[{name:"edit"},{name:"delete"}],className:"bibliography-list",items:b,locale:t,modal:{component:he,props:{defaults:{itemType:"book"}}},onDelete:C,onSave:y,renderListHeader:E,style:c})),o&&a().createElement(f,{onDismiss:()=>l(!1),timeout:2500,type:f.MessageTypes.warning},a().createElement(i.Message.Header,{content:v.t("Common.messages.noResults")}))))},Pe=e=>{let t="times circle outline",n="red";return e.value&&(t="check circle outline",n="green"),a().createElement(i.Icon,{color:n,name:t})},xe=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(null);return(0,r.useEffect)((()=>{e.id?(e.onLoad(e.id,e.name).then((e=>s(e))).finally((()=>n(!1))),n(!0)):s(null)}),[e.id,e.name]),a().createElement(a().Fragment,null,a().createElement(i.Breadcrumb.Section,{active:e.active&&!e.id,as:e.as,to:`/${e.url}`},e.label),e.id&&a().createElement(i.Breadcrumb.Divider,{icon:"right chevron"}),t&&a().createElement(i.Loader,{active:!0,inline:!0}),o&&e.id&&a().createElement(i.Breadcrumb.Section,{active:e.active,as:e.as,to:`/${e.url}/${e.id}`},o))},Ae=e=>{const t=(0,r.useCallback)((e=>/^\d+$/.test(e)),[]),n=(0,r.useMemo)((()=>{const n=[],r=e.pathname.split("/").splice(1);for(let e=0;e<r.length;e+=1){const a=r[e],o=r[e+1],s=r.slice(0,e+1).join("/");if(!t(a)){const e={key:a,url:s,id:void 0};t(o)&&(e.id=o),n.push(e)}}return n}),[e.pathname]),o=(0,r.useCallback)((e=>e<n.length-1),[n]);return a().createElement(i.Breadcrumb,{size:"large"},s().map(n,((t,n)=>a().createElement(a().Fragment,null,a().createElement(xe,{active:!o(n),as:e.as,id:t.id,label:e.labels[t.key],name:t.key,onLoad:e.onLoad,url:t.url}),o(n)&&a().createElement(i.Breadcrumb.Divider,{icon:"right chevron"})))))},Be=e=>a().createElement(i.Button,{basic:!0,disabled:e.disabled,onClick:e.onClick.bind(void 0),size:"medium",type:"button"},v.t("Common.buttons.cancel"));const Le=e=>a().createElement(i.Button,{className:"color-button",onClick:e.onClick&&e.onClick.bind(void 0),style:{backgroundColor:e.color,cursor:e.onClick?"pointer":"default",height:e.height,width:e.width},title:"color-button"});Le.defaultProps={height:void 0,onClick:void 0,width:void 0};var Re=Le,ze=require("react-color");class Oe extends r.Component{constructor(e){super(e),this.state={selectedColor:e.color}}render(){return a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{className:"color-picker-modal",mountNode:e,onClose:this.props.onClose.bind(this),open:this.props.open},a().createElement(i.Modal.Content,null,a().createElement(ze.SketchPicker,{color:this.state.selectedColor,disableAlpha:!1,onChangeComplete:e=>this.setState({selectedColor:e})})),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:this.props.onSave.bind(this,this.state.selectedColor),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:this.props.onClose.bind(this),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))))}}var Fe=Oe;const je=e=>a().createElement(i.Label.Group,null,s().map(e.items,((e,t)=>a().createElement(i.Label,{content:e.label,key:t,onRemove:e.onClick}))),e.count&&e.count>e.items.length&&e.onShowMore&&a().createElement(i.Label,{as:i.Button,content:"+"+(e.count-e.items.length),onClick:e.onShowMore}));je.defaultProps={count:void 0,onShowMore:void 0};var He=je;const Ge=e=>a().createElement(i.Modal,{centered:!1,open:e.open},a().createElement(i.Modal.Header,{content:v.t("CurrentFacetsModal.title")}),a().createElement(i.Modal.Content,null,a().createElement(He,{items:e.items})),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.done"),onClick:e.onClose,primary:!0})));Ge.defaultProps={open:void 0};var Ue=Ge;const Ve=e=>{let{useCurrentRefinements:t,...n}=e;const[o,i]=(0,r.useState)(!1),{items:l}=t(n),c=(0,r.useMemo)((()=>s().flatten(s().map(l,(e=>s().map(e.refinements,(t=>({label:`${e.label}: ${t.label}`,onClick:()=>e.refine(t)}))))))),[l]),d=(0,r.useMemo)((()=>s().filter(c,((e,t)=>!n.limit||t<n.limit))),[c,n.limit]);return s().isEmpty(c)?null:a().createElement(a().Fragment,null,a().createElement(He,{count:c.length,items:d,onShowMore:()=>i(!0)}),a().createElement(Ue,{items:c,open:o,onClose:()=>i(!1)}))};Ve.defaultProps={limit:void 0};var qe=Ve,$e=e=>a().createElement("div",{className:"column-resize",onMouseDown:e.onMouseDown.bind(void 0),role:"presentation"}," "),Ke=require("react-dnd");const _e="vertical";var Qe=e=>{const{index:t,id:n,direction:o=_e}=e,s=(0,r.useRef)(null),[,l]=(0,Ke.useDrop)({accept:"any",hover(n,r){if(!s.current)return;const a=n.index,i=t;if(a===i)return;const l=s.current.getBoundingClientRect(),c=r.getClientOffset();let d,m;d=o===_e?(l.bottom-l.top)/2:(l.right-l.left)/2,m=o===_e?c.y-l.top:c.x-l.left,a<i&&m<d||a>i&&m>d||(e.onDrag(a,i),n.index=i)}}),[{isDragging:c},d]=(0,Ke.useDrag)({item:{type:"any",id:n,index:t},begin:()=>e.onDragStart&&e.onDragStart(),end:()=>e.onDragEnd&&e.onDragEnd(),collect:e=>({isDragging:e.isDragging()})});return d(l(s)),s&&s.current&&(s.current.style.opacity=c?0:1),a().createElement(i.Ref,{innerRef:s},e.children)};function We(){return We=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},We.apply(this,arguments)}function Ye(){return Ye=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ye.apply(this,arguments)}class Xe extends r.Component{constructor(e){super(e),this.state={resize:null,activePanel:null},this.initializeColumnRefs(),this.onClick=this.onPreventClick.bind(this),this.onMouseMove=this.onColumnResize.bind(this),this.onMouseUp=this.afterColumnResize.bind(this)}afterColumnResize(){this.state.resize&&d.Browser.isBrowser()&&(document.addEventListener("click",this.onClick,!0),this.setState({resize:void 0}))}initializeColumnRefs(){this.columnRefs={},s().each(this.props.columns,(e=>{this.columnRefs[e.name]=(0,r.createRef)()}))}componentDidMount(){d.Browser.isBrowser()&&(document.addEventListener("mousemove",this.onMouseMove),document.addEventListener("mouseup",this.onMouseUp))}componentDidUpdate(e){d.Object.isEqual(e.columns,this.props.columns)||this.initializeColumnRefs()}componentWillUnmount(){d.Browser.isBrowser()&&(document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("mouseup",this.onMouseUp))}getColumnCount(){let e=this.props.columns.length;return this.props.actions&&this.props.actions.length&&(e+=1),e}onColumnResize(e){const{resize:t}=this.state;if(t){const{columnRef:n,offset:r}=t;n.current.style.width=`${r+e.pageX}px`}}onPreventClick(e){e.stopPropagation(),d.Browser.isBrowser()&&document.removeEventListener("click",this.onClick,!0)}onSelectAll(e){let t;t=e?[...this.props.items||[]]:s().reject(this.props.items,this.props.isRowSelected.bind(this)),s().each(t,this.props.onRowSelect&&this.props.onRowSelect.bind(this))}render(){return a().createElement(i.Table,Ye({className:"data-table"},this.props.tableProps),a().createElement(i.Table.Header,null,a().createElement(i.Table.Row,null,this.renderSelectHeader(),this.props.columns.map(this.renderHeaderCell.bind(this)),this.renderActionsHeader())),a().createElement(i.Table.Body,null,this.props.items&&this.props.items.map(this.renderItem.bind(this)),this.renderEmptyTableRow(),this.renderLoading()))}renderActionButton(e,t,n){if(n.render)return n.render(e,t);const r=a().createElement(i.Button,{"aria-label":n.name,basic:!0,compact:!0,color:n.color,icon:n.icon,key:`${n.name}-${t}`,onClick:n.onClick&&n.onClick.bind(this,e),title:n.title});if(n.popup){const{content:e,title:t}=n.popup;return a().createElement(i.Popup,{content:e,header:t,hideOnScroll:!0,mouseEnterDelay:500,position:"top right",trigger:r})}return r}renderActions(e,t){if(!this.props.actions||!this.props.actions.length)return null;const n=this.props.actions.filter((t=>!t.accept||t.accept(e))).map((e=>{let t={};return"edit"===e.name?t={popup:{title:v.t("DataTable.actions.edit.title"),content:v.t("DataTable.actions.edit.content")}}:"copy"===e.name?t={popup:{title:v.t("DataTable.actions.copy.title"),content:v.t("DataTable.actions.copy.content")}}:"delete"===e.name&&(t={popup:{title:v.t("DataTable.actions.delete.title"),content:v.t("DataTable.actions.delete.content")}}),s().defaults(e,t)}));return a().createElement(i.Table.Cell,{className:"actions-cell",key:t},n.map(this.renderActionButton.bind(this,e,t)))}renderActionsHeader(){return this.props.actions&&this.props.actions.length?a().createElement(i.Table.HeaderCell,null,v.t("DataTable.columns.actions")):null}renderCell(e,t){if(t.hidden)return null;let n;return n=t.render?t.render(e):t.resolve?t.resolve(e):e[t.name],a().createElement(i.Table.Cell,{key:`${e.id}-${t.name}`,className:t.className},n)}renderEmptyTableRow(){return this.props.loading||this.props.items&&this.props.items.length?null:this.props.renderEmptyRow?this.props.renderEmptyRow():a().createElement(i.Table.Row,null,a().createElement(i.Table.Cell,{colSpan:this.getColumnCount(),textAlign:"center"},a().createElement("div",{className:"empty-container"},this.props.renderEmptyMessage())))}renderHeaderCell(e){return e.hidden?null:e.renderHeader?e.renderHeader():a().createElement(i.Ref,{innerRef:this.columnRefs[e.name]},a().createElement(i.Table.HeaderCell,{key:e.name,sorted:this.props.sortColumn===e.name?this.props.sortDirection:null,onClick:()=>this.props.onColumnClick(e)},e.label,a().createElement($e,{onMouseDown:t=>{const n=this.columnRefs[e.name],r=n.current.offsetWidth-t.pageX;this.setState({resize:{columnRef:n,offset:r}})}})))}renderItem(e,t){const n=[this.renderSelectCheckbox(e,t),this.props.columns.map(this.renderCell.bind(this,e)),this.renderActions(e,t)];return this.props.renderItem?this.props.renderItem(e,t,n):a().createElement(a().Fragment,null,a().createElement(i.Table.Row,{key:t,onClick:this.props.expandableRows?t=>{"TD"===t.target.nodeName&&this.setState((t=>({activePanel:t.activePanel===e.id?"":e.id})))}:()=>{},className:this.props.expandableRows?"expandable":""},n),this.props.expandableRows&&a().createElement(i.Table.Row,{className:this.state.activePanel===e.id?"expanded-panel":"hidden"},this.props.expandPanel&&this.props.expandPanel(e,this.state.activePanel)))}renderLoading(){return this.props.loading?a().createElement(i.Table.Row,null,a().createElement(i.Table.Cell,{colSpan:this.getColumnCount(),textAlign:"center"},a().createElement(i.Loader,{active:!0,content:v.t("DataTable.loading"),inline:!0}))):null}renderSelectCheckbox(e,t){return this.props.selectable&&this.props.onRowSelect&&this.props.isRowSelected?a().createElement(i.Table.Cell,{className:"select-cell",key:`select-cell-${t}`},a().createElement(i.Checkbox,{onClick:this.props.onRowSelect.bind(this,e),checked:this.props.isRowSelected(e)})):null}renderSelectHeader(){if(!this.props.selectable)return null;const e=this.props.items&&this.props.items.length&&s().every(this.props.items,this.props.isRowSelected.bind(this));return a().createElement(i.Table.HeaderCell,{className:"select-cell"},a().createElement(i.Checkbox,{onClick:this.onSelectAll.bind(this,e),checked:e}))}}Xe.defaultProps={actions:void 0,addButton:{location:"top",color:"green"},buttons:[],count:0,className:"",expandableRows:!1,expandPanel:void 0,filters:void 0,items:[],loading:!1,modal:void 0,page:1,pages:1,onColumnClick:()=>{},onCopy:void 0,onPageChange:()=>{},renderDeleteModal:void 0,renderEmptyRow:void 0,renderSearch:void 0,renderItem:void 0,showRecordCount:!1,sortColumn:void 0,sortDirection:void 0};var Je,Ze,et=(Je=q(Xe),(Ze=class extends r.Component{constructor(e){super(e),this.state={columns:e.columns}}componentDidUpdate(e){d.Object.isEqual(e.columns,this.props.columns)||this.setState({columns:this.props.columns})}onColumnCheckbox(e){this.setState((t=>({columns:s().map(t.columns,(t=>t.name===e.name?{...t,hidden:!t.hidden}:t))})))}onDrag(e,t){this.setState((n=>{const r=[],a=[];s().each(n.columns,((e,t)=>{e.label&&e.label.length?r.push(e):a.push({index:t,column:e})}));const o=r[e];return r.splice(e,1),r.splice(t,0,o),s().each(a,(e=>r.splice(e.index,0,e.column))),{columns:r}}))}render(){return a().createElement(Je,We({},this.props,{className:`data-table-column-selector ${this.props.className}`,columns:this.state.columns,renderListHeader:this.renderHeader.bind(this)}))}renderHeader(){return a().createElement(a().Fragment,null,this.props.renderListHeader&&this.props.renderListHeader(),a().createElement(i.Dropdown,{"aria-label":"Select Columns",basic:!0,button:!0,icon:"cog",className:"icon configure-button open-right",closeOnBlur:!1},a().createElement(i.Dropdown.Menu,null,this.state.columns.filter((e=>e.label&&e.label.length)).map(((e,t)=>a().createElement(Qe,{id:e.name,index:t,key:e.name,onDrag:this.onDrag.bind(this)},a().createElement(i.Dropdown.Item,{"aria-dropeffect":"move",onClick:e=>e.stopPropagation()},a().createElement(i.Icon,{name:"bars"}),a().createElement(i.Checkbox,{"aria-label":"Select Column",checked:!e.hidden,label:e.label,onClick:this.onColumnCheckbox.bind(this,e)}))))))))}}).defaultProps={className:""},Ze),tt=require("axios"),nt=n.n(tt);function rt(){return rt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},rt.apply(this,arguments)}const at=e=>{const[t,n]=(0,r.useState)(!1),o=(0,r.useRef)(),s=(0,r.useCallback)((()=>n(!0)),[]),l=(0,r.useCallback)((()=>n(!1)),[]);return(0,r.useEffect)((()=>(o.current&&(o.current.addEventListener("mouseenter",s),o.current.addEventListener("mouseleave",l)),()=>{o.current&&(o.current.removeEventListener("mouseenter",s),o.current.removeEventListener("mouseleave",l))})),[o]),(0,r.useEffect)((()=>{o.current&&e.role&&o.current.setAttribute("role",e.role)}),[o,e.role]),a().createElement(i.Ref,{innerRef:o},a().createElement(i.Dropdown,rt({},e,{open:t,onClick:()=>{e.onClick&&e.onClick(),n(!1)}}),a().createElement(i.Dropdown.Menu,null,e.children)))};at.defaultProps={onClick:void 0};var ot=at;function st(){return st=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},st.apply(this,arguments)}var it=e=>{let{header:t,items:n,...o}=e;const l=(0,r.useCallback)(((e,t)=>a().createElement(i.Dropdown.Item,st({key:t},e))),[]),c=(0,r.useCallback)(((e,t)=>a().createElement(i.Menu.Item,st({key:t},e))),[]),d=(0,r.useCallback)(((e,t)=>a().createElement(ot,{"aria-label":e.content,item:!0,key:t,role:"group",text:e.content},s().map(e.items,(e=>e.items?d(e):l(e))))),[]),m=(0,r.useCallback)((e=>e.items?d(e):c(e)),[]);return a().createElement(i.Menu,st({},o,{className:"menu-bar"}),a().createElement(i.Menu.Item,st({},t,{header:!0})),s().map(n,(e=>m(e))))};function lt(){return lt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},lt.apply(this,arguments)}var ct=e=>{let{contextRef:t,header:n,items:o,...l}=e;const c=(0,r.useCallback)(((e,t)=>a().createElement(i.Menu.Item,{key:t},a().createElement(i.Menu.Header,e),a().createElement(i.Menu.Menu,null,s().map(e.items,(e=>m(e)))))),[]),d=(0,r.useCallback)(((e,t)=>a().createElement(i.Menu.Item,lt({key:t},e))),[]),m=(0,r.useCallback)((e=>e.items?c(e):d(e)),[]);return a().createElement(i.Ref,{innerRef:t},a().createElement(i.Menu,lt({},l,{fixed:"left",vertical:!0}),a().createElement(i.Menu.Item,null,a().createElement(i.Header,n)),s().map(o,(e=>m(e)))))};function dt(){return dt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},dt.apply(this,arguments)}const mt=k((e=>{const[t,n]=(0,r.useState)(),o=(0,r.useCallback)((e=>{const r={...e};t&&t.value===e.value&&(r.direction=t.direction===S?y:S),n(r)}),[e.sorts,t]);return(0,r.useEffect)((()=>{t&&e.onSort(t.value,t.direction,e.page)}),[t]),(0,r.useEffect)((()=>{const{page:t}=e;let{sortColumn:n="",sortDirection:r=y}=e;if(!n){const t=s().first(e.sort);t&&(n=t.value,t.direction&&(r=t.direction))}e.onSort(n,r,t)}),[]),a().createElement(et,dt({},e,{renderListHeader:()=>e.sorts&&a().createElement(I,{basic:!0,icon:t&&t.direction===S?"sort alphabet down":"sort alphabet up",onChange:()=>{},options:s().map(e.sorts,(e=>({key:e.value,value:e.value,text:e.label,onClick:()=>o(e)}))),text:t?v.t("DataView.labels.sortBy",{column:t.label}):v.t("DataView.labels.noSort"),value:t&&t.value}),tableProps:{...e.tableProps||{},celled:!0}}))})),ut=e=>{const[t,n]=(0,r.useState)(),[o,l]=(0,r.useState)(),[c,d]=(0,r.useState)([]),[m,u]=(0,r.useState)([]),[p,h]=(0,r.useState)(),[g,b]=(0,r.useState)(),E=(0,r.useRef)(),f=(0,r.useMemo)((()=>{let e="";return t&&(e=t.url.substr(t.url.lastIndexOf("/")+1,t.url.length)),e}),[t]),C=(0,r.useCallback)((n=>{if(!t)return[];const r=s().chain(n).map((e=>s().keys(e))).flatten().uniq().value();let a=s().map(r,((n,r)=>{const a=s().findWhere(t.columns,{name:n})||{},o={name:n,label:n.trim().replace(/^\w/,(e=>e.toUpperCase())).replaceAll("_"," "),sortable:!1,resolve:e=>k(e,n),hidden:r>e.columnCount,index:r};return s().extend(o,a)}));return a=[...a,...s().reject(t.columns,(e=>s().contains(r,e.name)))],s().sortBy(a,"index")}),[t]),y=(0,r.useCallback)((e=>{t&&nt().get(`${t.url}/${e.id}`).then((e=>{let{data:t}=e;const n=s().first(s().keys(t));l(t[n])})).catch((()=>{l(e)}))}),[t]),S=(0,r.useCallback)((e=>{let n;return n=t?nt().get(t.url,{params:e}).then((e=>{const t=e.data[f];return d(C(t)),e})):Promise.resolve(),n}),[t]),k=(0,r.useCallback)(((e,t)=>{let n=e[t];return s().isArray(n)?n=s().size(n):s().isBoolean(n)?n=Boolean(n).toString():s().isObject(n)&&(n=n[s().first(s().keys(n))]),n}),[]);return(0,r.useEffect)((()=>{if(s().every(e.items,(e=>!!e.group))){const r=s().groupBy(e.items,"group"),a=s().keys(r);u(s().map(a,(e=>({content:e,items:s().map(r[e],(e=>({active:t&&t.id===e.id,content:e.label,onClick:()=>n(e)})))}))))}else u(e.items)}),[t,e.items]),(0,r.useEffect)((()=>{e.items&&e.items.length&&n(s().first(e.items))}),[e.items]),(0,r.useEffect)((()=>{"left"===e.layout&&E&&E.current&&h(E.current.offsetWidth)}),[E,e.layout]),(0,r.useEffect)((()=>{const e=[];t&&e.push(t.id),c&&c.length&&e.push(...s().pluck(c,"name")),b(e.join(""))}),[t,c]),a().createElement("div",{className:"data-view"},"top"===e.layout&&a().createElement(it,{header:{content:e.title},items:m}),"left"===e.layout&&a().createElement(ct,{contextRef:E,header:{content:e.title},items:m}),a().createElement("div",{style:{marginLeft:p}},t&&a().createElement(mt,{actions:[{name:"details",icon:"info",onClick:y}],collectionName:f,columns:c,key:g,onLoad:S,perPageOptions:[10,25,50,100],searchable:!0,sorts:t.sorts})),o&&a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,{as:i.Form,centered:!1,className:"data-view-modal",closeIcon:!0,mountNode:e,onClose:()=>l(null),open:!0},a().createElement(i.Modal.Header,{content:v.t("DataView.labels.details")}),a().createElement(i.Modal.Content,null,a().createElement(i.Grid,{columns:3,doubling:!0},s().map(C([o]),(e=>a().createElement(i.Grid.Column,{as:i.Form.Field,key:e.name},a().createElement("span",{className:"label"},e.label),k(o,e.name))))))))))};ut.defaultProps={columnCount:5,layout:"left"};var pt=ut;function ht(){return ht=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ht.apply(this,arguments)}const gt=k((e=>{const t=d.Hooks.usePrevious(e.columns),n=t=>{if(!t.sortable)return;const n=t.name;let r=y;t.name===e.sortColumn?r=e.sortDirection===y?S:y:t.sortDirection&&(r=t.sortDirection),e.onSort(n,r)};return(0,r.useEffect)((()=>{if(!d.Object.isEqual(e.columns,t)){const{page:t,defaultSort:r,defaultSortDirection:a=y}=e;if(r)e.onSort(r,a,t);else{const t=s().findWhere(e.columns,{sortable:!0});t?n(t):e.onInit()}}}),[e.columns]),a().createElement(et,ht({},e,{onColumnClick:n.bind(void 0)}))}));gt.defaultProps={configurable:!0,tableProps:{celled:!0,sortable:!0}};var bt=gt;const vt=e=>{const[t,n]=(0,r.useState)([]),[o,i]=(0,r.useState)(),[l,c]=(0,r.useState)([]),d=(0,r.useRef)(),m=(0,r.useMemo)((()=>({getColumns:t=>nt().get(`${e.url}/api/columns`,{params:t}),getData:t=>nt().post(`${e.url}/api/search`,t),getTables:()=>nt().get(`${e.url}/api/tables`)})),[e.url]),u=(0,r.useCallback)(((e,t)=>{let n=t[e.column_name];const{data_type:r}=e;return n&&"timestamp without time zone"===r&&(n=new Date(n).toLocaleDateString()),n}),[]);(0,r.useEffect)((()=>{m&&m.getTables().then((e=>{let{data:t}=e;c(t),i(s().first(t))}))}),[m]),(0,r.useEffect)((()=>{o&&m.getColumns({table_name:o.table_name}).then((e=>{let{data:t}=e;return n(t)}))}),[o,m]);const p=(0,r.useMemo)((()=>s().map(t,((t,n)=>({name:t.column_name,label:t.column_name,resolve:u.bind(void 0,t),sortable:!0,hidden:n>e.columnCount})))),[t,u,e.columnCount]);return a().createElement("div",{className:"database-view"},a().createElement(ct,{contextRef:d,header:{content:e.title,inverted:!0},inverted:!0,items:[{items:s().map(l,(e=>({active:o===e,content:e.table_name,onClick:()=>i(e)})))}],style:{overflow:"auto",width:"250px"}}),a().createElement("div",{style:{marginLeft:"250px"}},o&&a().createElement(bt,{collectionName:"items",columns:p,onLoad:e=>m.getData({...e,table_name:o.table_name}),perPageOptions:[10,25,50,100],searchable:!0})))};vt.defaultProps={columnCount:Number.MAX_SAFE_INTEGER};var Et=vt,ft=require("react-calendar"),Ct=n.n(ft);const yt=e=>{const[t,n]=(0,r.useState)(!1),o=(0,r.useRef)(null),s=e=>{const t=o.current;t&&!t.contains(e.target)&&n(!1)};return(0,r.useEffect)((()=>(document.addEventListener("mousedown",s),()=>document.removeEventListener("mousedown",s))),[o]),a().createElement(a().Fragment,null,a().createElement(A,{formatOptions:e.formatOptions,locale:e.locale,onChange:e.onChange.bind(void 0),onClick:()=>n(!0),value:e.value}),a().createElement(i.Transition,{visible:t},a().createElement("div",{ref:o,style:{position:"absolute",zIndex:"999"}},a().createElement(Ct(),{locale:e.locale,onChange:t=>{e.onChange(t),e.closeOnSelection&&n(!1)},next2AriaLabel:"Next Year",next2Label:a().createElement(i.Icon,{name:"angle double right"}),nextAriaLabel:"Next Month",nextLabel:a().createElement(i.Icon,{name:"chevron right"}),prev2AriaLabel:"Previous Year",prev2Label:a().createElement(i.Icon,{name:"angle double left"}),prevAriaLabel:"Previous Month",prevLabel:a().createElement(i.Icon,{name:"chevron left"}),value:e.value}))))};yt.defaultProps={closeOnSelection:!0};var St=yt;const kt=e=>a().createElement(i.Popup,{className:e.className,content:e.popupContent,hoverable:!0,mouseEnterDelay:e.delayInterval,trigger:e.renderPopup?e.renderPopup():a().createElement("span",{className:"text"},e.content),wide:!0});kt.defaultProps={delayInterval:1e3,renderPopup:void 0,popupContent:void 0};var wt=kt,Dt=e=>{const t=(0,r.useMemo)((()=>{const t=["ui","button"];return e.basic&&t.push("basic"),e.className&&t.push(...e.className.split(" ")),e.color&&t.push(e.color),e.compact&&t.push("compact"),e.primary&&t.push("primary"),e.secondary&&t.push("secondary"),e.size&&t.push(e.size),t.join(" ")}),[e.basic,e.color]);return a().createElement("a",{className:t,download:e.filename||u()(),href:e.url},a().createElement(i.Icon,{name:"cloud download"}),v.t("Common.buttons.download"))},It=e=>a().createElement(i.Button,{onClick:e.onClick.bind(void 0),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save"),e.saving&&a().createElement(i.Loader,{active:!0,className:"saving",inline:!0,size:"tiny"}));function Mt(){return Mt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Mt.apply(this,arguments)}class Tt extends r.Component{constructor(e){super(e),this.state={currentTab:"",showToaster:!1}}componentDidMount(){if(this.props.menu){const e=s().first(this.props.menu.items);this.setState({currentTab:e&&e.key})}}componentDidUpdate(e){s().isEmpty(this.props.errors)||s().isEmpty(e.errors)||e.errors===this.props.errors||this.setState({showToaster:!0})}onSave(){return this.setState({showToaster:!0}),this.props.onSave()}render(){return a().createElement(i.Dimmer.Dimmable,{as:"div",className:`edit-page ${this.props.className||""}`},this.renderLoading(),a().createElement(i.Form,{noValidate:!0},this.renderMenu(),this.renderButtons(),this.renderComponent(),this.renderToaster()))}renderButtons(){return this.props.menu?null:a().createElement("div",{className:"button-container"},a().createElement(It,{onClick:this.onSave.bind(this),saving:this.props.saving}),a().createElement(Be,{disabled:this.props.saving,onClick:this.props.onClose.bind(this)}))}renderComponent(){const e=this.props.component;return a().createElement(e,Mt({},this.props,{currentTab:this.state.currentTab}))}renderLoading(){return this.props.showLoading&&this.props.loading?a().createElement(i.Dimmer,{active:this.props.loading,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})):null}renderMenu(){return this.props.menu?a().createElement(i.Menu,s().omit(this.props.menu,"items"),this.props.menu&&s().map(this.props.menu.items,(e=>a().createElement(i.Menu.Item,{active:e.key===this.state.currentTab,key:e.key,name:e.name,onClick:()=>this.setState({currentTab:e.key})}))),a().createElement(i.Menu.Menu,{position:"right"},a().createElement(i.Menu.Item,null,a().createElement(It,{onClick:this.onSave.bind(this),saving:this.props.saving}),a().createElement(Be,{disabled:this.props.saving,onClick:this.props.onClose.bind(this)})))):null}renderToaster(){return this.state.showToaster&&this.props.errors&&this.props.errors.length?a().createElement(f,{onDismiss:()=>this.setState({showToaster:!1}),timeout:0,type:f.MessageTypes.negative},a().createElement(i.Message.Header,{content:v.t("Common.messages.error.header")}),a().createElement(i.Message.List,{items:this.props.errors})):null}}Tt.defaultProps={showLoading:!0};var Nt=(0,d.useEditContainer)(Tt);function Pt(){return Pt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Pt.apply(this,arguments)}const xt="ascending",At="descending";class Bt extends r.Component{constructor(e){super(e),this.state={sortColumn:null,sortDirection:null}}componentDidMount(){let e;e=this.props.defaultSort?s().findWhere(this.props.columns,{name:this.props.defaultSort}):s().find(this.props.columns,(e=>!1!==e.sortable)),e&&this.onColumnClick(e,this.props.defaultSortDirection)}getItems(){const{items:e}=this.props,{sortColumn:t,sortDirection:n}=this.state;return s().orderBy(s().filter(e,(e=>!e._destroy)),t,n)}onColumnClick(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:xt;if(this.props.onDrag)return;if(!1===e.sortable)return;const n=e.name;let r=t||xt;e.name===this.state.sortColumn&&(r=this.state.sortDirection===xt?At:xt),this.setState({sortColumn:n,sortDirection:r})}onDelete(e){return this.props.onDelete(e),Promise.resolve()}onSave(e){const t=e.uid?e.uid:u()();return this.props.onSave&&this.props.onSave({...e,uid:t}),Promise.resolve()}render(){return a().createElement(et,Pt({},this.props,{actions:this.props.actions,addButton:this.props.addButton,buttons:this.props.buttons,className:`embedded-list ${this.props.className?this.props.className:""}`,configurable:this.props.configurable,columns:this.props.columns,count:this.props.items.length,items:this.getItems(),modal:this.props.modal,onColumnClick:this.onColumnClick.bind(this),onCopy:this.props.onCopy,onDrag:this.props.onDrag,onDelete:this.onDelete.bind(this),onSave:this.onSave.bind(this),renderDeleteModal:this.props.renderDeleteModal,renderEmptyRow:this.props.renderEmptyRow,renderItem:this.renderItem.bind(this),sortColumn:this.state.sortColumn,sortDirection:this.state.sortDirection,tableProps:{celled:!0,sortable:!this.props.onDrag},selectable:this.props.selectable,onRowSelect:this.props.onRowSelect,selectedRows:this.props.selectedRows,showRecordCount:this.props.showRecordCount}))}renderItem(e,t,n){if(this.props.onDrag){const r=e.id||e.uid;return a().createElement(Qe,{id:r,index:t,item:e,key:r,onDrag:this.props.onDrag.bind(this)},a().createElement(i.Table.Row,null,n))}return a().createElement(i.Table.Row,{key:t},n)}}s().mixin({orderBy:(e,t,n)=>{if(!t)return e;const r=s().property(t.split("."));let a=s().sortBy(e,(e=>r(e)));return n===At&&(a=a.reverse()),a}}),Bt.defaultProps={items:[],addButton:{location:"top"},buttons:[],className:"",configurable:!0,modal:void 0,onCopy:void 0,onDrag:void 0,onSave:()=>{},renderDeleteModal:void 0,renderEmptyRow:void 0};var Lt=Bt;const Rt=e=>{const[t,n]=(0,r.useState)(e.defaultActive),o=(0,r.useMemo)((()=>{const t=["facet"];return e.visible||t.push("hidden"),e.className&&t.push(e.className),t.join(" ")}),[e.className,e.visible]);return(0,r.useImperativeHandle)(e.innerRef,(()=>({collapse:()=>n(!1),expand:()=>n(!0)}))),a().createElement(a().Fragment,null,a().createElement(i.Accordion,{className:o},a().createElement(i.Accordion.Title,{active:t,index:0,onClick:()=>n((e=>!e))},a().createElement("div",{className:"facet-title"},a().createElement(i.Header,{content:e.title,size:"tiny"}),a().createElement(i.Icon,{name:"dropdown"}))),a().createElement(i.Accordion.Content,{active:t},e.children)),e.divided&&a().createElement(i.Divider,null))};Rt.defaultProps={children:void 0,defaultActive:!0,divided:!1,visible:!0};var zt=Rt;function Ot(){return Ot=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ot.apply(this,arguments)}var Ft=e=>{let{useClearRefinements:t,...n}=e;const{refine:r,canRefine:o}=t(n);return a().createElement(i.Button,Ot({},n,{disabled:!o,onClick:()=>r()}))},jt=e=>a().createElement(i.Button,{basic:!0,className:"link-button",compact:!0,content:e.content,onClick:e.onClick.bind(void 0),type:"button"});const Ht="or",Gt=(0,r.forwardRef)(((e,t)=>{let{useRefinementList:n,...o}=e;const[l,c]=(0,r.useState)(o.defaultOperator||Ht),{canRefine:m,canToggleShowMore:u,isShowingMore:p,items:h,refine:g,searchForItems:b,toggleShowMore:E}=n({...o,operator:l}),f=(0,r.useRef)(),[C,y]=(0,r.useState)(""),S=(0,r.useCallback)((()=>{y(""),b();const{current:e}=f;e&&e.focus()}),[]),k=(0,r.useCallback)((()=>b(C)),[C,b]),w=(0,r.useCallback)((()=>{c((e=>e===Ht?"and":Ht))}),[]),D=(0,r.useMemo)((()=>!(m&&s().isEmpty(h)&&s().isEmpty(C))),[h,C]);return(0,r.useEffect)((()=>{o.defaultValue&&g(o.defaultValue)}),[o.defaultValue]),(0,r.useEffect)((()=>{C&&b(C)}),[h]),a().createElement(zt,{className:"facet-list",defaultActive:o.defaultActive,divided:o.divided,innerRef:t,title:o.title,visible:D},o.searchable&&a().createElement(i.Input,{icon:C&&a().createElement(i.Icon,{link:!0,name:"times",onClick:S}),fluid:!0,onChange:(e,t)=>{let{value:n}=t;return y(n)},onKeyDown:()=>d.Timer.clearSearchTimer(),onKeyUp:()=>d.Timer.setSearchTimer(k),placeholder:v.t("FacetList.labels.search"),ref:f,value:C}),a().createElement(i.List,{className:"facet-list"},s().map(h,((e,t)=>a().createElement(i.List.Item,{key:t},a().createElement(i.Checkbox,{checked:e.isRefined,label:{children:a().createElement(a().Fragment,null,a().createElement("span",null,e.label),a().createElement(i.Label,{circular:!0,content:e.count,size:"small"}))},onClick:()=>g(e.value)}))))),u&&a().createElement(a().Fragment,null,a().createElement(i.Icon,{name:p?"angle up":"angle down"}),a().createElement(jt,{content:p?v.t("FacetList.buttons.showLess"):v.t("FacetList.buttons.showMore"),onClick:()=>E()})),o.toggleable&&a().createElement(i.Checkbox,{className:"toggleable",checked:"and"===l,label:l===Ht?v.t("FacetList.labels.matchAny"):v.t("FacetList.labels.matchAll"),onChange:w,toggle:!0}))}));Gt.defaultProps={...zt.defaultProps,defaultOperator:Ht};var Ut=Gt,Vt=require("rc-slider"),qt=n.n(Vt);require("rc-slider/assets/index.css");const $t=(0,r.forwardRef)(((e,t)=>{let{useRangeSlider:n,...o}=e;const{start:s,range:l,refine:c}=n(o),[d,m]=(0,r.useState)([l.min,l.max]),u=(0,r.useMemo)((()=>0===l.min&&0===l.max),[l.min,l.max]);return(0,r.useEffect)((()=>{s[0]<=l.min&&s[1]>=l.max&&m([l.min,l.max])}),[l,s]),a().createElement(zt,{defaultActive:o.defaultActive,divided:o.divided,innerRef:t,title:o.title,visible:u},a().createElement("div",{className:"facet-slider"},a().createElement("div",{className:"range-container"},a().createElement(qt(),{allowCross:!1,defaultValue:s,max:l.max,min:l.min,onAfterChange:e=>c(e),onChange:e=>m(e),range:!0,value:d})),a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,null,d[0]),a().createElement(i.Grid.Column,{textAlign:"right"},d[1]))))}));$t.defaultProps=zt.defaultProps;var Kt=$t;const _t=(0,r.forwardRef)(((e,t)=>{let{useToggleRefinement:n,...o}=e;const{value:{isRefined:s,count:l},refine:c}=n(o),d=(0,r.useMemo)((()=>!!l),[l]);return a().createElement(zt,{defaultActive:o.defaultActive,divided:o.divided,innerRef:t,title:o.title,visible:d},a().createElement(i.Checkbox,{checked:s,label:{children:a().createElement(i.Label,{circular:!0,content:l,size:"small"})},onClick:()=>c({isRefined:s}),toggle:!0}))}));_t.defaultProps=zt.defaultProps;var Qt=_t;function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Wt.apply(this,arguments)}const Yt=e=>{let{onSelection:t,multiple:n,...o}=e;const s=(0,r.useRef)();return a().createElement(a().Fragment,null,a().createElement(i.Button,Wt({},o,{onClick:()=>s.current&&s.current.click()})),a().createElement("input",{ref:s,type:"file",multiple:n,onChange:e=>t((e=>{const t=[];for(let n=0;n<e.length;n+=1)t.push(e.item(n));return t})(e.target.files)),style:{display:"none"}}))};Yt.defaultProps={multiple:!1};var Xt=Yt;class Jt extends r.Component{constructor(e){super(e),this.state={errors:null},this.fileInput=(0,r.createRef)(),this.filePattern=this.props.fileTypes&&new RegExp(`(.*?)\\.${this.props.fileTypes.join("|")}$`)}onClickDropzone(){this.fileInput.current.click()}onDropFiles(e){e.preventDefault();const t=this.toArray(e.dataTransfer.files);this.validate(t).length===t.length&&this.props.onFilesAdded(t)}onFilesAdded(e){e.preventDefault();const t=this.toArray(e.target.files);this.validate(t).length===t.length&&this.props.onFilesAdded(t)}render(){return a().createElement("div",{className:"file-upload"},a().createElement(i.Message,{error:!0,header:v.t("Common.errors.title"),hidden:!(this.state.errors&&this.state.errors.length),visible:this.state.errors&&this.state.errors.length,onDismiss:()=>this.setState({errors:null}),list:this.state.errors}),a().createElement("div",{className:"file-dropzone",onClick:this.onClickDropzone.bind(this),onDragLeave:e=>{e.preventDefault()},onDragOver:e=>{e.preventDefault()},onDrop:this.onDropFiles.bind(this),onKeyDown:()=>{},role:"button",tabIndex:-1},a().createElement(i.Icon,{color:"blue",name:"cloud upload",size:"large"}),a().createElement("div",{className:"file-dropzone-text"},a().createElement(w.Trans,{i18nKey:"FileUpload.add"},a().createElement("span",{className:"link-text"},"Add files")," or drop files here")),a().createElement("input",{ref:this.fileInput,className:"file-input",type:"file",multiple:!0,onChange:this.onFilesAdded.bind(this)})))}toArray(e){const t=[];for(let n=0;n<e.length;n+=1)t.push(e.item(n));return t}validate(e){if(!this.props.maxSize&&!this.props.fileTypes)return e;const t=[],n=[];return s().each(e,(e=>{let r=!0;this.props.maxSize&&e.size>this.props.maxSize&&(r=!1,n.push(v.t("FileUpload.errors.maxSize",{name:e.name}))),this.filePattern&&!e.name.match(this.filePattern)&&(r=!1,n.push(v.t("FileUpload.errors.fileType",{name:e.name,type:/[^.]+$/.exec(e.name)}))),r&&t.push(e)})),this.setState({errors:n}),t}}var Zt=Jt;const en={pending:"pending",processing:"processing",complete:"complete",error:"error"},tn={[en.processing]:"black",[en.complete]:"green",[en.error]:"red"},nn={[en.pending]:"clock outline",[en.complete]:"checkmark",[en.error]:"warning circle"},rn={[en.pending]:"Pending",[en.processing]:"Processing",[en.complete]:"Complete",[en.error]:"Error"};var an=e=>{let{status:t=en.pending}=e;const n=(0,r.useMemo)((()=>tn[t]),[t]),o=(0,r.useMemo)((()=>nn[t]),[t]),s=(0,r.useMemo)((()=>rn[t]),[t]);return a().createElement(i.Label,{className:"file-upload-status",color:n},t===en.processing&&a().createElement(i.Loader,{active:!0,inline:!0,inverted:!0,size:"mini"}),o&&a().createElement(i.Icon,{name:o}),s)},on=e=>{const t=(0,r.useMemo)((()=>e.completed>0&&e.completed===e.total),[e.completed,e.total]),n=(0,r.useMemo)((()=>e.total>0?e.completed/e.total:0),[e.completed,e.total]),o=(0,r.useMemo)((()=>Number(n).toLocaleString(void 0,{style:"percent",minimumFractionDigits:0})),[n]);return a().createElement("div",{className:"file-upload-progress"},a().createElement(i.Icon,{color:"blue",name:"cloud upload",size:"big"}),a().createElement("div",{className:"progress-container"},a().createElement(i.Header,null,a().createElement(i.Header.Content,{content:o}),a().createElement(i.Header.Subheader,null,!(e.uploading||t)&&"Getting Started",e.uploading&&"Uploading...",t&&"Completed")),a().createElement(i.Progress,{color:"blue",percent:100*n})))};const sn="batch",ln="single",cn="error",dn=e=>{const[t,n]=(0,r.useState)([]),[o,l]=(0,r.useState)(0),[c,d]=(0,r.useState)(!1),[m,u]=(0,r.useState)({}),p=(0,r.useMemo)((()=>!!s().find(t,(e=>!s().isEmpty(e.errors)))),[t]),h=(0,r.useMemo)((()=>!!s().find(s().values(m),(e=>e===cn))),[m]),g=(0,r.useCallback)((t=>n((n=>[...n,...s().map(t,e.onAddFile)]))),[]),b=(0,r.useCallback)(((e,t,r,a)=>n((n=>s().map(n,(n=>n!==e?n:{...n,[t]:a.id,[r]:a,errors:s().without(e.errors,t)}))))),[]),E=(0,r.useCallback)((()=>e.onSave(t).then((()=>l(1)))),[t]),f=(0,r.useCallback)((()=>{d(!1),e.closeOnComplete&&e.onClose()}),[e.closeOnComplete,e.onClose]),C=(0,r.useCallback)((e=>n((t=>s().filter(t,(t=>t!==e))))),[]),y=(0,r.useCallback)(((e,t)=>u((n=>({...n,[e]:t}))))),S=(0,r.useCallback)((async()=>{for(let n=0;n<t.length;n+=1){const r=t[n];let a;y(n,"processing");try{await e.onSave(r)}catch(e){a=e}y(n,a?cn:"complete"),l((e=>e+1))}return Promise.resolve()}),[t,e.onSave]),k=(0,r.useCallback)(((e,t)=>n((n=>s().map(n,(n=>n!==e?n:{...n,...t,errors:[]}))))),[]),w=(0,r.useCallback)(((e,t,r,a)=>{let{value:o}=a;return n((n=>s().map(n,(n=>n!==e?n:{...n,[t]:o,errors:s().without(e.errors,t)}))))}),[]),D=(0,r.useCallback)(((e,t)=>n((n=>s().map(n,(n=>n!==e?n:{...n,...t}))))),[]),I=(0,r.useCallback)((t=>{const n=[];return s().each(s().keys(e.required),(e=>{const r=t[e];let a;a=s().isNumber(r)?s().isEmpty(r.toString()):s().isEmpty(r),a&&n.push(e)})),{...t,errors:n}}),[e.required]),M=(0,r.useCallback)((()=>new Promise(((e,r)=>{let a=!1;const o=s().map(t,(e=>{const t=I(e);return s().isEmpty(t.errors)||(a=!0),t}));n(o),a?r():e()}))),[t]),T=(0,r.useCallback)((()=>{d(!0),M().then((()=>e.strategy===sn?E():S())).finally(f)}),[E,f,S,M,e.strategy]),N=(0,r.useCallback)(((t,n)=>{if(s().isEmpty(t.errors))return null;const r=s().isEmpty(t.name)?n:t.name,o=s().map(t.errors,(t=>e.required[t])).join(", ");return a().createElement(i.Message.Item,{content:v.t("FileUploadModal.errors.required",{filename:r,fields:o}),key:n})}),[]),P=(0,r.useCallback)((t=>e.strategy!==ln?null:a().createElement(an,{status:m[t]})),[m,e.strategy]),x=(0,r.useMemo)((()=>e.headerComponent),[e.headerComponent]),A=(0,r.useMemo)((()=>e.itemComponent),[e.itemComponent]);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"serial-upload-modal",mountNode:r,open:!0},e.showPageLoader&&a().createElement(i.Dimmer,{active:c,inverted:!0},a().createElement(i.Loader,{content:v.t("FileUploadModal.loader")})),a().createElement(i.Modal.Header,null,e.strategy===sn&&v.t("FileUploadModal.title"),e.strategy===ln&&a().createElement(on,{completed:o,total:t.length,uploading:c})),a().createElement(i.Modal.Content,{scrolling:!0},p&&a().createElement(i.Message,{error:!0},a().createElement(i.Message.Header,{content:v.t("FileUploadModal.errors.header")}),a().createElement(i.Message.List,null,s().map(t,N))),h&&a().createElement(i.Message,{content:v.t("FileUploadModal.errors.upload.content"),header:v.t("FileUploadModal.errors.upload.header"),error:!0}),a().createElement(Zt,{onFilesAdded:g}),x&&a().createElement(x,{items:t,onSetItems:n,uploading:c}),a().createElement(i.Item.Group,{as:i.Form,divided:!0,noValidate:!0,relaxed:"very"},s().map(t,((t,n)=>a().createElement(A,{isError:e=>s().contains(t.errors,e),isRequired:t=>!(!e.required||!e.required[t]),item:t,key:n,onAssociationInputChange:b.bind(void 0,t),onDelete:C.bind(void 0,t),onSetState:k.bind(void 0,t),onTextInputChange:w.bind(void 0,t),onUpdate:D.bind(void 0,t),renderStatus:P.bind(void 0,n)}))))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.upload"),disabled:c||o>0||s().isEmpty(t),icon:"cloud upload",loading:c&&!e.showPageLoader,onClick:T,primary:!0}),a().createElement(i.Button,{content:o>0?v.t("Common.buttons.close"):v.t("Common.buttons.cancel"),disabled:c,onClick:e.onClose})))))};dn.defaultProps={closeOnComplete:!0,strategy:sn,showPageLoader:!0};var mn=dn,un=require("@react-google-maps/api");const pn=e=>{const t=d.Map.getPosition(e.position),[n,o]=(0,r.useState)(t||e.defaultCenter),[s,i]=(0,r.useState)(),l=(0,r.useMemo)((()=>{let n;return n=t?12:e.defaultZoom?e.defaultZoom:1,n}),[t,e.defaultZoom]),c=(0,r.useCallback)((t=>{let{latLng:n}=t;e.onDragEnd&&e.onDragEnd({lat:n.lat(),lng:n.lng()})}),[e.onDragEnd]),m=(0,r.useCallback)((e=>i(e)),[]);return(0,r.useEffect)((()=>{if(s&&t){const e=s.getBounds();e&&!e.contains(t)&&o(t)}}),[e.position]),a().createElement(un.GoogleMap,{center:n,mapContainerClassName:e.className,mapContainerStyle:e.containerStyle,onClick:c,onLoad:m,zoom:l},t&&a().createElement(un.Marker,{draggable:!!e.onDragEnd,onDragEnd:c,position:t,visible:!0}))};pn.defaultProps={containerStyle:{height:"400px"},defaultCenter:{lat:0,lng:0}};var hn=pn,gn=e=>{const[t,n]=(0,r.useState)(),o=(0,r.useCallback)((()=>{if(t){const n=s().first(t.getPlaces()),{location:r}=n.geometry,a=n.formatted_address,o=r.lat(),i=r.lng();e.onLocationSelection({name:a,lat:o,lng:i,result:n})}}),[t,e.onLocationSelection]);return a().createElement(un.StandaloneSearchBox,{onLoad:e=>n(e),onPlacesChanged:o},e.children)};const bn=e=>{const[t,n]=(0,r.useState)(0),[o,l]=(0,r.useState)(0),[c,d]=(0,r.useState)(0),[m,u]=(0,r.useState)(0),p=(0,r.useRef)(),h=(0,r.useMemo)((()=>({flex:`0 0 ${o/e.perPage-t}px`})),[o,t,e.perPage]),g=(0,r.useCallback)((function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=[];return t&&n.push(t),e&&n.push(e),n.join(" ")}),[]),b=(0,r.useCallback)((e=>{const t=p.current;if(t){const{clientWidth:r,scrollWidth:a}=t;l(r),u(Math.ceil(a/r)),e||d(0);const o=t.firstChild;if(o){const e=window.getComputedStyle(o),t=parseFloat(e.marginLeft)||0,r=parseFloat(e.marginRight)||0;n(t+r)}}}),[p,e.items]),v=(0,r.useCallback)((e=>{let t=c+e;t<0?t=m:t>=m&&(t=0),d(t)}),[c,m]);(0,r.useEffect)((()=>(window.addEventListener("resize",b),()=>window.removeEventListener("resize",b))),[]),(0,r.useEffect)((()=>b()),[b,e.items]),(0,r.useEffect)((()=>{const e=p.current;if(e){const{scrollWidth:t}=e;u(Math.ceil(t/o))}}),[o]),(0,r.useEffect)((()=>{const e=p.current;e&&e.scrollTo({left:c*o,behavior:"smooth"})}),[c,o]);const E=(0,r.useCallback)((t=>{const n=e.renderImage(t);return s().isString(n)||!n?a().createElement(i.Image,{alt:t.alt,className:"image-placeholder",src:n,style:{objectFit:"cover"}}):n}),[e.renderImage]);return a().createElement("div",{className:g(e.className,"horizontal-cards")},a().createElement(i.Ref,{innerRef:p},a().createElement(i.Card.Group,{className:g(e.cardsClassName)},s().map(e.items,((t,n)=>{let r=a().createElement(i.Card,{className:g(e.cardClassName),link:!0,onClick:e.onClick&&e.onClick.bind(void 0,t,n),style:h},!e.inlineImage&&E(t),(e.renderHeader||e.renderMeta||e.renderDescription)&&a().createElement(i.Card.Content,null,e.inlineImage&&E(t),e.renderHeader&&a().createElement(i.Card.Header,{as:i.Header,size:"small"},e.renderHeader(t)),e.renderMeta&&a().createElement(i.Card.Meta,null,e.renderMeta(t)),e.renderDescription&&a().createElement(i.Card.Description,null,e.renderDescription(t))),e.renderExtra&&a().createElement(i.Card.Content,{extra:!0},e.renderExtra(t)));if(e.onDrag){const o=t.id||t.uid;r=a().createElement(Qe,{direction:"horizontal",id:o,index:n,item:t,key:o,onDrag:e.onDrag},r)}return r}).bind(void 0)))),a().createElement("div",{className:"button-container"},m>1&&a().createElement("div",{className:"pagination"},a().createElement(i.Button,{"aria-label":"Left",basic:!0,circular:!0,icon:"angle left",onClick:v.bind(void 0,-1)}),a().createElement(i.Button,{"aria-label":"Right",basic:!0,circular:!0,icon:"angle right",onClick:v.bind(void 0,1)}))))};bn.defaultProps={perPage:4};var vn=bn,En=e=>{let{onClose:t,...n}=e;return a().createElement(i.Modal,{centered:!1,closeIcon:!0,onClose:t,open:!0},a().createElement(i.Modal.Content,null,a().createElement(d.IIIFViewer,n)))},fn=e=>{const[t,n]=(0,r.useState)(0),[o,s]=(0,r.useState)(!0),l=(0,r.useMemo)((()=>{let n;return e.images&&e.images.length>t&&(n=e.images[t]),n}),[t,e.images]),c=(0,r.useCallback)((r=>{const a=t+r;a>=0&&a<e.images.length&&(n(a),s(!1))}),[t,e.images]);return(0,r.useEffect)((()=>(document.body&&(document.body.style.overflow="hidden"),()=>{document.body&&(document.body.style.overflow="auto")})),[]),a().createElement(i.Dimmer,{active:!0,className:"image-carousel",page:!0},a().createElement(i.Grid,{padded:!0},a().createElement(i.Grid.Row,null,a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(i.Button,{icon:"times",onClick:e.onClose,size:"huge"}))),a().createElement(i.Grid.Row,{className:"image-content"},a().createElement(i.Grid.Column,null,e.images&&e.images.length>1&&a().createElement(i.Button,{disabled:0===t,icon:"chevron left",onClick:()=>c(-1),size:"massive"})),a().createElement(i.Grid.Column,{className:"image-container"},!o&&a().createElement(i.Loader,{active:!0}),a().createElement(i.Transition,{animation:"fade",duration:500,visible:o},a().createElement(i.Image,{src:l?.src,onLoad:()=>s(!0)}))),a().createElement(i.Grid.Column,null,e.images&&e.images.length>1&&a().createElement(i.Button,{disabled:t===e.images.length-1,icon:"chevron right",onClick:()=>c(1),size:"massive"}))),a().createElement(i.Grid.Row,null,a().createElement(i.Grid.Column,{textAlign:"center"},l?.caption))))};function Cn(){return Cn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Cn.apply(this,arguments)}const yn={list:0,grid:1};function Sn(){return Sn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Sn.apply(this,arguments)}class kn extends r.Component{getActions(e){return this.props.actions.filter((t=>!t.accept||t.accept(e))).map((e=>{let t={};return"edit"===e.name?t={basic:!0,label:v.t("ItemList.actions.edit")}:"copy"===e.name?t={basic:!0,label:v.t("ItemList.actions.copy")}:"delete"===e.name&&(t={basic:!0,color:"red",label:v.t("ItemList.actions.delete")}),s().defaults(e,t)}))}getClassName(){const e=["item-list"];return this.props.className&&e.push(this.props.className),e.join(" ")}getItemProps(e){return this.props.asProps&&this.props.asProps(e)||{}}isSelectable(){return!!(this.props.selectable&&this.props.isRowSelected&&this.props.onRowSelect)}render(){return a().createElement("div",{className:this.getClassName()},this.renderList(),this.renderGrid(),this.renderEmptyList(),this.props.children)}renderCard(e,t){const n=this.getActions(e);let r=a().createElement(i.Card,Sn({as:this.props.as,key:e.id||t,link:this.props.link},this.getItemProps(e)),this.props.renderImage&&this.props.renderImage(e),a().createElement(i.Card.Content,null,this.props.renderHeader&&a().createElement(i.Card.Header,null,this.props.renderHeader(e)),this.props.renderMeta&&a().createElement(i.Card.Meta,null,this.props.renderMeta(e)),this.props.renderDescription&&a().createElement(i.Card.Description,null,this.props.renderDescription(e))),this.props.renderExtra&&a().createElement(i.Card.Content,{extra:!0},this.props.renderExtra(e)),!s().isEmpty(n)&&a().createElement(i.Card.Content,{extra:!0,textAlign:"center"},s().map(n,((t,n)=>a().createElement(i.Button,{"aria-label":t.name,basic:!0,color:t.resolveColor?t.resolveColor(e):t.color,icon:t.resolveIcon?t.resolveIcon(e):t.icon,key:n,onClick:t.onClick.bind(this,e)}))),this.isSelectable()&&a().createElement(i.Button,{"aria-label":"Select",basic:!0,color:this.props.isRowSelected&&this.props.isRowSelected(e)?"green":void 0,icon:"checkmark",onClick:this.props.onRowSelect&&this.props.onRowSelect.bind(this,e)})));return this.props.onDrag&&(r=a().createElement(Qe,{id:e.id||e.uid,index:t,item:e,key:e.id||e.uid,onDrag:this.props.onDrag.bind(this)},r)),r}renderEmptyList(){return this.props.loading||this.props.items&&this.props.items.length?null:this.props.renderEmptyList?this.props.renderEmptyList():a().createElement(i.Segment,{className:"empty-list",padded:"very",textAlign:"center"},a().createElement(i.Header,{icon:!0},a().createElement(i.Icon,{name:"file outline"})),this.props.renderEmptyMessage())}renderGrid(){return this.props.view===yn.grid&&this.props.items&&this.props.items.length?a().createElement(i.Card.Group,null,s().map(this.props.items,this.renderCard.bind(this))):null}renderItem(e,t){let n=a().createElement(i.Item,Sn({as:this.props.as,key:e.id||t},this.getItemProps(e)),this.props.renderImage&&a().createElement(i.Item.Image,null,this.props.renderImage(e)),a().createElement(i.Item.Content,{className:"primary-content"},this.props.renderHeader&&a().createElement(i.Item.Header,null,this.props.renderHeader(e)),this.props.renderMeta&&a().createElement(i.Item.Meta,null,this.props.renderMeta(e)),this.props.renderDescription&&a().createElement(i.Item.Description,null,this.props.renderDescription(e)),this.props.renderExtra&&a().createElement(i.Item.Extra,null,this.props.renderExtra(e)),s().map(this.getActions(e),((t,n)=>a().createElement(i.Button,{basic:t.basic,color:t.resolveColor?t.resolveColor(e):t.color,content:t.resolveName?t.resolveName(e):t.label,key:n,icon:t.resolveIcon?t.resolveIcon(e):t.icon,onClick:t.onClick.bind(this,e)})))),this.props.renderAdditionalContent&&this.props.renderAdditionalContent(e),this.isSelectable()&&a().createElement("div",{className:"checkbox-container"},a().createElement(i.Checkbox,{checked:this.props.isRowSelected&&this.props.isRowSelected(e),onChange:this.props.onRowSelect&&this.props.onRowSelect.bind(this,e)})));return this.props.onDrag&&(n=a().createElement(Qe,{id:e.id||e.uid,index:t,item:e,key:e.id||e.uid,onDrag:this.props.onDrag.bind(this)},n)),n}renderList(){return this.props.view===yn.list&&this.props.items&&this.props.items.length?a().createElement(i.Item.Group,{divided:!0,link:this.props.link,relaxed:"very"},s().map(this.props.items,this.renderItem.bind(this))):null}}kn.defaultProps={actions:[]};var wn=(e=>{var t;return(t=class extends r.Component{constructor(e){super(e),this.state={view:e.defaultView||yn.list}}getSortValue(){const e=s().find(this.props.sort,{value:this.props.sortColumn});return e&&e.text}onSort(e){if(!this.props.onSort)return;let t;e.value!==this.props.sortColumn&&(t=e.direction),this.props.onSort(e.value,t)}render(){const t=this.props.hideToggle?void 0:this.renderHeader.bind(this);return a().createElement(e,Cn({},this.props,{renderListHeader:t,view:this.state.view}))}renderHeader(){return this.props.hideToggle?null:a().createElement(a().Fragment,null,a().createElement(i.Button,{active:this.state.view===yn.list,"aria-label":"List View",basic:!0,icon:"list",onClick:()=>this.setState({view:yn.list})}),a().createElement(i.Button,{active:this.state.view===yn.grid,"aria-label":"Grid View",basic:!0,icon:"grid layout",onClick:()=>this.setState({view:yn.grid})}),this.props.sort&&this.props.sort.length>1&&this.props.onSort&&a().createElement(i.Button.Group,{basic:!0,style:{fontSize:"inherit"}},a().createElement(i.Button,{"aria-label":"Sort by",content:this.getSortValue(),icon:this.props.sortDirection===y?"sort alphabet up":"sort alphabet down",onClick:e=>this.sortDropdown.handleClick(e)}),a().createElement(i.Dropdown,{"aria-label":"Sort",className:"button icon",floating:!0,options:s().map(this.props.sort,(e=>({...e,onClick:this.onSort.bind(this,e)}))),ref:e=>{this.sortDropdown=e},trigger:a().createElement(a().Fragment,null),value:this.props.sortColumn})))}}).defaultProps={hideToggle:!1,sort:[]},t})(q(kn));function Dn(){return Dn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Dn.apply(this,arguments)}class In extends r.Component{constructor(e){super(e),this.state={page:1}}getClassName(){const e=["item-collection"];return this.props.className&&e.push(this.props.className),e.join(" ")}getItems(){const e=this.state.page*this.props.perPage,t=this.props.items&&this.props.items.slice(0,e)||[];return s().filter(t,(e=>!e._destroy))}onBottomReached(){this.props.loading||this.setState((e=>({page:e.page+1})),(()=>{this.props.onBottomReached&&this.props.onBottomReached(this.state.page)}))}onDelete(e){return this.props.onDelete(e),Promise.resolve()}onSave(e){if(this.props.onSave){const t=e.uid?e.uid:u()();this.props.onSave({...e,uid:t})}return Promise.resolve()}render(){return a().createElement(d.InfiniteScroll,{context:this.props.context,offset:this.props.scrollOffset,onBottomReached:this.onBottomReached.bind(this)},a().createElement(wn,Dn({},this.props,{items:this.getItems(),className:this.getClassName(),onDelete:this.onDelete.bind(this),onSave:this.onSave.bind(this)}),a().createElement(i.Loader,{active:this.props.loading,content:v.t("Common.messages.loading")})))}}In.defaultProps={addButton:{location:"top"},buttons:[],className:"",configurable:!0,modal:void 0,onCopy:void 0,onDrag:void 0,onSave:()=>{},perPage:Number.MAX_SAFE_INTEGER,renderDeleteModal:void 0,renderEmptyRow:void 0,scrollOffset:0};var Mn=In;function Tn(){return Tn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Tn.apply(this,arguments)}const Nn=k((e=>{(0,r.useEffect)((()=>{const{page:t}=e;let{sortColumn:n="",sortDirection:r=y}=e;if(!n){const t=s().first(e.sort);t&&(n=t.value,t.direction&&(r=t.direction))}e.onSort(n,r,t)}),[]);const t=(0,r.useMemo)((()=>e.isRowSelected&&e.items&&e.items.length&&s().every(e.items,e.isRowSelected.bind(void 0))),[e.items,e.isRowSelected]),n=(0,r.useCallback)((()=>{if(e.items&&e.isRowSelected&&e.onRowSelect){let n;n=t?[...e.items]:s().reject(e.items,e.isRowSelected.bind(void 0)),s().each(n,e.onRowSelect.bind(void 0))}}),[t,e.isRowSelected,e.items,e.onRowSelect]);return a().createElement(a().Fragment,null,a().createElement(i.Dimmer,{active:e.loading,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})),a().createElement(wn,Tn({},e,{buttons:[...e.buttons||[],{accept:()=>e.selectable,color:"green",content:t?v.t("ItemList.buttons.deselectAll"):v.t("ItemList.buttons.selectAll"),icon:"checkmark",onClick:n.bind(void 0)}]})))}));Nn.defaultProps={filters:{},searchable:!0};var Pn=Nn,xn=e=>a().createElement(a().Fragment,null,a().createElement("label",{className:"link-label",htmlFor:e.htmlFor},e.label),a().createElement(jt,{content:e.content,onClick:e.onClick.bind(void 0)}));class An extends r.Component{constructor(e){super(e),this.state={showKeyboard:!1}}componentDidUpdate(e){e.visible&&!this.props.visible&&this.setState({showKeyboard:!1})}onInputChange(e,t){this.props.onChange(e,t)}onKeyboardChange(e){this.props.onChange(null,{value:e})}render(){return a().createElement(i.Form.Field,{className:"keyboard-field"},a().createElement(i.Form.Input,{autoFocus:this.props.autoFocus,className:this.props.className,error:this.props.error,id:this.props.id,input:{"aria-label":this.props.name},label:this.renderLabel(),name:this.props.name,onChange:this.onInputChange.bind(this),required:this.props.required,value:this.props.value},this.props.children),a().createElement(i.Transition,{duration:{hide:50,show:500},visible:this.state.showKeyboard},a().createElement(i.Segment,null,a().createElement(d.Keyboard,{layout:this.props.layout,onChange:this.onKeyboardChange.bind(this),value:this.props.value,keyboardClass:this.props.name}))))}renderLabel(){return a().createElement(xn,{content:this.state.showKeyboard?v.t("KeyboardField.labels.hideKeyboard"):v.t("KeyboardField.labels.showKeyboard"),htmlFor:this.props.name,label:this.props.label,onClick:()=>this.setState((e=>({showKeyboard:!e.showKeyboard})))})}}An.defaultProps={autoFocus:!1,className:"",error:!1,id:""};var Bn=An;function Ln(){return Ln=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ln.apply(this,arguments)}var Rn=e=>t=>{const n=(0,r.useCallback)((()=>{t.onChange([...t.items,{}])}),[t.items]),o=(0,r.useCallback)((e=>{t.onChange(s().reject(t.items,((t,n)=>n===e)))}),[t.items]),i=(0,r.useCallback)(((e,n,r,a)=>{let{value:o}=a;t.onChange(s().map(t.items,((t,r)=>r!==e?t:{...t,[n]:o})))}),[t.items]);return a().createElement(e,Ln({},t,{onAddItem:n,onRemoveItem:o,onUpdateItem:i}))},zn=Rn((e=>a().createElement("div",null,a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.add"),icon:"plus",onClick:e.onAddItem.bind(void 0),type:"button"}),a().createElement(i.Grid,{padded:"vertically"},s().map(e.items,((t,n)=>a().createElement(i.Grid.Row,{columns:3},a().createElement(i.Grid.Column,{width:8},a().createElement(i.Input,{fluid:!0,onChange:e.onUpdateItem.bind(void 0,n,"key"),placeholder:v.t("KeyValuePairs.labels.key"),value:t.key})),a().createElement(i.Grid.Column,{width:7},a().createElement(i.Input,{fluid:!0,onChange:e.onUpdateItem.bind(void 0,n,"value"),placeholder:v.t("KeyValuePairs.labels.value"),value:t.value})),a().createElement(i.Grid.Column,{width:1},a().createElement(i.Button,{color:"red",icon:"trash",onClick:e.onRemoveItem.bind(void 0,n)}))))),s().isEmpty(e.items)&&a().createElement(i.Grid.Row,{columns:1},a().createElement(i.Grid.Column,null,v.t("Common.labels.noRecords")))))));const On=e=>a().createElement(i.Image,{className:"lazy-loader",size:e.size},a().createElement(i.Loader,{active:e.active}));On.defaultProps={active:!1,size:"small"};var Fn=On;function jn(){return jn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},jn.apply(this,arguments)}const Hn=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!e.preview),[d,m]=(0,r.useState)(!1),[u,p]=(0,r.useState)(!1);return u?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-audio",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(Fn,{active:!0,size:e.size}),!o&&e.preview&&a().createElement(i.Image,jn({},e.image,{onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},size:e.size,src:e.preview})),(o||!e.preview)&&a().createElement(i.Image,jn({},e.image,{className:"placeholder-image",size:e.size}),a().createElement(i.Icon,{name:"file audio outline",size:"big"})),(e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.src&&a().createElement(i.Button,{content:v.t("LazyAudio.buttons.play"),icon:"play circle outline",onClick:()=>m(!0),primary:!0}),e.download&&a().createElement(Dt,{color:"green",filename:e.name,url:e.download}),e.children)))),e.src&&a().createElement(ne,{onClose:()=>m(!1),open:d,size:"large",src:e.src})):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>p(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};Hn.defaultProps={dimmable:!0,duration:1e3,preview:void 0,size:"medium",src:void 0};var Gn=Hn,Un=require("react-pdf");function Vn(){return Vn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Vn.apply(this,arguments)}require("react-pdf/dist/esm/Page/AnnotationLayer.css"),require("react-pdf/dist/esm/Page/TextLayer.css"),Un.pdfjs.GlobalWorkerOptions.workerSrc=`//unpkg.com/pdfjs-dist@${Un.pdfjs.version}/build/pdf.worker.min.js`;const qn=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!e.preview),[d,m]=(0,r.useState)(!1),u=(0,r.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=[];return e&&t.push(e),l||t.push("hidden"),t.join(" ")}),[l]);return d?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-document",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(Fn,{active:!0,size:e.size}),!o&&e.preview&&a().createElement(i.Image,Vn({},e.image,{className:u(),onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},src:e.preview,size:e.size})),!o&&l&&!e.preview&&e.src&&e.pdf&&a().createElement(i.Image,Vn({},e.image,{className:u(),size:e.size}),a().createElement(Un.Document,{file:e.src,onLoadError:e=>console.log(e.message)},a().createElement(Un.Page,{pageNumber:1}))),(o||!e.preview&&!(e.src&&e.pdf))&&a().createElement(i.Image,Vn({},e.image,{className:u("placeholder-image"),size:e.size}),a().createElement(i.Icon,{name:"file alternate outline",size:"big"})),(e.download||e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.download&&a().createElement(Dt,{primary:!0,url:e.download||e.src}),e.children))))):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>m(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};qn.defaultProps={dimmable:!0,duration:1e3,pdf:!1,preview:void 0,size:"medium",src:void 0};var $n=qn;const Kn=e=>{const[t,n]=(0,r.useState)(!1);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"photo-viewer",closeIcon:!0,mountNode:r,onClose:e.onClose.bind(void 0),open:e.open,size:e.size},a().createElement(i.Modal.Content,null,t&&a().createElement(i.Message,{content:v.t("PhotoViewer.errors.path.content",{path:e.image}),header:v.t("PhotoViewer.errors.path.header"),icon:"exclamation circle"}),!t&&a().createElement(i.Image,{alt:e.alt,fluid:!0,onError:()=>n(!0),src:e.image})))))};Kn.defaultProps={size:"small"};var _n=Kn;function Qn(){return Qn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Qn.apply(this,arguments)}const Wn=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!(e.src||e.preview)),[d,m]=(0,r.useState)(!1),[u,p]=(0,r.useState)(!1),h=(0,r.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=[];return e&&t.push(e),l||t.push("hidden"),t.join(" ")}),[l]);return u?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-image",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(Fn,{active:!0,size:e.size}),!o&&(e.preview||e.src)&&a().createElement(i.Image,Qn({},e.image,{className:h(),onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},size:e.size,src:e.preview||e.src})),(o||!(e.preview||e.src))&&a().createElement(i.Image,Qn({},e.image,{className:h("placeholder-image"),size:e.size}),a().createElement(i.Icon,{name:"image",size:"big"})),(e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.src&&a().createElement(i.Button,{content:v.t("LazyImage.buttons.view"),icon:"photo",onClick:()=>m(!0),primary:!0}),e.download&&a().createElement(Dt,{color:"green",filename:e.name,url:e.download}),e.children)))),e.src&&a().createElement(_n,{image:e.src,onClose:()=>m(!1),open:d,size:"large"})):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>p(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};Wn.defaultProps={dimmable:!0,duration:1e3,size:"medium"};var Yn=Wn;const Xn=e=>{const[t,n]=(0,r.useState)(!1),o=(0,r.useRef)();return(0,r.useEffect)((()=>{if(o&&o.current&&e.placeholderAlt){const t=o.current.querySelector(".placeholder");t&&t.setAttribute("alt",e.placeholderAlt)}}),[o,e.placeholderAlt]),a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"video-player",closeIcon:!0,mountNode:r,onClose:e.onClose.bind(void 0),open:e.open,size:e.size},a().createElement(i.Modal.Content,null,t&&a().createElement(i.Message,{content:v.t("VideoPlayer.errors.path.content",{path:e.video}),header:v.t("VideoPlayer.errors.path.header"),icon:"exclamation circle"}),e.embedded&&a().createElement(i.Ref,{innerRef:o},a().createElement(i.Embed,{active:e.autoPlay,icon:e.icon,iframe:e.autoPlay?{allow:"autoplay"}:void 0,placeholder:e.placeholder,url:`${e.video}${e.autoPlay?"?autoplay=true":""}`})),!e.embedded&&a().createElement("video",{autoPlay:e.autoPlay,controls:!0,onError:()=>n(!0),src:e.video})))))};Xn.defaultProps={autoPlay:!1,embedded:!1,icon:"right circle arrow",size:"small"};var Jn=Xn;function Zn(){return Zn=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Zn.apply(this,arguments)}const er=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(!1),[l,c]=(0,r.useState)(!(e.preview||e.src)),[d,m]=(0,r.useState)(!1),[u,p]=(0,r.useState)(!1),h=(0,r.useCallback)((function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=[];return e&&t.push(e),l||t.push("hidden"),t.join(" ")}),[l]);return u?a().createElement(a().Fragment,null,a().createElement(i.Transition,{duration:e.duration,visible:!0},a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"lazy-video",compact:!0,onBlur:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},!l&&a().createElement(Fn,{active:!0,size:e.size}),!o&&e.preview&&a().createElement(i.Image,Zn({},e.image,{className:h(),onError:()=>{s(!0),c(!0)},onLoad:()=>{s(!1),c(!0)},src:e.preview,size:e.size})),!o&&!e.preview&&e.src&&a().createElement(i.Image,Zn({},e.image,{className:h(),size:e.size}),a().createElement("video",{onError:()=>{s(!0),c(!0)},onLoadedData:()=>{s(!1),c(!0)},src:e.src})),(o||!e.preview&&!e.src)&&a().createElement(i.Image,Zn({},e.image,{className:h("placeholder-image"),size:e.size}),a().createElement(i.Icon,{name:"image",size:"big"})),(e.src||e.children)&&e.dimmable&&a().createElement(i.Dimmer,{active:t},a().createElement("div",{className:"buttons"},e.src&&a().createElement(i.Button,{content:v.t("LazyVideo.buttons.play"),icon:"video",onClick:()=>m(!0),primary:!0}),e.download&&a().createElement(Dt,{color:"green",filename:e.name,url:e.download}),e.children)))),e.src&&a().createElement(Jn,{autoPlay:e.autoPlay,embedded:e.embedded,icon:e.icon,onClose:()=>m(!1),open:d,placeholder:e.preview,size:"large",video:e.src})):a().createElement(i.Visibility,{as:"span",fireOnMount:!0,onTopVisible:()=>p(!0)},a().createElement(i.Loader,{active:!0,inline:"centered",size:e.size}))};er.defaultProps={autoPlay:!1,dimmable:!0,duration:1e3,embedded:!1,icon:"right circle arrow",size:"medium"};var tr=er;const nr="audio",rr="application/pdf",ar=["image/png","image/jpeg","image/gif","image/webp","image/bmp","video/m4v","video/mp4"],or=e=>{const[t,n]=(0,r.useState)(e.contentType||""),[o,l]=(0,r.useState)(e.name),[c,d]=(0,r.useState)(e.preview),[m,u]=(0,r.useState)(e.src),p=(0,r.useMemo)((()=>{let e;return o&&(e=o.split(".").pop(),e=e&&e.toUpperCase()),e}),[o]),h=(0,r.useCallback)((t=>{const r=s().first(t);n(r.type),l(r.name),d(null),s().contains(ar,r.type)||r.type.startsWith(nr)||r.type===rr?u(URL.createObjectURL(r)):u(null),e.onUpload(r)}),[e.onUpload]),g=(0,r.useCallback)((()=>a().createElement(a().Fragment,null,e.onUpload&&a().createElement(Xt,{color:"orange",content:v.t("Common.buttons.upload"),icon:"cloud upload",onSelection:h}),e.children))),b=(0,r.useCallback)((()=>t.startsWith("image")?a().createElement(Yn,{dimmable:e.dimmable,download:e.downloadUrl,preview:c,src:m,size:e.size},g()):t.startsWith("video")?a().createElement(tr,{dimmable:e.dimmable,download:e.downloadUrl,preview:c,src:m,size:e.size},g()):t.startsWith(nr)?a().createElement(Gn,{dimmable:e.dimmable,download:e.downloadUrl,preview:c,src:m,size:e.size},g()):a().createElement($n,{dimmable:e.dimmable,download:e.downloadUrl,pdf:t===rr,preview:c,src:m,size:e.size},g())),[t,c,m,e.dimmable,e.downloadUrl,e.size]),E=(0,r.useCallback)((()=>p?a().createElement("div",null,a().createElement(i.Icon,{name:"info circle"}),a().createElement("span",null,a().createElement(w.Trans,{components:{bold:a().createElement("strong",null)},default:"Your <bold>{{type}}</bold> has been received",i18n:v,i18nKey:"LazyMedia.messages.uploaded",values:{type:p}}))):null),[p]);return(0,r.useEffect)((()=>{e.contentType&&n(e.contentType),e.name&&l(e.name),e.preview&&d(e.preview),e.src?u(e.src):u(null)}),[e.contentType,e.name,e.preview,e.src]),a().createElement("div",{className:"lazy-media"},b(),E())};or.defaultProps={dimmable:!0,size:"medium"};var sr=or,ir=e=>{let{manifest:t,options:n={},...o}=e;const[l,c]=(0,r.useState)(!1);return a().createElement(a().Fragment,null,a().createElement(sr,o,t&&a().createElement(i.Button,{color:o.color,content:o.content||v.t("Common.buttons.iiif"),icon:"images outline",onClick:()=>c(!0)}),o.children),l&&a().createElement(En,{manifestId:t,onClose:()=>c(!1),options:s().defaults(n,{showIIIFBadge:!1})}))},lr=e=>a().createElement(i.Dimmer.Dimmable,{as:i.Segment,className:"listLoader",dimmed:e.active,style:{opacity:e.active?"0.8":"0"}},a().createElement(i.Dimmer,{active:e.active,inverted:!0},a().createElement(i.Loader,{content:v.t("Common.messages.loading")})));const cr=e=>a().createElement(B.Consumer,null,(t=>a().createElement(i.Modal,{as:i.Form,className:"login-modal",error:e.loginFailed,mountNode:t,open:e.open,size:"small",trigger:e.trigger},a().createElement(i.Header,{icon:"user circle",content:v.t("LoginModal.header")}),a().createElement(i.Message,{error:!0,header:v.t("LoginModal.loginErrorHeader"),content:v.t("LoginModal.loginErrorContent")}),a().createElement(i.Grid,{padded:"vertically",textAlign:"center"},a().createElement(i.Grid.Column,null,a().createElement(i.Grid.Row,null,a().createElement(i.Input,{autoFocus:!0,className:"form-field",icon:a().createElement(i.Icon,{name:"at"}),onChange:e.onUsernameChange.bind(void 0),placeholder:e.placeholder,size:"huge"})),a().createElement(i.Grid.Row,{className:"row"},a().createElement(i.Input,{className:"form-field",icon:a().createElement(i.Icon,{name:"lock"}),onChange:e.onPasswordChange.bind(void 0),placeholder:v.t("LoginModal.password"),size:"huge",type:"password"})))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{disabled:e.disabled,onClick:e.onLogin.bind(void 0),primary:!0,size:"large",type:"submit"},v.t("LoginModal.buttonLogin")),e.onClose&&a().createElement(i.Button,{basic:!0,onClick:e.onClose.bind(void 0),size:"large"},v.t("LoginModal.buttonCancel"))))));cr.defaultProps={placeholder:v.t("LoginModal.email")};var dr=cr;const mr=e=>{const t={},n=[];for(let n=0;n<e.columns;n+=1)t[`column${n}`]=[];for(let n=0;n<e.children.length;n+=1)t["column"+n%e.columns].push(a().createElement("div",{className:"itemContainer",key:n,style:{marginBottom:`${e.gap}px`}},e.children[n]));for(let r=0;r<e.columns;r+=1)n.push(a().createElement("div",{className:"column",key:r,style:{marginLeft:`${r>0?e.gap:0}px`}},t[`column${r}`]));return a().createElement("div",{className:"masonryGrid"},n)},ur=e=>{const[t,n]=(0,r.useState)(!1),[o,s]=(0,r.useState)(0);return(0,r.useEffect)((()=>{s(175+Math.ceil(350*Math.random()))}),[]),a().createElement(i.Dimmer.Dimmable,{className:"item",dimmed:t,onClick:()=>e.onClick&&e.onClick(e.item),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),style:{cursor:e.onClick?"pointer":void 0,height:`${o}px`}},a().createElement(i.Transition,{duration:800,visible:t},a().createElement(i.Dimmer.Inner,{active:t},a().createElement(i.Header,{content:e.item.title,inverted:!0,subheader:e.item.subtitle}),e.item.extra&&a().createElement("div",{className:"extraContainer"},e.item.extra))),a().createElement(i.Image,{alt:e.item.alt,className:"image",src:e.item.image}),e.renderContent&&e.renderContent(e.item))};var pr=e=>a().createElement("div",{className:"masonry-grid"},a().createElement(i.Loader,{active:e.loading}),a().createElement("div",null,a().createElement(mr,{columns:e.columns,gap:e.gap},s().map(e.items,((t,n)=>a().createElement(ur,{key:n,item:t,onClick:e.onClick,renderContent:e.renderContent})))),e.pages>1&&e.onPageChange&&a().createElement(i.Segment,{basic:!0,textAlign:"center"},a().createElement(i.Pagination,{activePage:e.page,firstItem:null,lastItem:null,onPageChange:(t,n)=>{let{activePage:r}=n;return e.onPageChange&&e.onPageChange(r)},totalPages:e.pages,size:"small"}))),!e.loading&&!(e.items&&e.items.length)&&e.renderEmpty&&e.renderEmpty());const hr=e=>a().createElement(i.Button,{className:"play-button",color:"black",icon:"play",onClick:t=>{e.onClick&&(t.stopPropagation(),e.onClick())},size:e.size,style:e.style});hr.defaultProps={onClick:void 0,size:"massive",style:void 0};var gr=hr,br=()=>a().createElement("div",{className:"icon video-player-button"},a().createElement("div",null,a().createElement(gr,null))),vr=e=>{const[t,n]=(0,r.useState)(!1);return a().createElement(i.Dimmer,{active:e.visible,className:"media-gallery mediaGallery",page:!0},e.loading&&a().createElement(i.Loader,{active:!0,size:"big"}),e.item&&a().createElement(a().Fragment,null,a().createElement(i.Transition,{animation:"fade",mountOnShow:!1},a().createElement("div",{className:"imageContainer"},a().createElement(i.Image,{src:e.item.image,style:{objectFit:"contain"}}),"video"===e.item.type&&a().createElement(gr,{onClick:()=>n(!0),style:{position:"absolute",top:"50%"}}))),e.renderContent&&e.renderContent(),e.onClose&&a().createElement("div",{className:"controls top right"},a().createElement(i.Button,{basic:!0,circular:!0,icon:"times",inverted:!0,onClick:e.onClose,size:"large"})),e.label&&a().createElement("div",{className:"controls top left"},a().createElement(i.Button,{basic:!0,content:e.label,inverted:!0,size:"large"})),e.onPrevious&&a().createElement("div",{className:"controls middle left"},a().createElement(i.Button,{basic:!0,disabled:!e.onPrevious,inverted:!0,icon:"angle left",onClick:e.onPrevious,size:"huge"})),e.onNext&&a().createElement("div",{className:"controls middle right"},a().createElement(i.Button,{basic:!0,disabled:!e.onNext,inverted:!0,icon:"angle right",onClick:e.onNext,size:"huge"})),e.item.src&&a().createElement(Jn,{autoPlay:!0,embedded:e.item.embedded,icon:a().createElement(br,null),onClose:()=>n(!1),open:t,placeholder:e.item.preview,size:"huge",video:e.item.src})))},Er=e=>{const[t,n]=(0,r.useState)([]);return(0,r.useEffect)((()=>{const t=[];for(let n=0;n<e.items.length&&t.length<5;n+=1)s().isEmpty(e.items[n].image)||t.push(e.items[n]);n(t)}),[e.items]),s().isEmpty(e.items)?null:a().createElement("div",{className:"mediaGrid"},a().createElement(i.Loader,{active:e.loading}),a().createElement("div",{className:`grid${t.length}`},s().map(t,((t,n)=>a().createElement("div",{className:"mediaImage",key:n},a().createElement(i.Image,{onClick:()=>e.onClick&&e.onClick(t),src:t.image,style:{cursor:e.onClick?"pointer":void 0,objectFit:"cover",width:"100%"}}))))))},fr=e=>a().createElement(d.InfiniteScroll,{offset:100,onBottomReached:e.onBottomReached},a().createElement(lr,{active:e.loading||!1}),a().createElement(i.Card.Group,{doubling:!0,stackable:!0},s().map(e.items,((t,n)=>a().createElement(i.Card,{onClick:e.onClick.bind(void 0,t,n)},a().createElement(i.Image,{alt:t.alt,src:t.image,style:{objectFit:"cover"}}),"video"===t.type&&a().createElement("div",{style:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}},a().createElement(gr,null)),(e.renderMeta||e.renderHeader||e.renderDescription)&&a().createElement(i.Card.Content,null,e.renderHeader&&a().createElement(i.Card.Header,{content:e.renderHeader(t),textAlign:e.textAlign}),e.renderMeta&&a().createElement(i.Card.Meta,{content:e.renderMeta(t),textAlign:e.textAlign}),e.renderDescription&&a().createElement(i.Card.Description,{content:e.renderDescription(t),textAlign:e.textAlign})),e.renderExtra&&a().createElement(i.Card.Content,{content:e.renderExtra(t),extra:!0,textAlign:e.textAlign}))))));class Cr extends r.Component{constructor(e){super(e),this.state={modalVisible:!1}}onClose(){this.setState({modalVisible:!1})}render(){return a().createElement(a().Fragment,null,a().createElement(i.Dropdown,{className:"modal-dropdown",onClick:()=>this.setState({modalVisible:!0}),onSearchChange:()=>{},open:!1,search:!0,searchInput:{"aria-label":"Search"},selection:!0,searchQuery:this.props.searchQuery||""}),a().createElement(i.Button.Group,null,a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.clear"),icon:"times",onClick:this.props.onClear.bind(this),type:"button"})),this.renderModal())}renderModal(){return this.props.renderModal({onClose:this.onClose.bind(this),open:this.state.modalVisible})}}var yr=(0,w.withTranslation)()(Cr);class Sr extends r.Component{constructor(e){super(e),this.state={loading:!1,options:[],page:1,pages:1,search:""},this.dropdown=(0,r.createRef)()}componentDidMount(){this.onReset()}componentDidUpdate(e){this.props.value!==e.value&&this.setState({page:1,pages:1,search:""},this.onSearch.bind(this))}getClassNames(){const e=["remote-dropdown"];return this.props.className&&e.push(this.props.className),e.join(" ")}getValues(){let e=[];const{value:t}=this.props;return t&&t.length&&(e=Array.isArray(t)?t:[t]),e}getOption(e){return{key:e,text:e,value:e}}getOptions(){const e=[...this.state.options];s().each(this.getValues(),(t=>{s().findWhere(e,{value:t})||e.push(this.getOption(t))}));const{search:t}=this.state;return this.props.allowAdditions&&t&&!s().findWhere(e,{text:t})&&e.push({key:"add",value:"add",text:this.renderAddOption(),onClick:this.onAddItem.bind(this)}),this.state.page<this.state.pages&&e.push({key:"more",value:"more",text:this.renderLoadMoreOption(),onClick:()=>this.setState((e=>({page:e.page+1})),this.onSearch.bind(this))}),e}getSearchOptions(){return s().filter(this.getOptions(),(e=>!this.getValues().includes(e.value)))}onAddItem(e){return this.props.onAddItem&&this.props.onAddItem(this.state.search).then((()=>{let t=this.state.search;this.props.multiple&&(t=[...this.props.value,this.state.search]),this.onOptionSelection(e,{value:t}),this.props.multiple||this.dropdown.current.close()}))}onOptionSelection(e,t){let{value:n}=t;this.props.onSelection(n)}onReset(){this.setState({options:s().map(this.getValues(),this.getOption.bind(this)),page:1,pages:1,search:""})}onSearch(){const{page:e,search:t}=this.state;this.setState({loading:!0},(()=>{this.props.onLoad({page:e,search:t}).then((t=>{let{data:n}=t;const r=s().map(n[this.props.collectionName],this.props.renderOption.bind(this)),{pages:a}=n.list;this.setState((t=>({loading:!1,options:[...e>1&&t.options||[],...r],page:e,pages:a})))}))}))}onSearchChange(e,t){let{searchQuery:n}=t;this.setState({page:1,pages:1,search:n})}render(){return a().createElement(i.Dropdown,{className:this.getClassNames(),clearable:!0,fluid:this.props.fluid,loading:this.state.loading,multiple:this.props.multiple,onBlur:this.onReset.bind(this),onClose:this.onReset.bind(this),onChange:this.onOptionSelection.bind(this),onOpen:this.onSearch.bind(this),onSearchChange:this.onSearchChange.bind(this),options:this.getOptions(),placeholder:this.props.placeholder,ref:this.dropdown,scrolling:!0,search:()=>this.getSearchOptions(),searchInput:{"aria-label":"Search",className:"remote-dropdown-search-input",onKeyDown:d.Timer.clearSearchTimer.bind(this),onKeyUp:d.Timer.setSearchTimer.bind(this,this.onSearch.bind(this))},searchQuery:this.state.search,selectOnBlur:!1,selection:!0,value:this.props.value})}renderAddOption(){return a().createElement("div",{className:"extra-option"},a().createElement(i.Icon,{name:"plus circle"}),`${v.t("RemoteDropdown.labels.add")} ${this.state.search}`)}renderLoadMoreOption(){return a().createElement("div",{className:"extra-option"},a().createElement(i.Icon,{name:"refresh"}),v.t("RemoteDropdown.labels.loadMore"))}}Sr.defaultProps={allowAdditions:!1,className:"",fluid:!1,multiple:!1,onAddItem:void 0,placeholder:null};var kr=Sr;function wr(){return wr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},wr.apply(this,arguments)}var Dr=e=>{let{useSearchBox:t,...n}=e;const{query:o,refine:l,clear:c,isSearchStalled:m}=t(n),[u,p]=(0,r.useState)(o),h=(0,r.useRef)(),g=(0,r.useCallback)((()=>{p(""),c();const{current:e}=h;e&&e.focus()}),[c]),b=(0,r.useCallback)((()=>l(u)),[l,u]);return a().createElement(i.Input,wr({},n,{"aria-label":"Search",icon:a().createElement(i.Icon,{link:!s().isEmpty(o),name:s().isEmpty(o)?"search":"times",onClick:g}),input:{"aria-label":"search"},loading:m,onChange:(e,t)=>{let{value:n}=t;return p(n)},onKeyDown:()=>d.Timer.clearSearchTimer(),onKeyUp:()=>d.Timer.setSearchTimer(b),ref:h,type:"text",value:u}))};const Ir=e=>{let{usePagination:t,...n}=e;const{currentRefinement:o,nbPages:s,refine:l}=t(n),c=(0,r.useCallback)(((e,t)=>{let{activePage:n}=t;return l(n-1)}),[l]);return(0,r.useEffect)((()=>{n.scrollToTop&&window.scroll({top:0,behavior:"smooth"})}),[o,n.scrollToTop]),0===s?null:a().createElement(i.Pagination,{activePage:o+1,onPageChange:c,totalPages:s})};Ir.defaultProps={scrollToTop:!1};var Mr=Ir;const Tr=e=>{let{useHits:t,...n}=e;const{hits:r}=t(n),{as:o,asProps:s,link:i,renderDescription:l,renderEmptyList:c,renderExtra:d,renderHeader:m,renderImage:u,renderMeta:p}=n;return a().createElement(Mn,{as:o,asProps:s,hideToggle:!0,items:r,link:i,renderDescription:l,renderEmptyList:c,renderExtra:d,renderHeader:m,renderImage:u,renderMeta:p})};Tr.defaultProps={as:void 0,asProps:void 0,link:void 0,renderDescription:void 0,renderEmptyList:void 0,renderExtra:void 0,renderHeader:void 0,renderImage:void 0,renderMeta:void 0};var Nr=Tr,Pr=e=>{let{useHitsPerPage:t,options:n}=e;const{items:r,refine:o}=t({items:s().map(n,((e,t)=>({label:e,value:e,default:0===t})))}),{value:i}=s().findWhere(r,{isRefined:!0});return a().createElement(I,{basic:!0,icon:"list",onChange:(e,t)=>o(t.value),options:s().map(r,(e=>({key:e.value,value:e.value,text:e.label}))),text:v.t("SearchResultsPerPage.labels.show",{value:i}),value:i})},xr=e=>{let{useSortBy:t,...n}=e;const{currentRefinement:o,options:i,refine:l}=t(n),{label:c,value:d}=s().findWhere(i,{value:o})||s().first(i),m=(0,r.useMemo)((()=>d&&d.endsWith("desc")?"sort alphabet down":"sort alphabet up"),[d]);return a().createElement(I,{basic:!0,icon:m,onChange:(e,t)=>l(t.value),options:s().map(i,(e=>({key:e.value,value:e.value,text:e.description||e.label}))),text:c,value:d})},Ar=e=>{let{useStats:t,...n}=e;const{nbHits:r,processingTimeMS:o}=t(n),s=(o/1e3).toFixed(2);return a().createElement("div",null,v.t("SearchStats.labels.results",{count:r,seconds:s}))};const Br=e=>e.visible?a().createElement("div",{className:"section"},e.header&&a().createElement(i.Header,{content:e.header}),e.children,a().createElement(i.Divider,{hidden:!e.divided})):null;Br.defaultProps={divided:!0,header:void 0,visible:!0};var Lr=Br;function Rr(){return Rr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Rr.apply(this,arguments)}const zr=k(q((e=>{(0,r.useEffect)((()=>{e.onInit&&e.onInit()}),[]);const t=(0,r.useCallback)((t=>e.isSelected(t)?a().createElement(i.Icon,{color:"green",name:"check"}):null),[e.selectedItems]),n=(0,r.useCallback)((()=>s().isEmpty(e.items)?null:e.renderItems?e.renderItems({isSelected:e.isSelected,items:e.items,onSelect:e.onSelect}):a().createElement(i.Table,{basic:!0,padded:!0,selectable:!0},a().createElement(i.Table.Body,null,s().map(e.items,((n,r)=>a().createElement(i.Table.Row,{key:r,onClick:e.onSelect.bind(void 0,n)},a().createElement(i.Table.Cell,null,e.renderItem(n)),a().createElement(i.Table.Cell,null,t(n)))))))),[t,e.items,e.onSelect,e.renderItem]),o=(0,r.useCallback)((()=>e.items&&e.items.length||e.loading?null:a().createElement(i.Grid,{className:"empty",padded:"vertically"},a().createElement(i.Grid.Column,{textAlign:"center"},a().createElement(i.Grid.Row,null,a().createElement(i.Icon,{name:"search",size:"huge"})),a().createElement(i.Grid.Row,null,v.t("Selectize.messages.noRecords"))))),[e.items,e.loading]);return a().createElement(i.Grid,null,a().createElement(i.Grid.Column,{textAlign:"center"},e.renderHeader?e.renderHeader({onItemClick:e.onItemSelection.bind(void 0),selectedItem:e.selectedItem,selectedItems:e.selectedItems}):a().createElement(X,{isSelected:t=>e.selectedItem===t,items:e.selectedItems,onItemClick:e.onItemSelection.bind(void 0),renderItem:e.renderItem.bind(void 0)}),n(),o()))}))),Or=e=>{const[t,n]=(0,r.useState)(!1),[o,l]=(0,r.useState)(),[c,d]=(0,r.useState)(e.selectedItems||[]),m=(0,r.useMemo)((()=>!!e.multiple),[e.multiple]),u=(0,r.useMemo)((()=>s().isNumber(e.multiple)?e.multiple:Number.MAX_SAFE_INTEGER),[e.multiple]),p=(0,r.useCallback)((e=>!!s().findWhere(c,{id:e.id},[c]))),h=(0,r.useCallback)((e=>{p(e)?d((t=>s().filter(t,(t=>t.id!==e.id)))):m?c.length>=u?n(!0):d((t=>[...t,e])):d([e])}),[p,e.multiple]),g=(0,r.useCallback)((e=>{o===e?(l(null),h(e)):l(e)}),[o,h]),b=(0,r.useCallback)((t=>e.modal&&e.modal.onSave?e.modal.onSave(t).then((e=>h(e))):Promise.resolve()),[h,e.modal]);return a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{as:i.Form,centered:e.centered,className:"selectize",mountNode:r,noValidate:!0,open:!0,size:"small"},a().createElement(i.Modal.Header,{content:e.title}),a().createElement(i.Modal.Content,null,a().createElement(i.Message,{content:v.t("Selectize.messages.maxSelected.content"),error:!0,header:v.t("Selectize.messages.maxSelected.header"),onDismiss:()=>n(!1),visible:t}),a().createElement(zr,Rr({},e,{actions:[],isSelected:p,onDelete:()=>Promise.resolve(),onDeleteAll:()=>Promise.resolve(),onItemSelection:g,onSave:b,onSelect:h,selectedItem:o,selectedItems:c}))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{onClick:e.onSave.bind(void 0,c),primary:!0,size:"medium",type:"submit"},v.t("Common.buttons.save")),a().createElement(i.Button,{basic:!0,onClick:e.onClose.bind(void 0),size:"medium",type:"button"},v.t("Common.buttons.cancel"))))))};Or.defaultProps={centered:!1,modal:void 0,multiple:!0,searchable:!0,selectedItems:[]};var Fr=Or;const jr=e=>a().createElement(i.Card,{raised:e.selected,link:!0,onClick:e.onClick},e.image&&s().isString(e.image)&&a().createElement(i.Image,{size:"small",src:e.image}),!!e.image&&!s().isString(e.image)&&e.image,!e.image&&a().createElement(i.Segment,{placeholder:!0},a().createElement(i.Icon,{name:"image",size:"large"})),a().createElement(i.Card.Content,null,e.header&&a().createElement(i.Card.Header,null,a().createElement(i.Header,{as:"h6",content:e.header})),e.meta&&a().createElement(i.Card.Meta,{content:e.meta}),e.description&&a().createElement(i.Card.Description,{content:e.description})),e.extra&&a().createElement(i.Card.Content,{extra:!0},e.extra),e.selected&&a().createElement(i.Card.Content,{extra:!0},a().createElement(i.Button,{basic:!0,circular:!0,compact:!0,icon:"times",onClick:e.onDelete})));jr.defaultProps={header:void 0,image:void 0,meta:void 0,renderExtra:void 0};const Hr=e=>{const[t,n]=(0,r.useState)(1),[o,l]=(0,r.useState)(0),[c,d]=(0,r.useState)(!1),m=(0,r.useMemo)((()=>{let n=null;if(t&&e.selectedItems&&e.selectedItems.length){const r=(t-1)*(e.perPage||5),a=r+(e.perPage||5);n=e.selectedItems.slice(r,a)}return n}),[t,e.perPage,e.selectedItems]),u=(0,r.useMemo)((()=>{const n=(t-1)*(e.perPage||5),r=n+(e.perPage||5),a=e.selectedItems.length;return`${n+1} - ${Math.min(r,a)} of ${a}`}),[t,e.perPage,e.selectedItems]),p=(0,r.useCallback)((e=>{let r=t+e;r<1?r=o:r>o&&(r=1),n(r)}),[t,o]);return(0,r.useEffect)((()=>{e.perPage&&e.selectedItems&&l(Math.ceil(e.selectedItems.length/e.perPage))}),[e.perPage,e.selectedItems]),(0,r.useEffect)((()=>{(!m||!m.length)&&e.selectedItems&&e.selectedItems.length&&t>1&&n(t-1)}),[m,t,e.selectedItems]),s().isEmpty(m)?null:a().createElement(i.Segment,{className:"selectize-image-header"},a().createElement(i.Transition,{visible:!c},a().createElement("div",null,a().createElement("div",{className:"container"},a().createElement(i.Button,{basic:!0,circular:!0,disabled:o<=1,icon:"arrow left",onClick:p.bind(void 0,-1)}),a().createElement(i.Card.Group,{itemsPerRow:e.perPage},s().map(m,(t=>a().createElement(jr,{description:e.renderDescription&&e.renderDescription(t),extra:e.renderExtra&&e.renderExtra(t),header:e.renderHeader&&e.renderHeader(t),image:e.renderImage&&e.renderImage(t),meta:e.renderMeta&&e.renderMeta(t),key:t.id,onClick:()=>e.selectedItem===t?e.onItemClick(null):e.onItemClick(t),onDelete:()=>e.onItemClick(t),selected:t===e.selectedItem})))),a().createElement(i.Button,{basic:!0,circular:!0,disabled:o<=1,icon:"arrow right",onClick:p.bind(void 0,1)})))),a().createElement("div",{className:"bottom-container"},a().createElement("div",null),a().createElement("div",null,u),a().createElement("div",null,e.collapsable&&a().createElement(i.Button,{as:"a",basic:!0,circular:!0,className:"link",compact:!0,content:c?v.t("Common.buttons.show"):v.t("Common.buttons.hide"),onClick:()=>d((e=>!e))}))))};Hr.defaultProps={collapsable:!0,onItemClick:()=>{},perPage:5,renderExtra:void 0};var Gr=Hr;const Ur=e=>{const[t,n]=(0,r.useState)(),[o,l]=(0,r.useState)(!1),c=(0,r.useRef)(),m=d.Element.findByType(e.children,Ur.Tab),u=(0,r.useMemo)((()=>s().find(m,(e=>e.key===t))),[t,m]),p=(0,r.useMemo)((()=>{const t=["simple-edit-page"];return e.className&&t.push(e.className),t.join(" ")}),[e.className]),h=(0,r.useCallback)((t=>{const{key:r}=t;n(r),e.onTabClick&&e.onTabClick(r)}),[e.onTabClick]),g=(0,r.useCallback)((()=>{const n=a().createElement(i.Menu,e.menuProps,m?.length>1&&s().map(m,(n=>a().createElement(i.Menu.Item,{active:n.key===t,disabled:e.loading||e.saving,key:n.key,name:n.props.name,onClick:()=>h(n)}))),a().createElement(i.Menu.Menu,{position:"right"},a().createElement(i.Menu.Item,{className:"button-container"},a().createElement(i.Button,{content:v.t("Common.buttons.save"),disabled:e.loading||e.saving,onClick:e.onSave,primary:!0}),a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.cancel"),disabled:e.loading||e.saving,onClick:e.onCancel}))));return e.stickyMenu?a().createElement(i.Sticky,{context:c,offset:20},n):n}));return(0,r.useEffect)((()=>{let t;t=e.defaultTab?{key:e.defaultTab}:s().first(m),t&&h(t),e.saved&&l(!0)}),[]),a().createElement(i.Grid,{className:p},a().createElement(i.Grid.Row,null,a().createElement(i.Grid.Column,null,g())),a().createElement(i.Grid.Row,null,a().createElement(i.Grid.Column,null,a().createElement(i.Ref,{innerRef:c},a().createElement("div",null,a().createElement(i.Form,{error:!s().isEmpty(e.errors),loading:e.loading||e.saving,noValidate:!0},a().createElement(i.Message,{error:!0,header:v.t("Common.errors.save"),list:e.errors}),u&&u.props.children),o&&a().createElement(f,{onDismiss:()=>l(!1),type:f.MessageTypes.positive},a().createElement(i.Message.Header,{content:v.t("Common.messages.save.header")}),a().createElement(i.Message.Content,{content:v.t("Common.messages.save.content")})))))))};Ur.defaultProps={menuProps:{pointing:!0,secondary:!0}};const Vr=e=>e.children;Vr.displayName="Tab";var qr=Object.assign(Ur,{Tab:Vr});function $r(){return $r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},$r.apply(this,arguments)}class Kr extends r.Component{constructor(e){super(e),this.state={tab:null}}componentDidMount(){const e=s().first(d.Element.findByType(this.props.children,Kr.Tab));this.setState({tab:e.props.name})}getHeaderClasses(){const e=["modal-header"];return this.props.inlineTabs&&e.push("inline-header"),e.join(" ")}getModalClasses(){const e=["tabbed-modal"];return this.props.className&&e.push(this.props.className),e.join(" ")}render(){const e=d.Element.findByType(this.props.children,Kr.Tab),t=s().find(e,(e=>e.props.name===this.state.tab));return a().createElement(B.Consumer,null,(e=>a().createElement(i.Modal,$r({className:this.getModalClasses(),mountNode:e},s().omit(this.props,"header","renderHeader","inlineTabs","className")),a().createElement(i.Modal.Header,{className:this.getHeaderClasses()},this.renderHeader(),a().createElement(i.Menu,{float:"right",secondary:!0},s().map(d.Element.findByType(this.props.children,Kr.Tab),this.renderTab.bind(this)))),a().createElement(i.Modal.Content,null,t&&a().createElement("div",{key:t.props.name},t.props.children)),d.Element.findByType(this.props.children,i.Modal.Actions))))}renderHeader(){return this.props.renderHeader?this.props.renderHeader():a().createElement(i.Header,{content:this.props.header})}renderTab(e){const{name:t}=e.props;return a().createElement(i.Menu.Item,{active:this.state.tab===t,key:t,name:t,onClick:()=>this.setState({tab:t})},t)}}const _r=e=>e.children;_r.displayName="Tab",Kr.Tab=_r,Kr.defaultProps={className:void 0,inlineTabs:!0,renderHeader:void 0};var Qr=Kr,Wr=e=>a().createElement(i.Menu,{pointing:!0,secondary:!0},s().map(s().where(e.tabs,{visible:!0}),(t=>a().createElement(i.Menu.Item,{active:t.active,key:t.key,name:t.label,onClick:e.onTabClick.bind(void 0,t)})))),Yr=e=>a().createElement("div",{className:"tags-list"},s().map(e.tags||[],(t=>a().createElement(i.Label,{style:{backgroundColor:e.config&&e.config[t]&&e.config[t].background,color:e.config&&e.config[t]&&e.config[t].color,marginRight:"10px"}},t,e.onDelete&&a().createElement(i.Icon,{name:"delete",onClick:e.onDelete.bind(void 0,t)})))));function Xr(){return Xr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Xr.apply(this,arguments)}const Jr=e=>{const[t,n]=(0,r.useState)(!0);return(0,r.useEffect)((()=>{t||n(!0)}),[e.src]),a().createElement("div",null,a().createElement(i.Loader,{active:e.src&&t}),e.src&&a().createElement(i.Image,Xr({},e,{onLoad:()=>n(!1),style:{...e.style,visibility:t?"hidden":"visible"}})),!e.src&&a().createElement(Yn,null))};Jr.defaultProps={style:{}};var Zr=Jr;function ea(){return ea=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ea.apply(this,arguments)}const ta=e=>{const[t,n]=(0,r.useState)(0),[o,s]=(0,r.useState)(e.defaultInterval),[l,c]=(0,r.useState)(0),[m,u]=(0,r.useState)(!1),p=(0,r.useRef)(null);return(0,r.useEffect)((()=>{p.current&&(p.current.currentTime=l)}),[l]),a().createElement(a().Fragment,null,a().createElement(i.Button,ea({},e.button,{onClick:()=>u(!0)})),a().createElement(B.Consumer,null,(r=>a().createElement(i.Modal,{centered:!1,className:"video-frame-selector",mountNode:r,open:m,size:"small"},a().createElement(i.Modal.Header,{content:e.title}),a().createElement(i.Modal.Content,null,a().createElement(i.Segment,null,a().createElement("video",{crossOrigin:"anonymous",onLoadedMetadata:()=>p.current&&n(p.current.duration),ref:p,src:e.src})),a().createElement(i.Grid,{columns:2},a().createElement(i.Grid.Column,null,a().createElement("div",null,a().createElement(i.Label,{content:v.t("VideoFrameSelector.labels.interval",{count:o})})),a().createElement(i.Input,{"aria-label":"Interval Selector",min:1,max:300,name:"duration",onChange:(e,t)=>{let{value:n}=t;return s(Number(n))},step:1,type:"range",value:o})),a().createElement(i.Grid.Column,{textAlign:"right"},a().createElement(i.Button,{"aria-label":"Previous Frame",basic:!0,disabled:0===l,icon:"arrow left",onClick:()=>c(Math.max(l-o,0))}),a().createElement(i.Button,{"aria-label":"Next Frame",basic:!0,disabled:l===t,icon:"arrow right",onClick:()=>c(Math.min(l+o,t))})))),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{content:v.t("Common.buttons.ok"),primary:!0,onClick:()=>{const t=p.current;if(t&&d.Browser.isBrowser()){const n=document.createElement("canvas");n.width=t.videoWidth,n.height=t.videoHeight,n.getContext("2d").drawImage(t,0,0,n.width,n.height),n.toBlob((t=>{const n=new File([t],"test.png",{lastModified:(new Date).getTime(),type:t.type});e.onSelect(n),u(!1)}))}}}),a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.cancel"),onClick:()=>u(!1)}))))))};ta.defaultProps={button:{basic:!0,content:v.t("VideoFrameSelector.buttons.select"),icon:"image"},defaultInterval:15,title:v.t("VideoFrameSelector.title")};var na=(0,w.withTranslation)()(ta),ra=require("react-syntax-highlighter"),aa=n.n(ra);function oa(){return oa=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},oa.apply(this,arguments)}const sa=e=>{const[t,n]=(0,r.useState)(!1),o=e.opener.component,s=e.opener.props;return a().createElement(B.Consumer,null,(r=>a().createElement(a().Fragment,null,a().createElement(o,oa({},s,{className:"view-xml-trigger",onClick:()=>n(!0)})),a().createElement(i.Modal,{className:"view-xml-modal",closeIcon:!0,centered:!1,mountNode:r,open:t,onClose:()=>n(!1)},a().createElement(i.Modal.Header,{content:v.t("ViewXML.title")}),a().createElement(i.Modal.Content,null,a().createElement(aa(),{language:"xml",style:e.highlighter},e.xml)),a().createElement(i.Modal.Actions,null,a().createElement(i.Button,{basic:!0,content:v.t("Common.buttons.close"),onClick:()=>n(!1)}))))))};sa.defaultProps={opener:{component:i.Button,props:{content:v.t("ViewXML.buttons.view")}},style:{maxHeight:"70vh"}};var ia=sa}},n={};function r(e){var a=n[e];if(void 0!==a)return a.exports;var o=n[e]={exports:{}};return t[e](o,o.exports,r),o.exports}r.m=t,e=[],r.O=function(t,n,a,o){if(!n){var s=1/0;for(d=0;d<e.length;d++){n=e[d][0],a=e[d][1],o=e[d][2];for(var i=!0,l=0;l<n.length;l++)(!1&o||s>=o)&&Object.keys(r.O).every((function(e){return r.O[e](n[l])}))?n.splice(l--,1):(i=!1,o<s&&(s=o));if(i){e.splice(d--,1);var c=a();void 0!==c&&(t=c)}}return t}o=o||0;for(var d=e.length;d>0&&e[d-1][2]>o;d--)e[d]=e[d-1];e[d]=[n,a,o]},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,{a:t}),t},r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},function(){var e={179:0,44:0};r.O.j=function(t){return 0===e[t]};var t=function(t,n){var a,o,s=n[0],i=n[1],l=n[2],c=0;if(s.some((function(t){return 0!==e[t]}))){for(a in i)r.o(i,a)&&(r.m[a]=i[a]);if(l)var d=l(r)}for(t&&t(n);c<s.length;c++)o=s[c],r.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return r.O(d)},n=self.webpackChunk_performant_software_semantic_components=self.webpackChunk_performant_software_semantic_components||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))}();var a=r.O(void 0,[44],(function(){return r(923)}));a=r.O(a),module.exports=a}();
|
|
2
2
|
//# sourceMappingURL=index.js.map
|