UNPKG

@jacquelinett/react-agenda

Version:

An advanced agenda / organizer built with react

6 lines 44 kB
module.exports=function(e){var t={};function a(n){if(t[n])return t[n].exports;var r=t[n]={i:n,l:!1,exports:{}};return e[n].call(r.exports,r,r.exports,a),r.l=!0,r.exports}return a.m=e,a.c=t,a.d=function(e,t,n){a.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.t=function(e,t){if(1&t&&(e=a(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(a.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)a.d(n,r,function(t){return e[t]}.bind(null,r));return n},a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,"a",t),t},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.p="",a(a.s=4)}([function(e,t){e.exports=require("react")},function(e,t,a){e.exports=a(6)()},function(e,t){e.exports=require("moment")},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.swapArrayElements=function(e,t,a){var n=e[a];return e[a]=e[t],e[t]=n,e},t.isMouseBeyond=function(e,t,a,n){var r;r=n?a/2:0;return e-t>r},t.getUnique=function(e){return e.filter((function(t,a){return e.indexOf(t)==a}))},t.getLast=i,t.getFirst=l,t.guid=function(){function e(){return Math.floor(65536*(1+Math.random())).toString(16).substring(1)}return e()+e()+"-"+e()+"-"+e()+"-"+e()+"-"+e()+e()+e()},t.mapItems=function(e,t,a){var n={};return(e=e.sort((function(e,t){return e.startDateTime-t.startDateTime}))).forEach((function(e){if(!e.startDateTime)return!1;var a=60/t,r=e.startDateTime.getMinutes()%a,o=(0,s.default)(e.startDateTime).subtract(r,"minutes").toDate(),u=(0,s.default)(e.endDateTime),d=s.default.duration(u.diff(o));e.duration=d;for(var c=Math.ceil(d.asHours()/(a/60)),f=[],p=0;p<c;p++){var h=(0,s.default)(o).add(p*a,"minutes");h=h.format("YYYY-MM-DDTHH:mm:00"),f.push(h)}f.forEach((function(t){var a=Object.keys(e).filter((function(e){return!e.includes("classes")})).reduce((function(t,a){return t[a]=e[a],t}),{});if(a.classes=n[t]?n[t].classes+" "+e.classes:e.classes||"",a.cellRefs=[l(f),i(f)],n[t]){if(n[t]._id){var r=[n[t],a];return void(n[t]=r)}return n[t][0]&&!n[t]._id?void n[t].push(a):void 0}n[t]=a}))}),this),n};var n,r=a(2),s=(n=r)&&n.__esModule?n:{default:n};function i(e){return e[e.length-1]}function l(e){return e[0]}},function(e,t,a){"use strict";var n=l(a(5)),r=l(a(11)),s=l(a(13)),i=a(3);function l(e){return e&&e.__esModule?e:{default:e}}a(22),e.exports={ReactAgenda:n.default,ReactAgendaCtrl:r.default,guid:i.guid,getUnique:i.getUnique,getLast:i.getLast,getFirst:i.getFirst,Modal:s.default}},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n,r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},s=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),i=a(0),l=p(i),o=p(a(1)),u=p(a(2)),d=p(a(8)),c=p(a(9)),f=a(3);!function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=e[a]);t.default=e}(a(10));function p(e){return e&&e.__esModule?e:{default:e}}var h,m,g=!1,v=(0,u.default)(),y=!1,b={name:"",classes:"",cellRefs:[]},_={x:0,y:0,startX:0,startY:0},D=null,E=null,C=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.state={date:(0,u.default)(),items:{},itemOverlayStyles:{},highlightedCells:[],numberOfDays:4,autoScaleNumber:0,focusedCell:null},a.handleBeforeUpdate=a.handleBeforeUpdate.bind(a),a.handleOnNextButtonClick=a.handleOnNextButtonClick.bind(a),a.handleOnPrevButtonClick=a.handleOnPrevButtonClick.bind(a),a.handleMouseClick=a.handleMouseClick.bind(a),a.handleMouseOver=a.handleMouseOver.bind(a),a.removeSelection=a.removeSelection.bind(a),a.handleAllClickStarts=a.handleAllClickStarts.bind(a),a.handleAllClickEnds=a.handleAllClickEnds.bind(a),a.onDragStart=a.onDragStart.bind(a),a.onDragEnter=a.onDragEnter.bind(a),a.onDragOver=a.onDragOver.bind(a),a.onDragEnd=a.onDragEnd.bind(a),a.onDragHandlerStart=a.onDragHandlerStart.bind(a),a.onDragHandlerEnd=a.onDragHandlerEnd.bind(a),a.getSelection=a.getSelection.bind(a),a.editEvent=a.editEvent.bind(a),a.removeEvent=a.removeEvent.bind(a),a.dragEvent=a.dragEvent.bind(a),a.duplicateEvent=a.duplicateEvent.bind(a),a.resizeEvent=a.resizeEvent.bind(a),a.updateDimensions=a.updateDimensions.bind(a),a.agendaScrollContainer=l.default.createRef(),a.cellRefMaps={},a.columnRefMaps={},a.columnRefMaps["column-0"]=l.default.createRef(),a.itemIDRefMaps={},a.hourRefMaps={},a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),s(t,[{key:"componentWillMount",value:function(){this.handleBeforeUpdate(this.props),this.props.autoScale&&window.removeEventListener("resize",this.updateDimensions),this.props.locale&&"en"!=this.props.locale&&u.default.locale(this.props.locale)}},{key:"componentWillReceiveProps",value:function(e){this.handleBeforeUpdate(e)}},{key:"componentDidMount",value:function(){this.props.autoScale&&(window.addEventListener("resize",this.updateDimensions),this.updateDimensions())}},{key:"updateDimensions",value:function(){var e=Math.round(document.getElementById("agenda-wrapper").offsetWidth/150-1);this.setState({autoScaleNumber:e,numberOfDays:e})}},{key:"getHeaderColumns",value:function(){for(var e=[],t=0;t<this.state.numberOfDays;t++)e.push((0,u.default)(this.state.date).add(t,"days").toDate());return e}},{key:"getBodyRows",value:function(){var e=[],t=60/this.props.rowsPerHour;if(this.props.startAtTime&&"number"==typeof this.props.startAtTime){for(var a=0;a<24*this.props.rowsPerHour;a++)0!=this.props.endAtTime&&(this.props.endAtTime-this.props.startAtTime)*this.props.rowsPerHour>=a&&e.push((0,u.default)(this.state.date).hours(this.props.startAtTime).minutes(0).seconds(0).milliseconds(0).add(Math.floor(a*t),"minutes"));return e}for(a=0;a<24*this.props.rowsPerHour;a++)e.push((0,u.default)(this.state.date).hours(0).minutes(0).seconds(0).milliseconds(0).add(Math.floor(a*t),"minutes"));return e}},{key:"getMinuteCells",value:function(e){for(var t=[],a=0;a<this.state.numberOfDays;a++){var n=(0,u.default)(e).add(a,"days").format("YYYY-MM-DDTHH:mm:ss");this.cellRefMaps[n]=l.default.createRef(),t.push({cellRef:n,item:this.state.items[n]||b})}return t}},{key:"handleBeforeUpdate",value:function(e){e.hasOwnProperty("startDate")&&e.startDate!==this.state.date.toDate()&&this.setState({date:(0,u.default)(e.startDate)}),e.hasOwnProperty("items")&&this.setState({items:(0,f.mapItems)(e.items,e.rowsPerHour,e.timezone)}),e.hasOwnProperty("numberOfDays")&&e.numberOfDays!==this.state.numberOfDays&&!this.props.autoScale&&this.setState({numberOfDays:e.numberOfDays}),!e.hasOwnProperty("minDate")||this.state.hasOwnProperty("minDate")&&e.minDate===this.state.minDate.toDate()||this.setState({minDate:(0,u.default)(e.minDate)}),!e.hasOwnProperty("maxDate")||this.state.hasOwnProperty("maxDate")&&e.maxDate===this.state.maxDate.toDate()||this.setState({maxDate:(0,u.default)(e.maxDate)})}},{key:"handleOnNextButtonClick",value:function(){var e=(0,u.default)(this.state.date).add(this.state.numberOfDays,"days");this.state.hasOwnProperty("maxDate")&&(e=u.default.min(e,this.state.maxDate));var t=e,a=(0,u.default)(t).add(this.state.numberOfDays-1,"days");e!==this.state.date&&this.setState({date:e}),this.props.onDateRangeChange&&this.props.onDateRangeChange(t.startOf("day").toDate(),a.endOf("day").toDate())}},{key:"handleOnPrevButtonClick",value:function(){var e=(0,u.default)(this.state.date).subtract(this.state.numberOfDays,"days");this.state.hasOwnProperty("minDate")&&(e=u.default.max(e,this.state.minDate));var t=e,a=(0,u.default)(t).add(this.state.numberOfDays-1,"days");e!==this.state.date&&this.setState({date:e}),this.props.onDateRangeChange&&this.props.onDateRangeChange(t.toDate(),a.toDate())}},{key:"handleMouseClick",value:function(e,t){if("string"!=typeof e&&e.tagName){var a=(0,u.default)(e.innerText,["h:mm A"]).format("HH"),n=parseInt(a),r=new Date,s=new Date(r.getFullYear(),r.getMonth(),r.getDate(),n+1,0),i=s.toISOString().substring(0,s.toISOString().length-5);if(this.props.onCellSelect)return this.props.onCellSelect(i,t)}this.props.onCellSelect&&this.props.onCellSelect(e,t)}},{key:"setMousePosition",value:function(e){var t=e||window.event;_.x=t.pageX,_.y=t.pageY}},{key:"handleMouseOver",value:function(e){if(this.setMousePosition(e),0===e.buttons)return!1;if(e.preventDefault?e.preventDefault():e.returnValue=!1,this.removeSelection(),D&&(D.style.width=Math.abs(_.x-_.startX)+"px",D.style.height=Math.abs(_.y-_.startY)+"px",D.style.left=_.x-_.startX<0?_.x+"px":_.startX+"px",D.style.top=_.y-_.startY<0?_.y+"px":_.startY+"px"),E&&(E.style.left=_.x+"px",E.style.top=_.y+"px",e.target.classList.contains("agenda__cell")&&!e.target.classList.contains("--time"))){var t=(0,u.default)(n),a=(0,u.default)(e.target.id);E.innerHTML=a.diff(t)>0?t.format("LT")+" -- "+a.format("LT"):a.format("LT")+" -- "+t.format("LT")}}},{key:"removeSelection",value:function(){for(var e=document.getElementsByClassName("agenda__cell_selected"),t=e.length-1;t>=0;--t)e[t]&&e[t].classList.remove("agenda__cell_selected")}},{key:"handleAllClickStarts",value:function(e,t){if(!0,this.removeSelection(),e.target.classList.contains("--time")||e.target.classList.contains("--time-now")&&!g)return this.handleMouseClick(e.target);if(e.target.classList.contains("agenda__cell")&&!e.target.classList.contains("--time")&&!g){if(this.removeSelection(),e.target.classList.toggle("agenda__cell_selected"),n=e.target.id,0===e.buttons)return!1;this.handleMouseClick(e.target.id),_.startX=_.x,_.startY=_.y,(D=document.createElement("div")).className="rectangle",D.style.left=_.x+"px",D.style.top=_.y+"px",document.body.appendChild(D),this.props.helper&&((E=document.createElement("div")).className="helper-reactangle",document.body.appendChild(E))}}},{key:"handleAllClickEnds",value:function(e,t){!1,g=!1,h=e.target.id;for(var a=document.getElementsByClassName("rectangle"),r=document.getElementsByClassName("helper-reactangle"),s=a.length-1;s>=0;--s)a[s]&&a[s].remove();for(s=r.length-1;s>=0;--s)r[s]&&r[s].remove();if(D=null,E=null,n&&h&&n!=h)return this.getSelection(n,h)}},{key:"onDragStart",value:function(e){g=!0,!1,e.target.id,e.dataTransfer.setData("text/html",e.target),e.dataTransfer.dropEffect="move",e.dataTransfer.setDragImage(e.target,0,0)}},{key:"onDragEnter",value:function(e){e.preventDefault(),g||this.removeSelection(),e.dataTransfer.dropEffect="move",e.ctrlKey&&(e.dataTransfer.effectAllowed="copy",e.dataTransfer.dropEffect="copy")}},{key:"onDragOver",value:function(e){return e.preventDefault(),e.stopPropagation(),e.target.id!==m&&(e.ctrlKey?(e.dataTransfer.effectAllowed="copy",y=!0):e.dataTransfer.dropEffect="move",e.target.classList.contains("cell-item")?m=e.target.parentNode.parentNode.id:e.target.classList.contains("handler")||e.target.classList.contains("dragDiv")?m=e.target.parentNode.id:void(m=e.target.id))}},{key:"dragEvent",value:function(e,t){if(this.props.onChangeEvent){var a,n=t;if(this.refs[t]){"TD"!==this.refs[t].tagName&&(n=this.refs[t].parentNode.id);var r=this.props.items;if(e&&n&&r){for(var s in r)if(r[s]._id===e){var i=(0,u.default)(r[s].startDateTime),l=(0,u.default)(r[s].endDateTime),o=u.default.duration(l.diff(i)),d=(0,u.default)(n).subtract(o%(60/this.state.rowsPerHour)),c=(0,u.default)(d).add(o);r[s].startDateTime=new Date(d),r[s].endDateTime=new Date(c),a=r[s];break}this.props.onChangeEvent(r,a)}}}}},{key:"duplicateEvent",value:function(e,t){var a,n=t;if(this.refs[t]){"TD"!==this.refs[t].tagName&&(n=this.refs[t].parentNode.id);var r=this.props.items;if(e&&n&&r)for(var s in r)if(r[s]._id===e){a=Object.assign({},r[s],{_id:(0,f.guid)()});var i=(0,u.default)(a.startDateTime),l=(0,u.default)(a.endDateTime),o=u.default.duration(l.diff(i)),d=(0,u.default)(n),c=(0,u.default)(d).add(o);a.startDateTime=new Date(d),a.endDateTime=new Date(c),r.push(a),this.props.onChangeEvent&&this.props.onChangeEvent(r,a);break}}}},{key:"resizeEvent",value:function(e,t){if(this.props.onChangeDuration){var a=this.props.items;if(e&&t&&a)for(var n in a)if(a[n]._id===e){if(new Date(t)-new Date(a[n].startDateTime)<1){var r=new Date(a[n].startDateTime);return a[n].endDateTime=new Date(r.getFullYear(),r.getMonth(),r.getDate(),r.getHours(),r.getMinutes()+15,0),this.setState({items:a}),this.props.onChangeDuration(a,a[n])}var s=(0,u.default)(t);return a[n].endDateTime=new Date(s),this.props.onChangeDuration(a,a[n])}}}},{key:"onDragEnd",value:function(e){var t=m;y?this.duplicateEvent(e.target.id,t):this.dragEvent(e.target.id,t),g=!1,!1,y=!1,m="",""}},{key:"onDragHandlerStart",value:function(e){g=!0,e.dataTransfer.setData("text/html",e.target),e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="all"}},{key:"onDragHandlerEnd",value:function(e,t){if(void 0!==(void 0===m?"undefined":r(m))&&""!==m){var a=e.target.id||e.target.offsetParent.id;if(this.refs[m]&&this.refs[e.target.id]&&"DIV"===this.refs[e.target.id].tagName&&"DIV"===this.refs[m].tagName)return a=e.target.id,m=this.refs[m].parentNode.id,this.resizeEvent(a,m);if(""!==m||this.refs[m]||"DIV"!==this.refs[e.target.id].tagName){if(!this.refs[m]&&m){var n=document.getElementById(m);m=n.parentNode.id}this.resizeEvent(a,m),g=!1,!1,m=""}else m=this.refs[e.target.id].parentNode.id}}},{key:"getSelection",value:function(e,t){var a=(0,u.default)(e),n=(0,u.default)(t).diff(a)>0?[e,t]:[t,e];this.props.onRangeSelection(n)}},{key:"editEvent",value:function(e){this.props.onItemEdit&&this.props.onItemEdit(e,!0)}},{key:"removeEvent",value:function(e){var t=this.props.items.filter((function(t){return t._id!==e._id}));this.props.onItemRemove&&this.props.onItemRemove(t,e)}},{key:"render",value:function(){var e=this.props.itemColors,t=this.props.itemComponent?this.props.itemComponent:d.default,a=function(e,a){var n={agenda__cell:!0};e.item.forEach((function(e){n[e.classes]=!0}));var r=(0,c.default)(n),s=r.split(" ");s=(s=s.filter((function(e){return!e.includes("agenda__cell")}))).filter((function(e){return!e.includes("undefined")}));var i={height:this.props.cellHeight+"px"},o=e.item.map(function(a,n){var r=(0,f.getLast)(a.cellRefs),s=(0,f.getFirst)(a.cellRefs);return s===e.cellRef?(null==this.cellRefMaps[e.cellRef]&&(this.cellRefMaps[e.cellRef]=l.default.createRef()),l.default.createElement("div",{id:a._id,ref:this.cellRefMaps[e.cellRef],key:n,className:"dragDiv",onDragStart:this.onDragStart,onDragEnd:this.onDragEnd,draggable:"true"},s===e.cellRef?l.default.createElement(t,{item:a,parent:e.cellRef,rowsPerHour:this.props.rowsPerHour,edit:this.props.onItemEdit?this.editEvent:null,remove:this.props.onItemRemove?this.removeEvent:null,days:this.props.numberOfDays,index:n,count:e.item.length}):"")):r===e.cellRef&&this.props.onChangeDuration?l.default.createElement("div",{className:"handler",style:{marginLeft:8*(n+1)+"px"},id:a._id,key:a._id,onDragStart:this.onDragHandlerStart,onDragEnd:this.onDragHandlerEnd,draggable:"true"},l.default.createElement("i",{className:"resize-handle-icon"})):""}.bind(this));return null==this.cellRefMaps[e.cellRef]&&(this.cellRefMaps[e.cellRef]=l.default.createRef()),l.default.createElement("td",{ref:this.cellRefMaps[e.cellRef],key:"cell-"+a,className:r,style:i,id:e.cellRef},o)}.bind(this),n=function(n,r){if(n.item[0]&&!n.item._id)return a(n,r);var s={agenda__cell:!0};if(s[n.item.classes]=!0,n.item.cellRefs)var i=(0,f.getLast)(n.item.cellRefs),o=(0,f.getFirst)(n.item.cellRefs);var u=(0,c.default)(s),d=u.split(" ");d=(d=d.filter((function(e){return!e.includes("agenda__cell")}))).filter((function(e){return!e.includes("undefined")}));var p=[];d.forEach((function(t){t.length>0&&p.push(e[t])}));var h={height:this.props.cellHeight+"px"};return d.length>1&&(h={background:"linear-gradient(to left,"+(p=p.join(" , "))+")",height:this.props.cellHeight+"px"}),1==d.length&&(h={background:p[0],height:this.props.cellHeight+"px"}),null==this.cellRefMaps[n.cellRef]&&(this.cellRefMaps[n.cellRef]=l.default.createRef()),null==this.itemIDRefMaps[n.item._id]&&(this.itemIDRefMaps[n.item._id]=l.default.createRef()),l.default.createElement("td",{ref:this.cellRefMaps[n.cellRef],key:"cell-"+r,className:u,style:h,id:n.cellRef},o===n.cellRef?l.default.createElement("div",{id:n.item._id,ref:this.itemIDRefMaps[n.item._id],className:"dragDiv",onDragStart:this.onDragStart,onDragEnd:this.onDragEnd,draggable:"true"},o===n.cellRef?l.default.createElement(t,{item:n.item,parent:n.cellRef,rowsPerHour:this.props.rowsPerHour,edit:this.props.onItemEdit?this.editEvent:null,remove:this.props.onItemRemove?this.removeEvent:null,days:this.props.numberOfDays}):""):"",i===n.cellRef&&this.props.onChangeDuration?l.default.createElement("div",{className:"handler",id:n.item._id,onDragStart:this.onDragHandlerStart,onDragEnd:this.onDragHandlerEnd,draggable:"true"},l.default.createElement("i",{className:"resize-handle-icon"})):"")};return l.default.createElement("div",{className:"agenda",id:"agenda-wrapper",style:{height:"inherit"}},this.props.showHeader?l.default.createElement("div",{className:"agenda__table --header"},l.default.createElement("table",null,l.default.createElement("thead",null,l.default.createElement("tr",null,l.default.createElement("th",{ref:this.columnRefMaps["column-0"],className:"agenda__cell --controls"}),this.getHeaderColumns(this.props.view).map((function(e,t){var a=(0,u.default)(e);return a.locale(this.props.locale),null==this.columnRefMaps["column-"+(t+1)]&&(this.columnRefMaps["column-"+(t+1)]=l.default.createRef()),l.default.createElement("th",{ref:this.columnRefMaps["column-"+(t+1)],key:"col-"+t,className:"agenda__cell --head"},this.props.headFormat?a.format(this.props.headFormat):a.format("dddd DD MMM YY"))}),this))))):"",l.default.createElement("div",{ref:this.agendaScrollContainer,className:"agenda__table --body",style:{position:"relative"}},l.default.createElement("table",{cellSpacing:"0",cellPadding:"0"},l.default.createElement("tbody",{onMouseDown:this.handleAllClickStarts,onDragEnter:this.onDragEnter,onDragOver:this.onDragOver,onMouseUp:this.handleAllClickEnds,onMouseOver:this.handleMouseOver},this.getBodyRows().map((function(e,t){if(t%this.props.rowsPerHour==0){var a="hour-"+Math.floor(t/this.props.rowsPerHour),r=(0,u.default)(e),s=r.diff(v,"minutes");return null==this.hourRefMaps[a]&&(this.hourRefMaps[a]=l.default.createRef()),r.locale(this.props.locale),l.default.createElement("tr",{key:"row-"+t,ref:this.hourRefMaps[a],draggable:!1,className:"agenda__row --hour-start"},l.default.createElement("td",{className:s<=0&&s>=-60?"disable-select agenda__cell --time-now":"disable-select agenda__cell --time",rowSpan:this.props.rowsPerHour},r.format("LT")),this.getMinuteCells(e).map(n,this))}return l.default.createElement("tr",{key:"row-"+t},this.getMinuteCells(e).map(n,this))}),this)))))}}]),t}(i.Component);t.default=C,C.propTypes={minDate:o.default.instanceOf(Date),maxDate:o.default.instanceOf(Date),startDate:o.default.instanceOf(Date),startAtTime:o.default.number,endAtTime:o.default.number,cellHeight:o.default.number,view:o.default.string,locale:o.default.string,items:o.default.array,helper:o.default.bool,itemComponent:o.default.element,numberOfDays:o.default.number,headFormat:o.default.string,rowsPerHour:o.default.number,itemColors:o.default.object,fixedHeader:o.default.bool,autoScaleNumber:o.default.bool,showHeader:o.default.bool},C.defaultProps={minDate:new Date,maxDate:new Date((new Date).getFullYear(),(new Date).getMonth()+3),startDate:new Date,startAtTime:0,endAtTime:0,cellHeight:15,view:"agenda",locale:"en",helper:!0,items:[],autoScale:!1,itemComponent:d.default,numberOfDays:4,headFormat:"ddd DD MMM",rowsPerHour:4,itemColors:{"color-1":"rgba(102, 195, 131 , 1)","color-2":"rgba(242, 177, 52, 1)","color-3":"rgba(235, 85, 59, 1)","color-4":"rgba(70, 159, 213, 1)"},fixedHeader:!0,showHeader:!0}},function(e,t,a){"use strict";var n=a(7);function r(){}function s(){}s.resetWarningCache=r,e.exports=function(){function e(e,t,a,r,s,i){if(i!==n){var l=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw l.name="Invariant Violation",l}}function t(){return e}e.isRequired=e;var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:s,resetWarningCache:r};return a.PropTypes=a,a}},function(e,t,a){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},r=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),s=u(a(2)),i=u(a(1)),l=a(0),o=u(l);a(3);function u(e){return e&&e.__esModule?e:{default:e}}a(15);var d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var a=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e)),n="rgba(255, 255, 255, 1)";return"deadline"==a.props.item.type?n="rgba(253, 185, 45, 1)":"accepted"==a.props.item.acceptStatus.response&&(n="rgba(0, 111, 207, 1)"),a.state={wrapper:{width:"150px",height:"30px",zIndex:5,border:"deadline"==a.props.item.type?"1px solid #FDB92D":"1px solid #006FCF",backgroundColor:n,color:"accepted"==a.props.item.acceptStatus.response?"rgba(255, 255, 255, 1)":"rgba(0, 111, 207, 1)"},controls:{}},a.updateDimensions=a.updateDimensions.bind(a),a.raiseZindex=a.raiseZindex.bind(a),a.lowerZindex=a.lowerZindex.bind(a),a}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),r(t,[{key:"updateDimensions",value:function(){var e=document.getElementById(this.props.parent),t=Math.abs(this.props.item.endDateTime-this.props.item.startDateTime)/36e5,a=this.props.count?this.props.count:1;if(e){var r=this.props.index?e.offsetWidth/a*this.props.index:0;return this.setState({wrapper:n({},this.state.wrapper,{width:e.offsetWidth/a+"px",height:e.offsetHeight*this.props.rowsPerHour*t+"px",marginTop:-e.offsetHeight/2+"px",marginLeft:r-10+"px",zIndex:5})})}}},{key:"componentWillReceiveProps",value:function(e,t){setTimeout(function(){this.updateDimensions()}.bind(this),50)}},{key:"componentDidMount",value:function(){window.addEventListener("resize",this.updateDimensions),this.updateDimensions()}},{key:"componentWillUnmount",value:function(){window.removeEventListener("resize",this.updateDimensions)}},{key:"lowerZindex",value:function(e){var t=this.state.wrapper;if(8===t.zIndex){var a={wrapper:Object.assign({},t,{zIndex:5})};return this.setState(a)}}},{key:"raiseZindex",value:function(e){var t=this.state.wrapper;if(5===t.zIndex){var a={wrapper:Object.assign({},t,{zIndex:8})};return this.setState(a)}}},{key:"render",value:function(){var e=this,t=(s.default.duration(this.props.item.duration._milliseconds,"Milliseconds").humanize(),(0,s.default)(this.props.item.startDateTime).format("HH:mm")),a=(0,s.default)(this.props.item.endDateTime).format("HH:mm");return o.default.createElement("div",{style:this.state.wrapper,className:"agenda-cell-item",onMouseEnter:this.raiseZindex,onMouseLeave:this.lowerZindex,onClick:function(){return e.props.edit(e.props.item)}},o.default.createElement("div",{className:"agenda-item-description"},o.default.createElement("p",null,this.props.item.name),o.default.createElement("p",null,t," - ",a)))}}]),t}(l.Component);t.default=d,d.propTypes={parent:i.default.string,item:i.default.object,padder:i.default.number,edit:i.default.func,remove:i.default.func},d.defaultProps={parent:"body",item:{},padder:0}},function(e,t,a){var n; /*! Copyright (c) 2018 Jed Watson. Licensed under the MIT License (MIT), see http://jedwatson.github.io/classnames */!function(){"use strict";var a={}.hasOwnProperty;function r(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var s=typeof n;if("string"===s||"number"===s)e.push(n);else if(Array.isArray(n)){if(n.length){var i=r.apply(null,n);i&&e.push(i)}}else if("object"===s){if(n.toString!==Object.prototype.toString&&!n.toString.toString().includes("[native code]")){e.push(n.toString());continue}for(var l in n)a.call(n,l)&&n[l]&&e.push(l)}}}return e.join(" ")}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},function(e,t,a){"use strict";var n;!function(e){var t=function(){function e(){this._dropEffect="move",this._effectAllowed="all",this._data={}}return Object.defineProperty(e.prototype,"dropEffect",{get:function(){return this._dropEffect},set:function(e){this._dropEffect=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"effectAllowed",{get:function(){return this._effectAllowed},set:function(e){this._effectAllowed=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"types",{get:function(){return Object.keys(this._data)},enumerable:!0,configurable:!0}),e.prototype.clearData=function(e){null!=e?delete this._data[e]:this._data=null},e.prototype.getData=function(e){return this._data[e]||""},e.prototype.setData=function(e,t){this._data[e]=t},e.prototype.setDragImage=function(e,t,n){var r=a._instance;r._imgCustom=e,r._imgOffset={x:t,y:n}},e}();e.DataTransfer=t;var a=function(){function e(){if(this._lastClick=0,e._instance)throw"DragDropTouch instance already created.";if("ontouchstart"in document){var t=document,a=this._touchstart.bind(this),n=this._touchmove.bind(this),r=this._touchend.bind(this);t.addEventListener("touchstart",a),t.addEventListener("touchmove",n),t.addEventListener("touchend",r),t.addEventListener("touchcancel",r)}}return e.getInstance=function(){return e._instance},e.prototype._touchstart=function(t){var a=this;if(this._shouldHandle(t)){if(Date.now()-this._lastClick<e._DBLCLICK&&this._dispatchEvent(t,"dblclick",t.target))return t.preventDefault(),void this._reset();this._reset();var n=this._closestDraggable(t.target);n&&(this._dispatchEvent(t,"mousemove",t.target)||this._dispatchEvent(t,"mousedown",t.target)||(this._dragSource=n,this._ptDown=this._getPoint(t),this._lastTouch=t,t.preventDefault(),setTimeout((function(){a._dragSource==n&&null==a._img&&a._dispatchEvent(t,"contextmenu",n)&&a._reset()}),e._CTXMENU)))}},e.prototype._touchmove=function(t){if(this._shouldHandle(t)){var a=this._getTarget(t);if(this._dispatchEvent(t,"mousemove",a))return this._lastTouch=t,void t.preventDefault();if(this._dragSource&&!this._img)this._getDelta(t)>e._THRESHOLD&&(this._dispatchEvent(t,"dragstart",this._dragSource),this._createImage(t),this._dispatchEvent(t,"dragenter",a));this._img&&(this._lastTouch=t,t.preventDefault(),a!=this._lastTarget&&(this._dispatchEvent(this._lastTouch,"dragleave",this._lastTarget),this._dispatchEvent(t,"dragenter",a),this._lastTarget=a),this._moveImage(t),this._dispatchEvent(t,"dragover",a))}},e.prototype._touchend=function(e){if(this._shouldHandle(e)){if(this._dispatchEvent(this._lastTouch,"mouseup",e.target))return void e.preventDefault();this._img||(this._dragSource=null,this._dispatchEvent(this._lastTouch,"click",e.target),this._lastClick=Date.now()),this._destroyImage(),this._dragSource&&(e.type.indexOf("cancel")<0&&this._dispatchEvent(this._lastTouch,"drop",this._lastTarget),this._dispatchEvent(this._lastTouch,"dragend",this._dragSource),this._reset())}},e.prototype._shouldHandle=function(e){return e&&!e.defaultPrevented&&e.touches&&e.touches.length<2},e.prototype._reset=function(){this._destroyImage(),this._dragSource=null,this._lastTouch=null,this._lastTarget=null,this._ptDown=null,this._dataTransfer=new t},e.prototype._getPoint=function(e,t){return e&&e.touches&&(e=e.touches[0]),{x:t?e.pageX:e.clientX,y:t?e.pageY:e.clientY}},e.prototype._getDelta=function(e){var t=this._getPoint(e);return Math.abs(t.x-this._ptDown.x)+Math.abs(t.y-this._ptDown.y)},e.prototype._getTarget=function(e){for(var t=this._getPoint(e),a=document.elementFromPoint(t.x,t.y);a&&"none"==getComputedStyle(a).pointerEvents;)a=a.parentElement;return a},e.prototype._createImage=function(t){this._img&&this._destroyImage();var a=this._imgCustom||this._dragSource;if(this._img=a.cloneNode(!0),this._copyStyle(a,this._img),this._img.style.top=this._img.style.left="-9999px",this._img.style["-webkit-transform"]="translateX(-9999px) translateY(-9999px)",!this._imgCustom){var n=a.getBoundingClientRect(),r=this._getPoint(t);this._imgOffset={x:r.x-n.left,y:r.y-n.top},this._img.style.opacity=e._OPACITY.toString()}this._moveImage(t),document.body.appendChild(this._img)},e.prototype._destroyImage=function(){this._img&&this._img.parentElement&&this._img.parentElement.removeChild(this._img),this._img=null,this._imgCustom=null},e.prototype._moveImage=function(e){var t=this;requestAnimationFrame((function(){var a=t._getPoint(e,!0),n=t._img.style;n.position="fixed",n.pointerEvents="none",n.zIndex="999999",n.top=n.left="0px";Math.round(a.x-t._imgOffset.x),Math.round(a.y-t._imgOffset.y)}))},e.prototype._copyProps=function(e,t,a){for(var n=0;n<a.length;n++){var r=a[n];e[r]=t[r]}},e.prototype._copyStyle=function(t,a){if(e._rmvAtts.forEach((function(e){a.removeAttribute(e)})),t instanceof HTMLCanvasElement){var n=t,r=a;r.width=n.width,r.height=n.height,r.getContext("2d").drawImage(n,0,0)}for(var s=getComputedStyle(t),i=0;i<s.length;i++){var l=s[i];a.style[l]=s[l]}a.style.pointerEvents="none";for(i=0;i<t.children.length;i++)this._copyStyle(t.children[i],a.children[i])},e.prototype._dispatchEvent=function(t,a,n){if(t&&n){var r=document.createEvent("Event"),s=t.touches?t.touches[0]:t;return r.initEvent(a,!0,!0),r.button=0,r.which=r.buttons=1,this._copyProps(r,t,e._kbdProps),this._copyProps(r,s,e._ptProps),r.dataTransfer=this._dataTransfer,n.dispatchEvent(r),r.defaultPrevented}return!1},e.prototype._closestDraggable=function(e){for(;e;e=e.parentElement)if(e.hasAttribute("draggable"))return e;return null},e._instance=new e,e._THRESHOLD=5,e._OPACITY=.5,e._DBLCLICK=500,e._CTXMENU=900,e._rmvAtts="id,class,style,draggable".split(","),e._kbdProps="altKey,ctrlKey,metaKey,shiftKey".split(","),e._ptProps="pageX,pageY,clientX,clientY,screenX,screenY".split(","),e}();e.DragDropTouch=a}(n||(n={}))},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),r=a(0),s=d(r),i=d(a(1)),l=d(a(2)),o=a(3),u=d(a(12));function d(e){return e&&e.__esModule?e:{default:e}}a(20);var c=new Date,f=function(e){function t(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);var e=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.state={editMode:!1,showCtrl:!1,multiple:{},name:"",classes:"priority-1",startDateTime:c,endDateTime:c},e.handleDateChange=e.handleDateChange.bind(e),e.addEvent=e.addEvent.bind(e),e.updateEvent=e.updateEvent.bind(e),e.dispatchEvent=e.dispatchEvent.bind(e),e.handleSubmit=e.handleSubmit.bind(e),e.handleEdit=e.handleEdit.bind(e),e.eventName=s.default.createRef(),e}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(t,e),n(t,[{key:"componentDidMount",value:function(){if(this.props.itemColors&&this.setState({classes:Object.keys(this.props.itemColors)[0]}),setTimeout(function(){this.refs.eventName&&this.refs.eventName.focus()}.bind(this),50),!this.props.selectedCells){var e=c,t=(0,l.default)(c).add(15,"Minutes");return this.setState({editMode:!1,name:"",startDateTime:e,endDateTime:t})}if(this.props.selectedCells&&this.props.selectedCells[0]&&this.props.selectedCells[0]._id){var a=(0,l.default)(this.props.selectedCells[0].startDateTime),n=(0,l.default)(this.props.selectedCells[0].endDateTime);return this.setState({editMode:!0,name:this.props.selectedCells[0].name,classes:this.props.selectedCells[0].classes,startDateTime:a,endDateTime:n})}if(this.props.selectedCells&&1===this.props.selectedCells.length){var r=(0,l.default)((0,o.getFirst)(this.props.selectedCells)),s=(0,l.default)((0,o.getLast)(this.props.selectedCells)).add(15,"Minutes");return this.setState({editMode:!1,name:"",startDateTime:r,endDateTime:s})}if(this.props.selectedCells&&this.props.selectedCells.length>0){var i=(0,l.default)((0,o.getFirst)(this.props.selectedCells)),u=(0,l.default)((0,o.getLast)(this.props.selectedCells))||c;this.setState({editMode:!1,name:"",startDateTime:i,endDateTime:u})}}},{key:"handleChange",value:function(e){"BUTTON"===e.target.tagName&&e.preventDefault();var t=this.state;t[e.target.name]=e.target.value,this.setState(t)}},{key:"handleDateChange",value:function(e,t){var a=(0,l.default)(this.state.endDateTime),n=this.state;n[e]=t,"startDateTime"===e&&a.diff(t)<0&&(n.endDateTime=(0,l.default)(t).add(15,"minutes")),this.setState(n)}},{key:"dispatchEvent",value:function(e){var t=[],a=this.props.items;if(e.multiple){var n=e.multiple;return Object.keys(n).forEach(function(r){var s=n[r].filter((function(e,t){return n[r].indexOf(e)==t})),i=s[0],l=s[s.length-1]||c,u={_id:(0,o.guid)(),name:e.name,startDateTime:new Date(i),endDateTime:new Date(l),classes:e.classes};a.push(u),t.push(u)}.bind(this)),this.props.Addnew(a,t)}e._id=(0,o.guid)(),a.push(e),this.props.Addnew(a,e)}},{key:"addEvent",value:function(e){if(!(this.state.name.length<1)){if(this.props.selectedCells&&this.props.selectedCells.length>0){var t=this.props.selectedCells.reduce((function(e,t,a,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:t.substring(0,10);return(e[r]=e[r]||[]).push(t),e}),{});if(Object.values(t).length>1){var a={name:this.state.name,startDateTime:new Date(this.state.startDateTime),endDateTime:new Date(this.state.endDateTime),classes:this.state.classes,multiple:t};return this.dispatchEvent(a)}}a={name:this.state.name,startDateTime:new Date(this.state.startDateTime),endDateTime:new Date(this.state.endDateTime),classes:this.state.classes};this.dispatchEvent(a)}}},{key:"updateEvent",value:function(e){if(this.props.selectedCells[0]._id&&this.props.items){for(var t={_id:this.props.selectedCells[0]._id,name:this.state.name,startDateTime:new Date(this.state.startDateTime),endDateTime:new Date(this.state.endDateTime),classes:this.state.classes},a=this.props.items,n=0;n<a.length;n++)a[n]._id===t._id&&(a[n]=t);this.props.edit&&this.props.edit(a,t)}}},{key:"handleSubmit",value:function(e){e.preventDefault(),this.addEvent(e)}},{key:"handleEdit",value:function(e){e.preventDefault(),this.updateEvent(e)}},{key:"render",value:function(){var e=Object.keys(this.props.itemColors).map(function(e,t){return s.default.createElement("div",{style:{background:this.props.itemColors[e]},className:"agendCtrls-radio-buttons",key:e},s.default.createElement("button",{name:"classes",value:e,className:this.state.classes===e?"agendCtrls-radio-button--checked":"agendCtrls-radio-button",onClick:this.handleChange.bind(this)}))}.bind(this)),t={};if(this.state.editMode){this.props.selectedCells[0];return s.default.createElement("div",{className:"agendCtrls-wrapper",style:t},s.default.createElement("form",{onSubmit:this.handleEdit},s.default.createElement("div",{className:"agendCtrls-label-wrapper"},s.default.createElement("div",{className:"agendCtrls-label-inline"},s.default.createElement("label",null,"Event name"),s.default.createElement("input",{type:"text",name:"name",autoFocus:!0,ref:this.eventName,className:"agendCtrls-event-input",value:this.state.name,onChange:this.handleChange.bind(this),placeholder:"Event Name"})),s.default.createElement("div",{className:"agendCtrls-label-inline "},s.default.createElement("label",null,"Color"),s.default.createElement("div",{className:"agendCtrls-radio-wrapper"},e))),s.default.createElement("div",{className:"agendCtrls-timePicker-wrapper"},s.default.createElement("div",{className:"agendCtrls-time-picker"},s.default.createElement("label",null,"Start Date"),s.default.createElement(u.default,{value:this.state.startDateTime,onChange:this.handleDateChange.bind(null,"startDateTime"),input:!1,viewMode:"time"})),s.default.createElement("div",{className:"agendCtrls-time-picker"},s.default.createElement("label",null,"End Date"),s.default.createElement(u.default,{value:this.state.endDateTime,onChange:this.handleDateChange.bind(null,"endDateTime"),input:!1,viewMode:"time"}))),s.default.createElement("input",{type:"submit",value:"Save"})))}return s.default.createElement("div",{className:"agendCtrls-wrapper",style:t},s.default.createElement("form",{onSubmit:this.handleSubmit},s.default.createElement("div",{className:"agendCtrls-label-wrapper"},s.default.createElement("div",{className:"agendCtrls-label-inline"},s.default.createElement("label",null,"Event name"),s.default.createElement("input",{type:"text",ref:this.createEvent,autoFocus:!0,name:"name",className:"agendCtrls-event-input",value:this.state.name,onChange:this.handleChange.bind(this),placeholder:"Event Name"})),s.default.createElement("div",{className:"agendCtrls-label-inline"},s.default.createElement("label",null,"Color"),s.default.createElement("div",{className:"agendCtrls-radio-wrapper"},e))),s.default.createElement("div",{className:"agendCtrls-timePicker-wrapper"},s.default.createElement("div",{className:"agendCtrls-time-picker"},s.default.createElement("label",null,"Start Date"),s.default.createElement(u.default,{value:this.state.startDateTime,onChange:this.handleDateChange.bind(null,"startDateTime"),input:!1,viewMode:"time"})),s.default.createElement("div",{className:"agendCtrls-time-picker"},s.default.createElement("label",null,"End Date"),s.default.createElement(u.default,{value:this.state.endDateTime,onChange:this.handleDateChange.bind(null,"endDateTime"),input:!1,viewMode:"time"}))),s.default.createElement("input",{type:"submit",value:"Save"})))}}]),t}(r.Component);t.default=f,f.propTypes={items:i.default.array,itemColors:i.default.object,selectedCells:i.default.array,edit:i.default.func,Addnew:i.default.func},f.defaultProps={items:[],itemColors:{},selectedCells:[]}},function(e,t){e.exports=require("react-datetime")},function(e,t,a){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var a=0;a<t.length;a++){var n=t[a];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,a,n){return a&&e(t.prototype,a),n&&e(t,n),t}}(),r=a(0),s=o(r),i=o(a(14)),l=o(a(1));function o(e){return e&&e.__esModule?e:{default:e}}function u(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function c(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var f=function(e){function t(){return u(this,t),d(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return c(t,e),n(t,[{key:"render",value:function(){return this.props.frameless?s.default.createElement("div",{className:"modal-nude box-card"},s.default.createElement("a",{onClick:this.props.closeFunc,className:"modal-close"},"X"),s.default.createElement("div",{className:"modal-title"}," ",this.props.title),this.props.children):s.default.createElement("div",{className:"modal box-card"},s.default.createElement("a",{onClick:this.props.closeFunc,className:"modal-close"},"X"),s.default.createElement("div",{className:"modal-title"}," ",this.props.title),this.props.children)}}]),t}(r.Component);f.propTypes={title:l.default.string,frameless:l.default.bool,children:l.default.element,closeFunc:l.default.func},f.defaultProps={title:"",frameless:!1};var p=function(e){function t(e){u(this,t);var a=d(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return a.clickedOutside=a.clickedOutside.bind(a),a.closeFunc=a.closeFunc.bind(a),a}return c(t,e),n(t,[{key:"componentDidMount",value:function(){this.modalWrapperTarget=document.createElement("div"),this.modalWrapperTarget.className="modal-wrapper",this.modalWrapperTarget.addEventListener("click",this.clickedOutside),this.modalWrapperTarget.addEventListener("click",this.clickedOutside),this.modalWrapperTarget.addEventListener("keydown",this.clickedOutside,!0),document.body.appendChild(this.modalWrapperTarget),this._render()}},{key:"clickedOutside",value:function(e){if("Escape"==e.key||"Esc"==e.key||27==e.keyCode)return e.preventDefault(),this.props.clickOutside(e),!1;this.props.clickOutside&&e.target.classList.contains("modal-wrapper")&&this.props.clickOutside(e)}},{key:"closeFunc",value:function(e){this.props.clickOutside&&this.props.clickOutside(e)}},{key:"_render",value:function(){i.default.render(s.default.createElement(f,{children:this.props.children,closeFunc:this.closeFunc,title:this.props.title,frameless:this.props.frameless}),this.modalWrapperTarget)}},{key:"componentDidUpdate",value:function(){this._render()}},{key:"componentWillUnmount",value:function(){this.modalWrapperTarget.removeEventListener("click",this.clickedOutside),this.modalWrapperTarget.removeEventListener("keydown",this.clickedOutside),i.default.unmountComponentAtNode(this.modalWrapperTarget),document.body.removeChild(this.modalWrapperTarget)}},{key:"render",value:function(){return s.default.createElement("noscript",null)}}]),t}(r.Component);t.default=p,p.propTypes={title:l.default.string,frameless:l.default.bool,children:l.default.element,closeFunc:l.default.func},p.defaultProps={title:"",frameless:!1}},function(e,t){e.exports=require("react-dom")},function(e,t){},,,,,function(e,t){},,function(e,t){}]);