Comparing version 0.2.6 to 0.2.7
@@ -14,3 +14,3 @@ export * from './AddToCalendar'; | ||
export * from './Input'; | ||
export * from './Loader'; | ||
export * from './Loading'; | ||
export * from './MD'; | ||
@@ -17,0 +17,0 @@ export * from './Number'; |
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),r=e(t),n=e(require("@rgrove/parse-xml")),a=e(require("dayjs")),i=e(require("is-mobile")),o=require("@braintree/sanitize-url"),l=require("pure-react-carousel"),c=e(require("react-markdown")),u=require("linkifyjs"),s=e(require("ical-expander")),m=require("react-virtuoso"),d=e(require("dayjs/plugin/isBetween"));function f(e,t,r,n,a,i,o){try{var l=e[i](o),c=l.value}catch(e){return void r(e)}l.done?t(c):Promise.resolve(c).then(n,a)}function v(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var i=e.apply(t,r);function o(e){f(i,n,a,o,l,"next",e)}function l(e){f(i,n,a,o,l,"throw",e)}o(void 0)}))}}function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p,g=(function(e){var t=function(e){var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var a=Object.create((t&&t.prototype instanceof m?t:m).prototype),i=new k(n||[]);return a._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return{value:void 0,done:!0}}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var l=E(o,r);if(l){if(l===s)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=u(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===s)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,i),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var s={};function m(){}function d(){}function f(){}var v={};v[a]=function(){return this};var h=Object.getPrototypeOf,p=h&&h(h(N([])));p&&p!==t&&r.call(p,a)&&(v=p);var g=f.prototype=m.prototype=Object.create(v);function y(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,l){var c=u(e[a],e,i);if("throw"!==c.type){var s=c.arg,m=s.value;return m&&"object"==typeof m&&r.call(m,"__await")?t.resolve(m.__await).then((function(e){n("next",e,o,l)}),(function(e){n("throw",e,o,l)})):t.resolve(m).then((function(e){s.value=e,o(s)}),(function(e){return n("throw",e,o,l)}))}l(c.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function E(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method))return s;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:_}}function _(){return{value:void 0,done:!0}}return d.prototype=g.constructor=f,f.constructor=d,d.displayName=l(f,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,l(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),b.prototype[i]=function(){return this},e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(c(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),l(g,o,"Generator"),g[a]=function(){return this},g.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;w(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(p={exports:{}}),p.exports),y=function(){function e(e,t,r){this.name=e,this.node=t,this.attributes=this.node.attributes||{},this.children=r}var t=e.prototype;return t.getText=function(){return"text"===this.node.type?this.node.text:this.node.children&&this.node.children.length?this.node.children[0].text:""},t.initialState=function(){var e,t=this.attributes,r=t.name;return r?((e={})[r]=t.value,e):{}},e}(),b=function(e){var t=e.className;return r.createElement("div",{className:"mml-card "+(void 0===t?"":t)},e.children)},E=function(e){return r.createElement("i",{className:"mml-icon material-icons"},e.name)},x=function(e){var t=e.text,n=e.icon,a=void 0===n?"":n,i=e.className;return r.createElement("div",{className:"mml-card-header "+(void 0===i?"":i)},a&&r.createElement(E,{name:a}),r.createElement("span",{className:"mml-card-header__text"},t))},w=function(e){var t=e.className;return r.createElement("div",{className:"mml-card-body "+(void 0===t?"":t)},e.children)},k=function(e){var t=e.variant;return r.createElement("div",{className:"mml-btnlist "+("floating"===(void 0===t?"":t)?" mml-btnlist--floating":"mml-btnlist--grounded")},e.children)},N=function(e){return r.createElement("i",{className:"mml-icon"},r.createElement("svg",{className:"mml-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},r.createElement("path",{d:e.path})))},_=r.createElement(N,{path:"M21.35 11.1h-9.17v2.73h6.5c-.33 3.8-3.5 5.44-6.5 5.44C8.36 19.27 5 16.25 5 12c0-4.1 3.2-7.27 7.2-7.27 3.1 0 4.9 1.97 4.9 1.97L19 4.72S16.56 2 12.1 2C6.42 2 2.03 6.8 2.03 12c0 5.05 4.13 10 10.22 10 5.35 0 9.25-3.67 9.25-9.1 0-1.15-.15-1.8-.15-1.8h0z"}),L=r.createElement(N,{path:"M3 12V6.75l6-1.32v6.48L3 12m17-9v8.75l-10 .15V5.2L20 3M3 13l6 .1v6.8l-6-1.15V13m17 .25V22l-10-1.9v-7l10 .15z"}),O="undefined"!=typeof window&&window.navigator.msSaveOrOpenBlob&&window.Blob,I=[{id:"google",label:"Google",Icon:_},{id:"apple",label:"Apple Calendar",Icon:r.createElement(N,{path:"M18.7 19.5c-.83 1.24-1.7 2.45-3.05 2.47-1.34.03-1.77-.8-3.3-.8-1.53 0-2 .77-3.27.82-1.3.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.4c.87-1.52 2.43-2.48 4.12-2.5 1.28-.02 2.5.87 3.3.87.78 0 2.26-1.07 3.8-.9.65.03 2.47.26 3.64 1.98-.1.06-2.17 1.28-2.15 3.8.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.2-.7.85-1.83 1.5-2.95 1.42-.15-1.15.4-2.35 1.05-3.1z"})},{id:"outlook",label:"Outlook",Icon:L},{id:"outlookcom",label:"Outlook.com",Icon:L}];function S(e,t){return a(e).format("outlookcom"===t?"YYYY-MM-DDTHH:mm:ss":"YYYYMMDDTHHmmss")+"Z"}function C(e){return void 0===e&&(e={}),Object.keys(e).reduce((function(t,r){var n=e[r];return n&&(t+="&"+r+"="+encodeURIComponent(n)),t}),"")}function j(e,t){var r=e.end,n=e.title,a=e.location,o=e.description,l=S(e.start,t),c=S(r,t);if("google"===t)return"https://calendar.google.com/calendar/render?action=TEMPLATE&dates="+l+"/"+c+C({location:a,text:n,details:o});if("outlookcom"===t)return"https://outlook.live.com/owa/?rru=addevent"+C({startdt:l,enddt:c,subject:n,location:a,body:o,allday:"false"})+"&path=/calendar/view/Month";var u=["BEGIN:VCALENDAR","VERSION:2.0","BEGIN:VEVENT","URL:"+("undefined"!=typeof window?window.location.href:""),"DTSTART:"+l,"DTEND:"+c,"SUMMARY:"+n,"DESCRIPTION:"+o,"LOCATION:"+a,"END:VEVENT","END:VCALENDAR"].join("\n");return!O&&i()&&(u=encodeURI("data:text/calendar;charset=utf8,"+u)),u}var T=function(e){var t=e.className,n=e.location,a=e.description,o={start:e.start,end:e.end,title:e.title,location:void 0===n?"":n,description:void 0===a?"":a};function l(e){e.preventDefault();var t=e.currentTarget.getAttribute("href");if(i()||!t.startsWith("data")&&!t.startsWith("BEGIN"))window.open(t,"_blank");else{var r=new Blob([t],{type:"text/calendar;charset=utf-8"});if(O)window.navigator.msSaveOrOpenBlob(r,"download.ics");else{var n=document.createElement("a");n.href=window.URL.createObjectURL(r),n.setAttribute("download","download.ics"),document.body.appendChild(n),n.click(),document.body.removeChild(n)}}}return r.createElement(b,{className:"mml-add-to-calendar "+(void 0===t?"":t)},r.createElement(x,{icon:"date_range",text:"Add to My Calendar"}),r.createElement(w,null,r.createElement(k,null,I.map((function(e){var t=e.id,n=e.label,a=e.Icon;return r.createElement("a",{key:t,className:"mml-btn "+(a?"mml-btn--with-icon":""),onClick:l,href:j(o,t),target:"_blank",rel:"nofollow noreferrer noopener"},a," ",n)})))))},M=function(e){var t=e.className,n=void 0===t?"":t,a=e.text,i=e.name,l=e.value,c=e.url,u=void 0===c?"":c,s=e.icon;return n+=s?a?" mml-btn--with-icon":" mml-btn--icon":" mml-btn--text",n+="floating"===e.variant?" mml-btn--floating":" mml-btn--grounded",u?r.createElement("a",{className:"mml-btn "+n,href:o.sanitizeUrl(u),target:"_blank",rel:"nofollow noreferrer noopener"},s&&r.createElement(E,{name:s}),a):r.createElement("button",{className:"mml-btn "+n,type:"submit",name:i,value:l,onClick:function(e){var t,r,n=document.createElement("input");n.type="hidden",n.name=i||"",n.value=l||"",null==(t=e.currentTarget)||null==(r=t.closest("form"))||r.appendChild(n)}},s&&r.createElement(E,{name:s}),a)},D=function(e){var t=e.infinite,n=e.perView,a=e.perMove,i=e.autoHeight,o=e.slideWidth,c=e.slideHeight,u=e.children;return r.createElement("div",{className:"mml-carousel"},r.createElement(l.CarouselProvider,{className:"mml",infinite:void 0===t||t,visibleSlides:void 0===n?2.5:n,step:void 0===a?1:a,isIntrinsicHeight:void 0===i||i,naturalSlideWidth:void 0===o?100:o,naturalSlideHeight:void 0===c?125:c,totalSlides:r.Children.count(u)},r.createElement(l.Slider,null,u)))},F=function(e){return r.createElement(l.Slide,{index:0,className:"mml-carousel-item"},e.children)},A=function(e){var t=e.width,n=e.offset,a=void 0===n?0:n,i=e.align,o="mml-col-"+(void 0===t?12:t);return a&&(o=o+" mml-offset-"+a),r.createElement("div",{className:o=o+" mml-align-"+(void 0===i?"left":i)},e.children)},R=function(e){var t=e.error,n=void 0===t?"":t;return n?r.createElement("span",{className:"mml-error"},n):null},P=function(e){var t=e.alt,n=e.title;return r.createElement("img",{className:"mml-image",src:e.src,alt:void 0===t?"":t,title:void 0===n?"":n})},V=function(e){var n=e.name,a=e.label,i=e.value,o=e.placeholder,l=void 0===o?"":o,c=t.useState(void 0===i?"":i),u=c[0],s=c[1],m="mml-"+n;return r.createElement(r.Fragment,null,a&&r.createElement("label",{className:"mml-card-header",htmlFor:m},r.createElement("span",{className:"mml-card-header__text"},a)),r.createElement("input",{id:m,className:"mml-input",name:n,value:u,placeholder:l,onChange:function(e){return s(e.target.value)}}))},B=function(e){var t=e.size,n=e.thickness,a=void 0===n?3.6:n,i=e.color;return a="string"==typeof a?parseFloat(a):a,t="string"==typeof t&&/^\d+$/.test(t)||"number"==typeof t?t+"px":t,r.createElement("span",{className:"mml-progress",role:"progressbar",style:{width:t,height:t,color:i}},r.createElement("svg",{className:"mml-progress__svg",viewBox:"22 22 44 44"},r.createElement("circle",{className:"mml-progress__circle",cx:44,cy:44,r:(44-a)/2,fill:"none",strokeWidth:a})))},q=function(e){var t=e.className,n=e.loading,a=e.text;return void 0!==n&&n?r.createElement("div",{className:"mml-loader "+(void 0===t?"":t)},r.createElement(B,Object.assign({},{size:e.size,thickness:e.thickness,color:e.color})),a&&r.createElement("div",{className:"mml-loader__text"},a)):null},G=function(e,t,r){return void 0===r&&(r="..."),e.length>t?""+e.substring(0,t-r.length)+r:e},Y={link:function(e){return e.href&&(e.href.startsWith("http")||e.href.startsWith("mailto:"))?r.createElement("a",{href:e.href,target:"_blank",rel:"nofollow noreferrer noopener"},e.children):e.children}},H=["html","root","text","break","paragraph","emphasis","strong","link","list","listItem","code","inlineCode","blockquote"],U=function(e){var t=e.text;if(!t)return null;var n,a,i=t,o=(n=i.match(/\[([^[]+)\](\(.*\))/gm),a=/\[([^[]+)\]\((.*)\)/,n?n.map((function(e){var t=a.exec(e);return t&&t[2]})):[]);return u.find(i).forEach((function(e){var t=e.type,r=e.href,n=e.value;if(!((o&&o.filter((function(e){return-1!==(null==e?void 0:e.indexOf(r))}))).length>0)){var a="email"===t?n:G(n.replace(/(http(s?):\/\/)?(www\.)?/,""),20);i=i.replace(n,"["+a+"]("+encodeURI(r)+")")}})),r.createElement("div",{className:"mml-md"},r.createElement(c,{allowedTypes:H,renderers:Y,source:i,escapeHtml:!0,unwrapDisallowed:!0,transformLinkUri:function(e){return e.startsWith("app://")?e:c.uriTransformer(e)}}))},W=function(e){var n=e.name,a=t.useState(parseInt(""+e.value,10)||0),i=a[0],o=a[1];return r.createElement("div",{className:"mml-number"},r.createElement("input",{name:n,value:i,type:"hidden"}),r.createElement("span",{className:"mml-btn mml-btn--floating mml-btn--icon mml-number__dec",onClick:function(){return o(i-1)}},r.createElement(E,{name:"remove"})),r.createElement("span",{className:"mml-number__count"},i),r.createElement("span",{className:"mml-btn mml-btn--floating mml-btn--icon mml-number__inc",onClick:function(){return o(i+1)}},r.createElement(E,{name:"add"})))},z=function(e){return r.createElement("div",{className:"mml-row"},e.children)},X=function(e){var n=e.onChange,a=e.icalFilter,i=e.getItemData,o=e.itemClassName,l=e.interval,c=e.format,u=e.value,s=t.useCallback((function(e,t){return Array(e).fill(!0).map((function(e,r){return i({interval:l,format:c,value:u,idx:t+r})})).filter((function(e){return!a||a&&a(e.value)}))}),[l,c,u,a,i]),d=t.useState(s(80,-40)),f=d[0],v=d[1],h=t.useRef(40),p=t.useState(null),g=p[0],y=p[1],b=t.useRef(null),E=t.useCallback((function(e){n(e.value);var t=h.current||0,r=t-40-40,a=r-e.idx+3;a>=0&&(r-=a,h.current-=t-a,v((function(e){return[].concat(s(a,r),e)})),b.current&&b.current.adjustForPrependedItems(a)),y(e.idx)}),[v,s,h,n]),x=t.useCallback((function(e){v((function(t){return[].concat(t,s(40,e))}))}),[v,s]),w=t.useCallback((function(){var e=(h.current||0)-40-40;return h&&(h.current-=40),v((function(t){return[].concat(s(40,e),t)})),b.current&&b.current.adjustForPrependedItems(40),!1}),[v,s,h]);return t.useEffect((function(){if(u){for(var e=null,t=0;t<f.length;t++)if(f[t].isSelected(u)){e=f[t].idx;break}y(e)}}),[]),r.createElement(m.Virtuoso,{ref:b,overscan:200,totalCount:f.length,initialTopMostItemIndex:37,item:function(e){return r.createElement("div",{className:o+" mml-datepicker__item "+(f[e].idx===g?"mml-datepicker__item--selected":""),onClick:function(){return E(f[e])}},f[e].displayValue)},endReached:x,startReached:w})},Z=function(e){var t=e.idx,r=e.interval,n=e.value,i=e.format,o=t>=0?a(n).add(t*(24*r),"hour"):a(n).subtract(t*(24*r)*-1,"hour");return{idx:t,value:o,displayValue:a(o).format(i),isSelected:function(e){return a(o).isSame(1===r?a(e):a(e).add(r,"day"),"date")}}},$=function(e){return r.createElement("div",{className:"mml-datepicker__select mml-datepicker__date"},r.createElement(X,Object.assign({},e,{itemClassName:"mml-datepicker__item--day",getItemData:Z})))};a.extend(d);var J=function(e){var t=e.idx,r=e.interval,n=e.value,i=e.format,o=t>=0?a(n).add(t*r,"minute"):a(n).subtract(-1*t*r,"minute");return{idx:t,value:o,displayValue:a(o).format(i),isSelected:function(e){return a(o).isBetween(e,a(e).add(r-1,"minute"),"minute","[]")}}},K=function(e){return r.createElement("div",{className:"mml-datepicker__select mml-datepicker__time"},r.createElement(X,Object.assign({},e,{itemClassName:"mml-datepicker__item--time",getItemData:J})))},Q=function(e){var n=e.name,a=e.dateInterval,i=e.timeInterval,o=e.dateFormat,l=e.timeFormat,c=e.fullDay,u=e.icalFilter,s=t.useState(e.selected),m=s[0],d=s[1];return r.createElement("div",{className:"mml-datepicker mml-datepicker--"+(c?"single":"double")},r.createElement("input",{name:n,value:m.toISOString(),type:"hidden"}),r.createElement($,{icalFilter:u,format:o,value:m,onChange:function(e){d((function(t){return t.set("date",e.get("date")).set("month",e.get("month")).set("year",e.get("year"))}))},interval:a}),!c&&r.createElement(K,{icalFilter:u,format:l,value:m,onChange:function(e){d((function(t){return t.set("minute",e.get("minute")).set("hour",e.get("hour"))}))},interval:i}))},ee=function(){var e=v(g.mark((function e(t,r){var n,a,i;return g.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t,{method:"GET",redirect:"follow",credentials:"same-origin"});case 2:return n=e.sent,e.next=5,n.text();case 5:if(a=e.sent,n.ok){e.next=8;break}throw new Error(a);case 8:return i=new s({ics:a,maxIterations:10}),e.abrupt("return",(function(){return function(e){return!e||!i.between(e.toDate(),e.add(r,"minute").toDate()).events.length}}));case 10:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),te=function(e){var n=e.name,i=e.selected,o=e.icalAvailability,l=e.duration,c=void 0===l?30:l,u=e.dateInterval,s=void 0===u?1:u,m=e.timeInterval,d=void 0===m?30:m,f=e.dateFormat,v=void 0===f?"ddd MMM DD":f,h=e.timeFormat,p=void 0===h?"hh:mm A":h,g=e.fullDay,y=void 0!==g&&g,E=t.useState(!1),k=E[0],N=E[1],_=t.useState(""),L=_[0],O=_[1],I=t.useState((function(){return function(){return!0}})),S=I[0],C=I[1];return t.useEffect((function(){o&&(N(!0),ee(o,c).then(C).catch((function(e){console.warn("loading ical failed",{icalAvailability:o,err:e}),O("iCal availability could not be loaded")})).finally((function(){return N(!1)})))}),[o,c]),r.createElement(b,{className:"mml-scheduler"},r.createElement(x,{icon:"date_range",text:"Scheduler"}),r.createElement(w,null,L&&!k&&r.createElement(R,{error:"Failed, error: "+L}),!L&&k&&r.createElement(q,{loading:!0,text:"Loading availability"}),!L&&!k&&r.createElement(Q,{name:n,selected:i?a(i):a().startOf("hour"),dateInterval:s,timeInterval:d,dateFormat:v,timeFormat:p,fullDay:y,icalFilter:S})))},re=function(e){var t=e.success;return t?r.createElement("div",{className:"mml-success"},t):null},ne=function(e){return r.createElement("div",{className:"mml-text"},e.text)},ae={button:function(e){return r.createElement(M,Object.assign({},e.attributes,{key:e.key,text:e.getText(),name:e.attributes.name,value:e.attributes.value}))},button_list:function(e,t){return r.createElement(k,Object.assign({},e.attributes,{key:e.key}),t)},input:function(e){return r.createElement(V,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name,value:e.attributes.value}))},add_to_calendar:function(e){return r.createElement(T,Object.assign({},e.attributes,{key:e.key,title:e.attributes.title,start:e.attributes.start,end:e.attributes.end}))},col:function(e,t){return r.createElement(A,Object.assign({},e.attributes,{key:e.key}),t)},row:function(e,t){return r.createElement(z,Object.assign({},e.attributes,{key:e.key}),t)},icon:function(e){return r.createElement(E,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name}))},image:function(e){return r.createElement(P,Object.assign({},e.attributes,{key:e.key,src:e.attributes.src}))},md:function(e){return r.createElement(U,Object.assign({},e.attributes,{key:e.key,text:e.getText()}))},text:function(e){return r.createElement(ne,Object.assign({},e.attributes,{key:e.key,text:e.getText()}))},scheduler:function(e){return r.createElement(te,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name,dateInterval:parseInt(e.attributes.dateInterval,10)||1,timeInterval:parseInt(e.attributes.timeInterval,10)||30,duration:parseInt(e.attributes.duration,10)||30,selected:e.attributes.selected,fullDay:"true"===e.attributes.fullDay,icalAvailability:e.attributes.icalAvailability}))},carousel:function(e,t){return r.createElement(D,Object.assign({},e.attributes,{key:e.key}),t)},item:function(e,t){return r.createElement(F,Object.assign({},e.attributes,{key:e.key}),t)},number:function(e){return r.createElement(W,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name,value:e.attributes.value}))}},ie=function(){function e(e,t,r){this.converters=h({},ae,r),this.node=e,this.children=t,this.reactElements=this.toReact(),this.name=e.attributes.name,this.type=e.attributes.type}return e.prototype.toReact=function(e){var t=this;void 0===e&&(e=this);var r=[];return(e.children||[]).forEach((function(e,n){var a=t.converters[e.name];if(!a)throw Error("Converter not found for tag "+e.name+", Available converters are "+Object.keys(t.converters));var i=t.toReact(e);e.key="tag-"+e.name+"-position-"+n,r.push(a(e,i))})),r},e}();function oe(e){var t=e.trim();return t.startsWith("<mml")||(t="<mml>"+e+"</mml>"),t=t.replace(/&(?!amp;|lt;|gt;)/g,"&"),n(t)}function le(e,t){if(!e||!e.children||!e.children.length)throw new Error("bad input");var r=e.children[0];if("mml"!==r.name)throw new Error("missing mml tag");return new ie(r,function e(t){return t.reduce((function(t,r){var n,a=r;a.children&&(n=e(a.children));var i=a.name;if("text"===r.type){if(!r.text.trim().length)return t;i="text"}return t.push(new y(i,r,n)),t}),[])}(r.children),t)}function ce(e,t){return le(oe(e),t)}exports.AddToCalendar=T,exports.Button=M,exports.ButtonList=k,exports.Card=b,exports.CardBody=w,exports.CardHeader=x,exports.Carousel=D,exports.CarouselItem=F,exports.Col=A,exports.Error=R,exports.Icon=E,exports.Image=P,exports.Input=V,exports.Loader=q,exports.MD=U,exports.MML=function(e){var n=e.source,a=e.onSubmit,i=e.converters,o=e.theme,l=void 0===o?"":o,c=e.className,u=void 0===c?"":c,s=e.Loader,m=void 0===s?q:s,d=e.Error,f=void 0===d?R:d,h=e.Success,p=void 0===h?re:h,y=t.useState(""),b=y[0],E=y[1],x=t.useState({loading:!1,error:"",success:""}),w=x[0],k=x[1],N=t.useMemo((function(){try{return ce(n,i)}catch(e){return console.warn("mml parsing error: ",n,e),E("This chat message has invalid formatting and can't be shown"),null}}),[n,i]),_=t.useCallback(function(){var e=v(g.mark((function e(t){var r;return g.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),r={},null!=N&&N.name&&(r.mml_name=N.name),new FormData(t.currentTarget).forEach((function(e,t){r[t]=e})),a){e.next=6;break}return e.abrupt("return",console.warn("Forgot to pass onSubmit prop to <MML/>? payload:",r));case 6:return e.prev=6,k({loading:!0,error:"",success:""}),e.next=10,a(r);case 10:k({loading:!1,error:"",success:"submitted"}),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(6),k({loading:!1,error:"Failed to send the request. Please try again.",success:""});case 16:case"end":return e.stop()}}),e,null,[[6,13]])})));return function(t){return e.apply(this,arguments)}}(),[a,N]);return r.createElement("div",{className:"mml-container "+l+" "+u,"data-testid":"mml-container"},b?r.createElement("div",{className:"mml-wrap"},r.createElement(f,{error:b})):r.createElement("form",{onSubmit:_,className:"mml-wrap","data-testid":"mml-form"},null!=N&&N.type?r.createElement("div",{className:"mml-card"},null==N?void 0:N.reactElements):null==N?void 0:N.reactElements,w.loading&&r.createElement(m,{loading:w.loading}),w.success&&r.createElement(p,{success:w.success}),w.error&&r.createElement(f,{error:w.error})))},exports.MMLTag=y,exports.Number=W,exports.Parse=ce,exports.Row=z,exports.Scheduler=te,exports.SourceToXML=oe,exports.Success=re,exports.Text=ne,exports.Tree=ie,exports.XMLtoMMLTree=le,exports.converters=ae,exports.truncate=G; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),r=e(t),n=e(require("@rgrove/parse-xml")),a=e(require("dayjs")),i=e(require("is-mobile")),o=require("@braintree/sanitize-url"),l=require("pure-react-carousel"),c=e(require("react-markdown")),u=require("linkifyjs"),s=e(require("ical-expander")),m=require("react-virtuoso"),d=e(require("dayjs/plugin/isBetween"));function f(e,t,r,n,a,i,o){try{var l=e[i](o),c=l.value}catch(e){return void r(e)}l.done?t(c):Promise.resolve(c).then(n,a)}function v(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var i=e.apply(t,r);function o(e){f(i,n,a,o,l,"next",e)}function l(e){f(i,n,a,o,l,"throw",e)}o(void 0)}))}}function h(){return(h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p,g=(function(e){var t=function(e){var t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},a=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",o=n.toStringTag||"@@toStringTag";function l(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(e){l=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var a=Object.create((t&&t.prototype instanceof m?t:m).prototype),i=new k(n||[]);return a._invoke=function(e,t,r){var n="suspendedStart";return function(a,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===a)throw i;return{value:void 0,done:!0}}for(r.method=a,r.arg=i;;){var o=r.delegate;if(o){var l=E(o,r);if(l){if(l===s)continue;return l}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var c=u(e,t,r);if("normal"===c.type){if(n=r.done?"completed":"suspendedYield",c.arg===s)continue;return{value:c.arg,done:r.done}}"throw"===c.type&&(n="completed",r.method="throw",r.arg=c.arg)}}}(e,r,i),a}function u(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var s={};function m(){}function d(){}function f(){}var v={};v[a]=function(){return this};var h=Object.getPrototypeOf,p=h&&h(h(N([])));p&&p!==t&&r.call(p,a)&&(v=p);var g=f.prototype=m.prototype=Object.create(v);function y(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(a,i){function o(){return new t((function(n,o){!function n(a,i,o,l){var c=u(e[a],e,i);if("throw"!==c.type){var s=c.arg,m=s.value;return m&&"object"==typeof m&&r.call(m,"__await")?t.resolve(m.__await).then((function(e){n("next",e,o,l)}),(function(e){n("throw",e,o,l)})):t.resolve(m).then((function(e){s.value=e,o(s)}),(function(e){return n("throw",e,o,l)}))}l(c.arg)}(a,i,n,o)}))}return n=n?n.then(o,o):o()}}function E(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,E(e,t),"throw"===t.method))return s;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return s}var n=u(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var a=n.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,s):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function w(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function k(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function N(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:_}}function _(){return{value:void 0,done:!0}}return d.prototype=g.constructor=f,f.constructor=d,d.displayName=l(f,o,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,f):(e.__proto__=f,l(e,o,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},y(b.prototype),b.prototype[i]=function(){return this},e.AsyncIterator=b,e.async=function(t,r,n,a,i){void 0===i&&(i=Promise);var o=new b(c(t,r,n,a),i);return e.isGeneratorFunction(r)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},y(g),l(g,o,"Generator"),g[a]=function(){return this},g.toString=function(){return"[object Generator]"},e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=N,k.prototype={constructor:k,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(w),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return o.type="throw",o.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var l=r.call(i,"catchLoc"),c=r.call(i,"finallyLoc");if(l&&c){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(l){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var a=this.tryEntries[n];if(a.tryLoc<=this.prev&&r.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,s):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),s},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),w(r),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var a=n.arg;w(r)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:N(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=t}catch(e){Function("r","regeneratorRuntime = r")(t)}}(p={exports:{}}),p.exports),y=function(){function e(e,t,r){this.name=e,this.node=t,this.attributes=this.node.attributes||{},this.children=r}var t=e.prototype;return t.getText=function(){return"text"===this.node.type?this.node.text:this.node.children&&this.node.children.length?this.node.children[0].text:""},t.initialState=function(){var e,t=this.attributes,r=t.name;return r?((e={})[r]=t.value,e):{}},e}(),b=function(e){var t=e.className;return r.createElement("div",{className:"mml-card "+(void 0===t?"":t)},e.children)},E=function(e){return r.createElement("i",{className:"mml-icon material-icons"},e.name)},x=function(e){var t=e.text,n=e.icon,a=void 0===n?"":n,i=e.className;return r.createElement("div",{className:"mml-card-header "+(void 0===i?"":i)},a&&r.createElement(E,{name:a}),r.createElement("span",{className:"mml-card-header__text"},t))},w=function(e){var t=e.className;return r.createElement("div",{className:"mml-card-body "+(void 0===t?"":t)},e.children)},k=function(e){var t=e.variant;return r.createElement("div",{className:"mml-btnlist "+("floating"===(void 0===t?"":t)?" mml-btnlist--floating":"mml-btnlist--grounded")},e.children)},N=function(e){return r.createElement("i",{className:"mml-icon"},r.createElement("svg",{className:"mml-icon__svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},r.createElement("path",{d:e.path})))},_=r.createElement(N,{path:"M21.35 11.1h-9.17v2.73h6.5c-.33 3.8-3.5 5.44-6.5 5.44C8.36 19.27 5 16.25 5 12c0-4.1 3.2-7.27 7.2-7.27 3.1 0 4.9 1.97 4.9 1.97L19 4.72S16.56 2 12.1 2C6.42 2 2.03 6.8 2.03 12c0 5.05 4.13 10 10.22 10 5.35 0 9.25-3.67 9.25-9.1 0-1.15-.15-1.8-.15-1.8h0z"}),L=r.createElement(N,{path:"M3 12V6.75l6-1.32v6.48L3 12m17-9v8.75l-10 .15V5.2L20 3M3 13l6 .1v6.8l-6-1.15V13m17 .25V22l-10-1.9v-7l10 .15z"}),O="undefined"!=typeof window&&window.navigator.msSaveOrOpenBlob&&window.Blob,I=[{id:"google",label:"Google",Icon:_},{id:"apple",label:"Apple Calendar",Icon:r.createElement(N,{path:"M18.7 19.5c-.83 1.24-1.7 2.45-3.05 2.47-1.34.03-1.77-.8-3.3-.8-1.53 0-2 .77-3.27.82-1.3.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.4c.87-1.52 2.43-2.48 4.12-2.5 1.28-.02 2.5.87 3.3.87.78 0 2.26-1.07 3.8-.9.65.03 2.47.26 3.64 1.98-.1.06-2.17 1.28-2.15 3.8.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.2-.7.85-1.83 1.5-2.95 1.42-.15-1.15.4-2.35 1.05-3.1z"})},{id:"outlook",label:"Outlook",Icon:L},{id:"outlookcom",label:"Outlook.com",Icon:L}];function S(e,t){return a(e).format("outlookcom"===t?"YYYY-MM-DDTHH:mm:ss":"YYYYMMDDTHHmmss")+"Z"}function C(e){return void 0===e&&(e={}),Object.keys(e).reduce((function(t,r){var n=e[r];return n&&(t+="&"+r+"="+encodeURIComponent(n)),t}),"")}function j(e,t){var r=e.end,n=e.title,a=e.location,o=e.description,l=S(e.start,t),c=S(r,t);if("google"===t)return"https://calendar.google.com/calendar/render?action=TEMPLATE&dates="+l+"/"+c+C({location:a,text:n,details:o});if("outlookcom"===t)return"https://outlook.live.com/owa/?rru=addevent"+C({startdt:l,enddt:c,subject:n,location:a,body:o,allday:"false"})+"&path=/calendar/view/Month";var u=["BEGIN:VCALENDAR","VERSION:2.0","BEGIN:VEVENT","URL:"+("undefined"!=typeof window?window.location.href:""),"DTSTART:"+l,"DTEND:"+c,"SUMMARY:"+n,"DESCRIPTION:"+o,"LOCATION:"+a,"END:VEVENT","END:VCALENDAR"].join("\n");return!O&&i()&&(u=encodeURI("data:text/calendar;charset=utf8,"+u)),u}var T=function(e){var t=e.className,n=e.location,a=e.description,o={start:e.start,end:e.end,title:e.title,location:void 0===n?"":n,description:void 0===a?"":a};function l(e){e.preventDefault();var t=e.currentTarget.getAttribute("href");if(i()||!t.startsWith("data")&&!t.startsWith("BEGIN"))window.open(t,"_blank");else{var r=new Blob([t],{type:"text/calendar;charset=utf-8"});if(O)window.navigator.msSaveOrOpenBlob(r,"download.ics");else{var n=document.createElement("a");n.href=window.URL.createObjectURL(r),n.setAttribute("download","download.ics"),document.body.appendChild(n),n.click(),document.body.removeChild(n)}}}return r.createElement(b,{className:"mml-add-to-calendar "+(void 0===t?"":t)},r.createElement(x,{icon:"date_range",text:"Add to My Calendar"}),r.createElement(w,null,r.createElement(k,null,I.map((function(e){var t=e.id,n=e.label,a=e.Icon;return r.createElement("a",{key:t,className:"mml-btn "+(a?"mml-btn--with-icon":""),onClick:l,href:j(o,t),target:"_blank",rel:"nofollow noreferrer noopener"},a," ",n)})))))},M=function(e){var t=e.className,n=void 0===t?"":t,a=e.text,i=e.name,l=e.value,c=e.url,u=void 0===c?"":c,s=e.icon;return n+=s?a?" mml-btn--with-icon":" mml-btn--icon":" mml-btn--text",n+="floating"===e.variant?" mml-btn--floating":" mml-btn--grounded",u?r.createElement("a",{className:"mml-btn "+n,href:o.sanitizeUrl(u),target:"_blank",rel:"nofollow noreferrer noopener"},s&&r.createElement(E,{name:s}),a):r.createElement("button",{className:"mml-btn "+n,type:"submit",name:i,value:l,onClick:function(e){var t,r,n=document.createElement("input");n.type="hidden",n.name=i||"",n.value=l||"",null==(t=e.currentTarget)||null==(r=t.closest("form"))||r.appendChild(n)}},s&&r.createElement(E,{name:s}),a)},D=function(e){var t=e.infinite,n=e.perView,a=e.perMove,i=e.autoHeight,o=e.slideWidth,c=e.slideHeight,u=e.children;return r.createElement("div",{className:"mml-carousel"},r.createElement(l.CarouselProvider,{className:"mml",infinite:void 0===t||t,visibleSlides:void 0===n?2.5:n,step:void 0===a?1:a,isIntrinsicHeight:void 0===i||i,naturalSlideWidth:void 0===o?100:o,naturalSlideHeight:void 0===c?125:c,totalSlides:r.Children.count(u)},r.createElement(l.Slider,null,u)))},F=function(e){return r.createElement(l.Slide,{index:0,className:"mml-carousel-item"},e.children)},A=function(e){var t=e.width,n=e.offset,a=void 0===n?0:n,i=e.align,o="mml-col-"+(void 0===t?12:t);return a&&(o=o+" mml-offset-"+a),r.createElement("div",{className:o=o+" mml-align-"+(void 0===i?"left":i)},e.children)},R=function(e){var t=e.error,n=void 0===t?"":t;return n?r.createElement("span",{className:"mml-error"},n):null},P=function(e){var t=e.alt,n=e.title;return r.createElement("img",{className:"mml-image",src:e.src,alt:void 0===t?"":t,title:void 0===n?"":n})},V=function(e){var n=e.name,a=e.label,i=e.value,o=e.placeholder,l=void 0===o?"":o,c=t.useState(void 0===i?"":i),u=c[0],s=c[1],m="mml-"+n;return r.createElement(r.Fragment,null,a&&r.createElement("label",{className:"mml-card-header",htmlFor:m},r.createElement("span",{className:"mml-card-header__text"},a)),r.createElement("input",{id:m,className:"mml-input",name:n,value:u,placeholder:l,onChange:function(e){return s(e.target.value)}}))},B=function(e){var t=e.size,n=e.thickness,a=void 0===n?3.6:n,i=e.color;return a="string"==typeof a?parseFloat(a):a,t="string"==typeof t&&/^\d+$/.test(t)||"number"==typeof t?t+"px":t,r.createElement("span",{className:"mml-progress",role:"progressbar",style:{width:t,height:t,color:i}},r.createElement("svg",{className:"mml-progress__svg",viewBox:"22 22 44 44"},r.createElement("circle",{className:"mml-progress__circle",cx:44,cy:44,r:(44-a)/2,fill:"none",strokeWidth:a})))},q=function(e){var t=e.className,n=e.loading,a=e.text;return void 0!==n&&n?r.createElement("div",{className:"mml-loading "+(void 0===t?"":t)},r.createElement(B,Object.assign({},{size:e.size,thickness:e.thickness,color:e.color})),a&&r.createElement("div",{className:"mml-loading__text"},a)):null},G=function(e,t,r){return void 0===r&&(r="..."),e.length>t?""+e.substring(0,t-r.length)+r:e},Y={link:function(e){return e.href&&(e.href.startsWith("http")||e.href.startsWith("mailto:"))?r.createElement("a",{href:e.href,target:"_blank",rel:"nofollow noreferrer noopener"},e.children):e.children}},H=["html","root","text","break","paragraph","emphasis","strong","link","list","listItem","code","inlineCode","blockquote"],U=function(e){var t=e.text;if(!t)return null;var n,a,i=t,o=(n=i.match(/\[([^[]+)\](\(.*\))/gm),a=/\[([^[]+)\]\((.*)\)/,n?n.map((function(e){var t=a.exec(e);return t&&t[2]})):[]);return u.find(i).forEach((function(e){var t=e.type,r=e.href,n=e.value;if(!((o&&o.filter((function(e){return-1!==(null==e?void 0:e.indexOf(r))}))).length>0)){var a="email"===t?n:G(n.replace(/(http(s?):\/\/)?(www\.)?/,""),20);i=i.replace(n,"["+a+"]("+encodeURI(r)+")")}})),r.createElement("div",{className:"mml-md"},r.createElement(c,{allowedTypes:H,renderers:Y,source:i,escapeHtml:!0,unwrapDisallowed:!0,transformLinkUri:function(e){return e.startsWith("app://")?e:c.uriTransformer(e)}}))},W=function(e){var n=e.name,a=t.useState(parseInt(""+e.value,10)||0),i=a[0],o=a[1];return r.createElement("div",{className:"mml-number"},r.createElement("input",{name:n,value:i,type:"hidden"}),r.createElement("span",{className:"mml-btn mml-btn--floating mml-btn--icon mml-number__dec",onClick:function(){return o(i-1)}},r.createElement(E,{name:"remove"})),r.createElement("span",{className:"mml-number__count"},i),r.createElement("span",{className:"mml-btn mml-btn--floating mml-btn--icon mml-number__inc",onClick:function(){return o(i+1)}},r.createElement(E,{name:"add"})))},z=function(e){return r.createElement("div",{className:"mml-row"},e.children)},X=function(e){var n=e.onChange,a=e.icalFilter,i=e.getItemData,o=e.itemClassName,l=e.interval,c=e.format,u=e.value,s=t.useCallback((function(e,t){return Array(e).fill(!0).map((function(e,r){return i({interval:l,format:c,value:u,idx:t+r})})).filter((function(e){return!a||a&&a(e.value)}))}),[l,c,u,a,i]),d=t.useState(s(80,-40)),f=d[0],v=d[1],h=t.useRef(40),p=t.useState(null),g=p[0],y=p[1],b=t.useRef(null),E=t.useCallback((function(e){n(e.value);var t=h.current||0,r=t-40-40,a=r-e.idx+3;a>=0&&(r-=a,h.current-=t-a,v((function(e){return[].concat(s(a,r),e)})),b.current&&b.current.adjustForPrependedItems(a)),y(e.idx)}),[v,s,h,n]),x=t.useCallback((function(e){v((function(t){return[].concat(t,s(40,e))}))}),[v,s]),w=t.useCallback((function(){var e=(h.current||0)-40-40;return h&&(h.current-=40),v((function(t){return[].concat(s(40,e),t)})),b.current&&b.current.adjustForPrependedItems(40),!1}),[v,s,h]);return t.useEffect((function(){if(u){for(var e=null,t=0;t<f.length;t++)if(f[t].isSelected(u)){e=f[t].idx;break}y(e)}}),[]),r.createElement(m.Virtuoso,{ref:b,overscan:200,totalCount:f.length,initialTopMostItemIndex:37,item:function(e){return r.createElement("div",{className:o+" mml-datepicker__item "+(f[e].idx===g?"mml-datepicker__item--selected":""),onClick:function(){return E(f[e])}},f[e].displayValue)},endReached:x,startReached:w})},Z=function(e){var t=e.idx,r=e.interval,n=e.value,i=e.format,o=t>=0?a(n).add(t*(24*r),"hour"):a(n).subtract(t*(24*r)*-1,"hour");return{idx:t,value:o,displayValue:a(o).format(i),isSelected:function(e){return a(o).isSame(1===r?a(e):a(e).add(r,"day"),"date")}}},$=function(e){return r.createElement("div",{className:"mml-datepicker__select mml-datepicker__date"},r.createElement(X,Object.assign({},e,{itemClassName:"mml-datepicker__item--day",getItemData:Z})))};a.extend(d);var J=function(e){var t=e.idx,r=e.interval,n=e.value,i=e.format,o=t>=0?a(n).add(t*r,"minute"):a(n).subtract(-1*t*r,"minute");return{idx:t,value:o,displayValue:a(o).format(i),isSelected:function(e){return a(o).isBetween(e,a(e).add(r-1,"minute"),"minute","[]")}}},K=function(e){return r.createElement("div",{className:"mml-datepicker__select mml-datepicker__time"},r.createElement(X,Object.assign({},e,{itemClassName:"mml-datepicker__item--time",getItemData:J})))},Q=function(e){var n=e.name,a=e.dateInterval,i=e.timeInterval,o=e.dateFormat,l=e.timeFormat,c=e.fullDay,u=e.icalFilter,s=t.useState(e.selected),m=s[0],d=s[1];return r.createElement("div",{className:"mml-datepicker mml-datepicker--"+(c?"single":"double")},r.createElement("input",{name:n,value:m.toISOString(),type:"hidden"}),r.createElement($,{icalFilter:u,format:o,value:m,onChange:function(e){d((function(t){return t.set("date",e.get("date")).set("month",e.get("month")).set("year",e.get("year"))}))},interval:a}),!c&&r.createElement(K,{icalFilter:u,format:l,value:m,onChange:function(e){d((function(t){return t.set("minute",e.get("minute")).set("hour",e.get("hour"))}))},interval:i}))},ee=function(){var e=v(g.mark((function e(t,r){var n,a,i;return g.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t,{method:"GET",redirect:"follow",credentials:"same-origin"});case 2:return n=e.sent,e.next=5,n.text();case 5:if(a=e.sent,n.ok){e.next=8;break}throw new Error(a);case 8:return i=new s({ics:a,maxIterations:10}),e.abrupt("return",(function(){return function(e){return!e||!i.between(e.toDate(),e.add(r,"minute").toDate()).events.length}}));case 10:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}(),te=function(e){var n=e.name,i=e.selected,o=e.icalAvailability,l=e.duration,c=void 0===l?30:l,u=e.dateInterval,s=void 0===u?1:u,m=e.timeInterval,d=void 0===m?30:m,f=e.dateFormat,v=void 0===f?"ddd MMM DD":f,h=e.timeFormat,p=void 0===h?"hh:mm A":h,g=e.fullDay,y=void 0!==g&&g,E=t.useState(!1),k=E[0],N=E[1],_=t.useState(""),L=_[0],O=_[1],I=t.useState((function(){return function(){return!0}})),S=I[0],C=I[1];return t.useEffect((function(){o&&(N(!0),ee(o,c).then(C).catch((function(e){console.warn("loading ical failed",{icalAvailability:o,err:e}),O("iCal availability could not be loaded")})).finally((function(){return N(!1)})))}),[o,c]),r.createElement(b,{className:"mml-scheduler"},r.createElement(x,{icon:"date_range",text:"Scheduler"}),r.createElement(w,null,L&&!k&&r.createElement(R,{error:"Failed, error: "+L}),!L&&k&&r.createElement(q,{loading:!0,text:"Loading availability"}),!L&&!k&&r.createElement(Q,{name:n,selected:i?a(i):a().startOf("hour"),dateInterval:s,timeInterval:d,dateFormat:v,timeFormat:p,fullDay:y,icalFilter:S})))},re=function(e){var t=e.success;return t?r.createElement("div",{className:"mml-success"},t):null},ne=function(e){return r.createElement("div",{className:"mml-text"},e.text)},ae={button:function(e){return r.createElement(M,Object.assign({},e.attributes,{key:e.key,text:e.getText(),name:e.attributes.name,value:e.attributes.value}))},button_list:function(e,t){return r.createElement(k,Object.assign({},e.attributes,{key:e.key}),t)},input:function(e){return r.createElement(V,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name,value:e.attributes.value}))},add_to_calendar:function(e){return r.createElement(T,Object.assign({},e.attributes,{key:e.key,title:e.attributes.title,start:e.attributes.start,end:e.attributes.end}))},col:function(e,t){return r.createElement(A,Object.assign({},e.attributes,{key:e.key}),t)},row:function(e,t){return r.createElement(z,Object.assign({},e.attributes,{key:e.key}),t)},icon:function(e){return r.createElement(E,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name}))},image:function(e){return r.createElement(P,Object.assign({},e.attributes,{key:e.key,src:e.attributes.src}))},md:function(e){return r.createElement(U,Object.assign({},e.attributes,{key:e.key,text:e.getText()}))},text:function(e){return r.createElement(ne,Object.assign({},e.attributes,{key:e.key,text:e.getText()}))},scheduler:function(e){return r.createElement(te,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name,dateInterval:parseInt(e.attributes.dateInterval,10)||1,timeInterval:parseInt(e.attributes.timeInterval,10)||30,duration:parseInt(e.attributes.duration,10)||30,selected:e.attributes.selected,fullDay:"true"===e.attributes.fullDay,icalAvailability:e.attributes.icalAvailability}))},carousel:function(e,t){return r.createElement(D,Object.assign({},e.attributes,{key:e.key}),t)},item:function(e,t){return r.createElement(F,Object.assign({},e.attributes,{key:e.key}),t)},number:function(e){return r.createElement(W,Object.assign({},e.attributes,{key:e.key,name:e.attributes.name,value:e.attributes.value}))}},ie=function(){function e(e,t,r){this.converters=h({},ae,r),this.node=e,this.children=t,this.reactElements=this.toReact(),this.name=e.attributes.name,this.type=e.attributes.type}return e.prototype.toReact=function(e){var t=this;void 0===e&&(e=this);var r=[];return(e.children||[]).forEach((function(e,n){var a=t.converters[e.name];if(!a)throw Error("Converter not found for tag "+e.name+", Available converters are "+Object.keys(t.converters));var i=t.toReact(e);e.key="tag-"+e.name+"-position-"+n,r.push(a(e,i))})),r},e}();function oe(e){var t=e.trim();return t.startsWith("<mml")||(t="<mml>"+e+"</mml>"),t=t.replace(/&(?!amp;|lt;|gt;)/g,"&"),n(t)}function le(e,t){if(!e||!e.children||!e.children.length)throw new Error("bad input");var r=e.children[0];if("mml"!==r.name)throw new Error("missing mml tag");return new ie(r,function e(t){return t.reduce((function(t,r){var n,a=r;a.children&&(n=e(a.children));var i=a.name;if("text"===r.type){if(!r.text.trim().length)return t;i="text"}return t.push(new y(i,r,n)),t}),[])}(r.children),t)}function ce(e,t){return le(oe(e),t)}exports.AddToCalendar=T,exports.Button=M,exports.ButtonList=k,exports.Card=b,exports.CardBody=w,exports.CardHeader=x,exports.Carousel=D,exports.CarouselItem=F,exports.Col=A,exports.Error=R,exports.Icon=E,exports.Image=P,exports.Input=V,exports.Loading=q,exports.MD=U,exports.MML=function(e){var n=e.source,a=e.onSubmit,i=e.converters,o=e.theme,l=void 0===o?"":o,c=e.className,u=void 0===c?"":c,s=e.Loading,m=void 0===s?q:s,d=e.Error,f=void 0===d?R:d,h=e.Success,p=void 0===h?re:h,y=t.useState(""),b=y[0],E=y[1],x=t.useState({loading:!1,error:"",success:""}),w=x[0],k=x[1],N=t.useMemo((function(){try{return ce(n,i)}catch(e){return console.warn("mml parsing error: ",n,e),E("This chat message has invalid formatting and can't be shown"),null}}),[n,i]),_=t.useCallback(function(){var e=v(g.mark((function e(t){var r;return g.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.preventDefault(),r={},null!=N&&N.name&&(r.mml_name=N.name),new FormData(t.currentTarget).forEach((function(e,t){r[t]=e})),a){e.next=6;break}return e.abrupt("return",console.warn("Forgot to pass onSubmit prop to <MML/>? payload:",r));case 6:return e.prev=6,k({loading:!0,error:"",success:""}),e.next=10,a(r);case 10:k({loading:!1,error:"",success:"submitted"}),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(6),k({loading:!1,error:"Failed to send the request. Please try again.",success:""});case 16:case"end":return e.stop()}}),e,null,[[6,13]])})));return function(t){return e.apply(this,arguments)}}(),[a,N]);return r.createElement("div",{className:"mml-container "+l+" "+u,"data-testid":"mml-container"},b?r.createElement("div",{className:"mml-wrap"},f&&r.createElement(f,{error:b})):r.createElement("form",{onSubmit:_,className:"mml-wrap","data-testid":"mml-form"},null!=N&&N.type?r.createElement("div",{className:"mml-card"},null==N?void 0:N.reactElements):null==N?void 0:N.reactElements,w.loading&&m&&r.createElement(m,{loading:w.loading}),w.success&&p&&r.createElement(p,{success:w.success}),w.error&&f&&r.createElement(f,{error:w.error})))},exports.MMLTag=y,exports.Number=W,exports.Parse=ce,exports.Row=z,exports.Scheduler=te,exports.SourceToXML=oe,exports.Success=re,exports.Text=ne,exports.Tree=ie,exports.XMLtoMMLTree=le,exports.converters=ae,exports.truncate=G; | ||
//# sourceMappingURL=mml-react.cjs.production.min.js.map |
import { FC, ComponentType } from 'react'; | ||
import { ConvertorType } from '../parser'; | ||
import { LoaderProps } from '../components/Loader'; | ||
import { LoadingProps } from '../components/Loading'; | ||
import { ErrorProps } from '../components/Error'; | ||
@@ -17,8 +17,8 @@ import { SuccessProps } from '../components/Success'; | ||
className?: string; | ||
/** The Loader component */ | ||
Loader?: ComponentType<LoaderProps>; | ||
/** The error component */ | ||
Error?: ComponentType<ErrorProps>; | ||
/** The success message component */ | ||
Success?: ComponentType<SuccessProps>; | ||
/** The Loading component, accepts null to render nothing */ | ||
Loading?: ComponentType<LoadingProps> | null; | ||
/** The error component, accepts null to render nothing */ | ||
Error?: ComponentType<ErrorProps> | null; | ||
/** The success message component, accepts null to render nothing */ | ||
Success?: ComponentType<SuccessProps> | null; | ||
}; | ||
@@ -25,0 +25,0 @@ /** |
{ | ||
"name": "mml-react", | ||
"version": "0.2.6", | ||
"version": "0.2.7", | ||
"description": "MML (Message Markup Language) for React implementation.", | ||
@@ -5,0 +5,0 @@ "author": "Getstream.io", |
@@ -71,3 +71,3 @@ # MML React | ||
- [`Icon`](/components/icon): simply displays an icon from material design icons | ||
- [`Loader`](/components/loader): signals a _loading_ temporary state with a circular spinner | ||
- [`Loading`](/components/loading): signals a _loading_ temporary state with a circular spinner | ||
- [`Error`](/components/error): display an _error_ message | ||
@@ -74,0 +74,0 @@ - [`Success`](/components/success): display a _success_ message |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
1051469
6087