UNPKG

mithril-materialized

Version:
3 lines (2 loc) 36.9 kB
import e from"mithril";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(e[i]=n[i])}return e},t.apply(this,arguments)}function n(e,t){if(null==e)return{};var n,i,a={},o=Object.keys(e);for(i=0;i<o.length;i++)t.indexOf(n=o[i])>=0||(a[n]=e[n]);return a}var i,a=function(){return"idxxxxxxxx".replace(/[x]/g,function(){return(16*Math.random()|0).toString(16)})},o=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})},r=function(e){return!isNaN(parseFloat(e))&&isFinite(e)},l=function(e,t,n){return void 0===t&&(t=2),void 0===n&&(n="0"),String(e).padStart(t,n)},c=["label","id","isMandatory","isActive","className"],s={view:function(t){return e("span.mandatory",t.attrs,"*")}},d=function(){return{view:function(i){var a=i.attrs,o=a.label,r=a.id,l=a.isMandatory,d=a.isActive,u=a.className,p=n(a,c);return o?e("label",t({},p,{className:[u,d?"active":""].filter(Boolean).join(" ").trim(),for:r}),[e.trust(o),l?e(s):void 0]):void 0}}},u=function(){return{view:function(t){var n=t.attrs,i=n.helperText,a=n.dataError,o=n.dataSuccess;return i||a||o?e("span.helper-text.left",{className:n.className,"data-error":a,"data-success":o},i?e.trust(i):""):void 0}}},p=["label","helperText","initialValue","onchange","newRow","className","style","iconName","isMandatory"],f=function(){var i={id:a()};return{view:function(a){var o=a.attrs,r=o.id||i.id,l=o.label,c=o.helperText,s=o.initialValue,f=o.onchange,m=o.newRow,v=o.className,h=void 0===v?"col s12":v,g=o.style,b=o.iconName,y=o.isMandatory,w=n(o,p);return e(".input-field"+(m?".clear":""),{className:m?h+" clear":h,style:g},[b?e("i.material-icons.prefix",b):"",e("input",t({},w,{className:"autocomplete",type:"text",tabindex:0,id:r,oncreate:function(e){M.Autocomplete.init(e.dom,o)},onchange:f?function(e){e.target&&e.target.value&&f(e.target.value)}:void 0,value:s})),e(d,{label:l,id:r,isMandatory:y,isActive:s}),e(u,{helperText:c})])}}},m=["iconName"],v=function(){return{view:function(t){var i=t.attrs,a=i.iconName,o=n(i,m);return e("i.material-icons",o,a)}}},h=["modalId","tooltip","tooltipPostion","iconName","iconClass","label","className","attr"],g=function(i,a,o){return void 0===o&&(o=""),function(){return{view:function(r){var l=r.attrs,c=l.modalId,s=l.tooltip,d=l.tooltipPostion,u=l.iconName,p=l.iconClass,f=l.label,m=l.className,g=l.attr,b=n(l,h),y=[c?"modal-trigger":"",s?"tooltipped":"",a,m].filter(Boolean).join(" ").trim();return e(i,t({},b,g,{className:y,href:c?"#"+c:void 0,"data-position":s?d||"top":void 0,"data-tooltip":s||void 0,type:o}),u?e(v,{iconName:u,className:p||"left"}):void 0,f||void 0)}}}},b=g("a","waves-effect waves-light btn","button"),y=g("a","waves-effect waves-light btn-large","button"),w=g("a","waves-effect waves-light btn-small","button"),x=g("a","waves-effect waves-teal btn-flat","button"),k=g("button","btn-floating btn-large waves-effect waves-light","button"),N=g("button","btn waves-effect waves-light","submit"),I=["href","src","alt"],A=function(){return{view:function(i){var a=i.attrs,o=a.href,r=a.src,l=a.alt,c=n(a,I);return e("a.carousel-item",t({},c,{href:o}),e("img",{src:r,alt:l}))}}},C=function(){return{view:function(t){var n=t.attrs,i=n.items;return i&&i.length>0?e(".carousel",{oncreate:function(e){M.Carousel.init(e.dom,n)}},i.map(function(t){return e(A,t)})):void 0}}},T=function(){var t={chipsData:[],selectedChip:null,focused:!1,inputValue:"",inputId:a(),autocompleteItems:[],selectedAutocompleteIndex:-1,showAutocomplete:!1},n=null,i=function(){var e;if(null!=(e=n)&&null!=(e=e.attrs.autocompleteOptions)&&e.data){var i=n.attrs.autocompleteOptions,a=i.data,o=i.minLength,r=void 0===o?1:o,l=t.inputValue.toLowerCase();if(l.length<r)return t.autocompleteItems=[],void(t.showAutocomplete=!1);var c=function(e){return Array.isArray(e)?e.map(function(e){return"string"==typeof e?{tag:e}:e}):Object.entries(e).map(function(e){var t=e[0];return{tag:t,value:e[1]||t}})}(a),s=c.filter(function(e){return e.tag.toLowerCase().includes(l)});t.autocompleteItems=s.slice(0,n.attrs.autocompleteOptions.limit||Infinity),t.showAutocomplete=t.autocompleteItems.length>0,t.selectedAutocompleteIndex=-1}else t.autocompleteItems=[]},o=function(e){r({tag:e.tag,image:e.image,alt:e.alt}),t.inputValue="",t.showAutocomplete=!1,t.selectedAutocompleteIndex=-1},r=function(e){if(n){var i=n.attrs,a=i.limit,o=void 0===a?Infinity:a,r=i.onChipAdd,l=i.onchange;!function(e,t){return!(!e.tag||""===e.tag.trim()||t.some(function(t){return t.tag===e.tag}))}(e,t.chipsData)||t.chipsData.length>=o||(t.chipsData=[].concat(t.chipsData,[e]),t.inputValue="",r&&r(e),l&&l(t.chipsData))}},l=function(e){if(n){var i=n.attrs,a=i.onChipDelete,o=i.onchange,r=t.chipsData[e];t.chipsData=t.chipsData.filter(function(t,n){return n!==e}),t.selectedChip=null,a&&a(r),o&&o(t.chipsData)}},c=function(e){if(n){var i=n.attrs.onChipSelect;t.selectedChip=e,i&&t.chipsData[e]&&i(t.chipsData[e])}},s=function(i){var a=i.target;if(t.showAutocomplete){if("ArrowDown"===i.key){var s;i.preventDefault(),t.selectedAutocompleteIndex=Math.min(t.selectedAutocompleteIndex+1,t.autocompleteItems.length-1);var d=null==(s=n)?void 0:s.dom.querySelector(".autocomplete-item.selected");return d&&d.scrollIntoView({block:"nearest"}),void e.redraw()}if("ArrowUp"===i.key){var u;i.preventDefault(),t.selectedAutocompleteIndex=Math.max(t.selectedAutocompleteIndex-1,-1);var p=null==(u=n)?void 0:u.dom.querySelector(".autocomplete-item.selected");return p&&p.scrollIntoView({block:"nearest"}),void e.redraw()}if("Enter"===i.key&&t.selectedAutocompleteIndex>=0)return i.preventDefault(),void o(t.autocompleteItems[t.selectedAutocompleteIndex])}"Enter"===i.key&&a.value.trim()?(i.preventDefault(),r({tag:a.value.trim()})):"Backspace"===i.key&&!a.value&&t.chipsData.length>0?(i.preventDefault(),l(t.chipsData.length-1)):"ArrowLeft"===i.key&&!a.value&&t.chipsData.length&&(i.preventDefault(),c(t.chipsData.length-1))};return{oninit:function(e){t.chipsData=e.attrs.data||[]},oncreate:function(e){n=e},onremove:function(){n=null},view:function(a){var r=a.attrs,p=r.isMandatory,f=void 0===p?r.required:p,m=r.className,v=r.label,h=r.helperText,g=r.placeholder,b=r.secondaryPlaceholder;return e(".input-field",{id:r.id,className:void 0===m?"col s12":m},[e(".chips.chips-initial",{class:"chips-container "+(t.focused?"focused":"")+" "+(g?"chips-placeholder":"")},[t.chipsData.map(function(i,a){return e(".chip",{key:i.tag+"-"+a,tabindex:0,class:t.selectedChip===a?"selected":"",onkeydown:function(e){return function(e,i){if("Backspace"===e.key||"Delete"===e.key){e.preventDefault(),l(i);var a=Math.max(i-1,0);t.chipsData.length&&c(a)}else if("ArrowLeft"===e.key&&i>0)c(i-1);else if("ArrowRight"===e.key)if(i<t.chipsData.length-1)c(i+1);else{var o,r=null==(o=n)?void 0:o.dom.querySelector(".chips-input");r&&r.focus()}}(e,a)}},[i.image&&e("img",{src:i.image,alt:i.alt||i.tag}),i.tag,e("i.material-icons.close",{onclick:function(e){e.stopPropagation(),l(a)}},"close")])}),e("input.chips-input.input",{id:t.inputId,title:"label",value:t.inputValue,placeholder:!t.chipsData.length&&g?g:t.chipsData.length&&b?b:"",oninput:function(e){t.inputValue=e.target.value,i()},onfocus:function(){t.focused=!0,t.selectedChip=null,i()},onblur:function(){t.focused=!1,setTimeout(function(){t.showAutocomplete=!1,t.selectedChip=null,e.redraw()},150)},onkeydown:s}),t.showAutocomplete&&e("ul.autocomplete-content.dropdown-content",{style:{display:"block",opacity:1,transform:"scaleX(1) scaleY(1)",position:"absolute",width:"100%",left:0,top:"100%",maxHeight:"200px",overflow:"auto",zIndex:1e3,backgroundColor:"#fff",boxShadow:"0 2px 2px 0 rgba(0,0,0,0.14), 0 3px 1px -2px rgba(0,0,0,0.12), 0 1px 5px 0 rgba(0,0,0,0.2)"}},t.autocompleteItems.map(function(n,i){return e("li.autocomplete-item",{key:n.tag,class:t.selectedAutocompleteIndex===i?"selected":"",style:{padding:"12px 16px",cursor:"pointer",backgroundColor:t.selectedAutocompleteIndex===i?"#eee":"transparent"},onmousedown:function(e){e.preventDefault(),o(n)},onmouseover:function(){t.selectedAutocompleteIndex=i}},[n.image&&e("img.autocomplete-item-image",{src:n.image,alt:n.alt||n.tag,style:{width:"24px",height:"24px",marginRight:"8px",verticalAlign:"middle"}}),e("span.autocomplete-item-text",n.tag)])}))]),v&&e(d,{label:v,id:t.inputId,isMandatory:f,isActive:!!(t.focused||t.chipsData.length||g)}),h&&e(u,{helperText:h})])}}},D=["newRow","code","language","className"],V=function(){return{view:function(i){var a=i.attrs,o=a.newRow,r=a.code,l=a.language,c=a.className,s=n(a,D),d=l||"lang-TypeScript",u=d.replace("lang-",""),p=r instanceof Array?r.join("\n"):r,f=[o?"clear":"",d,c].filter(Boolean).join(" ").trim();return e("pre.codeblock"+(o?".clear":""),a,[e("div",e("label",u)),e("code",t({},s,{className:f}),p)])}}},O=function(){return{view:function(t){var n=t.attrs,i=n.header,a=n.body,o=n.iconName;return e(n.active?"li.active":"li",[i||o?e(".collapsible-header",[o?e("i.material-icons",o):void 0,i?"string"==typeof i?e("span",i):i:void 0]):void 0,a?e(".collapsible-body",a):void 0])}}},S=function(){return{oncreate:function(e){M.Collapsible.init(e.dom,e.attrs)},view:function(t){var n=t.attrs,i=n.items;return i&&i.length>0?e("ul.collapsible",{class:n.class||n.className,style:n.style,id:n.id},i.map(function(t){return e(O,t)})):void 0}}},R=["header","items","mode"],L=["title","active","href"],j=["items","header"],B=["items","header","mode"];!function(e){e[e.BASIC=0]="BASIC",e[e.LINKS=1]="LINKS",e[e.AVATAR=2]="AVATAR"}(i||(i={}));var E=function(e){return e&&/https?:\/\//.test(e)},F=function(){return{view:function(t){var n=t.attrs,i=n.href,a=n.iconName,o=void 0===a?"send":a,r=n.onclick,l=n.style,c={href:i,style:void 0===l?{cursor:"pointer"}:l,className:"secondary-content",onclick:r?function(){return r(n)}:void 0};return E(i)||!i?e("a[target=_]",c,e(v,{iconName:o})):e(e.route.Link,c,e(v,{iconName:o}))}}},K=function(e){return void 0===e&&(e=""),/\./.test(e)},P=function(){return{view:function(t){var n=t.attrs,a=n.item,o=a.title,r=a.content,l=void 0===r?"":r,c=a.active,s=a.iconName,d=a.avatar,u=a.className,p=a.onclick;return n.mode===i.AVATAR?e("li.collection-item.avatar",{className:c?"active":"",onclick:p?function(){return p(a)}:void 0},[K(d)?e("img.circle",{src:d}):e("i.material-icons.circle",{className:u},d),e("span.title",o),e("p",e.trust(l)),e(F,a)]):e("li.collection-item",{className:c?"active":""},s?e("div",[o,e(F,a)]):o)}}},_=function(){return{view:function(t){var a=t.attrs,o=a.header,r=a.items,l=a.mode,c=void 0===l?i.BASIC:l,s=n(a,R),d=r.map(function(t){return e(P,{key:t.id,item:t,mode:c})});return o?e("ul.collection.with-header",s,[e("li.collection-header",e("h4",o)),d]):e("ul.collection",s,d)}}},z=function(){return{view:function(i){var a=i.attrs.item,o=a.title,r=a.active,l=a.href,c=t({},n(a,L),{className:"collection-item "+(r?"active":""),href:l});return E(l)||!l?e("a[target=_]",c,o):e(e.route.Link,c,o)}}},H=function(){return{view:function(t){var i=t.attrs,a=i.items,o=i.header,r=n(i,j);return o?e(".collection.with-header",r,[e(".collection-header",e("h4",o)),a.map(function(t){return e(z,{key:t.id,item:t})})]):e(".collection",r,a.map(function(t){return e(z,{key:t.id,item:t})}))}}},U=function(){return{view:function(a){var o=a.attrs,r=o.items,l=o.header,c=o.mode,s=void 0===c?i.BASIC:c,d=n(o,B);return l||r&&r.length>0?s===i.LINKS?e(H,t({header:l,items:r},d)):e(_,t({header:l,items:r,mode:s},d)):void 0}}},q=["key","label","onchange","disabled","items","iconName","helperText","style","className"],W=function(){var t={};return{oninit:function(e){var n=e.attrs,i=n.id,o=void 0===i?a():i,r=n.initialValue,l=n.checkedId;t.id=o,t.initialValue=r||l},view:function(i){var a=i.attrs,o=a.key,r=a.label,l=a.onchange,c=a.disabled,s=void 0!==c&&c,d=a.items,p=a.iconName,f=a.helperText,m=a.style,v=a.className,h=void 0===v?"col s12":v,g=n(a,q),b=t.id,y=t.initialValue,w=y?d.filter(function(e){return e.id?e.id===y:e.label===y}).shift():void 0,x=w?w.label:r||"Select";return e(".input-field",{className:h,key:o,style:m},[p?e("i.material-icons.prefix",p):void 0,e(u,{helperText:f}),e("a.dropdown-trigger.btn.truncate[href=#]",{"data-target":b,disabled:s,className:"col s12",style:m||(p?"margin: 0.2em 0 0 3em;":void 0),oncreate:function(e){M.Dropdown.init(e.dom,g)}},x),e("ul.dropdown-content",{id:b},d.map(function(n){return e("li[tabindex=-1]",{className:n.divider?"divider":""},n.divider?void 0:e("a",{onclick:l?function(){t.initialValue=n.id||n.label,l(t.initialValue)}:void 0},[n.iconName?e("i.material-icons",n.iconName):void 0,n.label]))}))])}}},Y=["className","iconName","iconClass","position","style","buttons"],$=function(){return{view:function(t){var i=t.attrs,a=i.className,o=i.iconName,r=i.iconClass,l=void 0===r?"large":r,c=i.position,s=i.style,d=void 0===s?"left"===c||"inline-left"===c?"position: absolute; display: inline-block; left: 24px;":"right"===c||"inline-right"===c?"position: absolute; display: inline-block; right: 24px;":void 0:s,u=i.buttons,p=n(i,Y),f=e(".fixed-action-btn",{style:d,oncreate:function(e){return M.FloatingActionButton.init(e.dom,p)}},[e("a.btn-floating.btn-large",{className:a},e("i.material-icons",{classNames:l},o)),u?e("ul",u.map(function(t){return e("li",e("a.btn-floating",{className:t.className,onclick:function(e){return t.onClick&&t.onClick(e)}},e("i.material-icons",{className:t.iconClass},t.iconName)))})):void 0]);return"inline-right"===c||"inline-left"===c?e("div",{style:"position: relative; height: 70px;"},f):f}}},X=["className","helperText","iconName","id","initialValue","isMandatory","label","onchange","onkeydown","onkeypress","onkeyup","onblur","style"],G=["className","dataError","dataSuccess","helperText","iconName","id","initialValue","isMandatory","label","maxLength","newRow","onchange","onkeydown","onkeypress","onkeyup","onblur","style","validate"],J=function(){var i={id:a()};return{view:function(a){var o=a.attrs,r=o.className,l=void 0===r?"col s12":r,c=o.helperText,s=o.iconName,p=o.id,f=void 0===p?i.id:p,m=o.initialValue,v=o.isMandatory,h=o.label,g=o.onchange,b=o.onkeydown,y=o.onkeypress,w=o.onkeyup,x=o.onblur,k=o.style,N=n(o,X);return e(".input-field",{className:l,style:k},[s?e("i.material-icons.prefix",s):"",e("textarea.materialize-textarea",t({},N,{id:f,tabindex:0,oncreate:function(e){var t=e.dom;M.textareaAutoResize(t),o.maxLength&&M.CharacterCounter.init(t)},onchange:g?function(e){var t=e.target;g(t&&"string"==typeof t.value?t.value:"")}:void 0,value:m,onkeyup:w?function(e){w(e,e.target.value)}:void 0,onkeydown:b?function(e){b(e,e.target.value)}:void 0,onkeypress:y?function(e){y(e,e.target.value)}:void 0,onblur:x})),e(d,{label:h,id:f,isMandatory:v,isActive:m||o.placeholder}),e(u,{helperText:c})])}}},Q=function(i,o){return void 0===o&&(o=""),function(){var r={id:a()},l=function(e){var t=e.value;return!t||"number"!==i&&"range"!==i?t:+t},c=function(e,t){e.setCustomValidity("boolean"==typeof t?t?"":"Custom validation failed":t)};return{view:function(a){var s=a.attrs,p=s.className,f=void 0===p?"col s12":p,m=s.dataError,v=s.dataSuccess,h=s.helperText,g=s.iconName,b=s.id,y=void 0===b?r.id:b,w=s.initialValue,x=s.isMandatory,k=s.label,N=s.maxLength,I=s.newRow,A=s.onchange,C=s.onkeydown,T=s.onkeypress,D=s.onkeyup,V=s.onblur,O=s.style,S=s.validate,R=n(s,G),L=[I?"clear":"",o,f].filter(Boolean).join(" ").trim();return e(".input-field",{className:L,style:O},[g?e("i.material-icons.prefix",g):void 0,e("input.validate",t({},R,{type:i,tabindex:0,id:y,oncreate:function(e){var t,n=e.dom;(t=s.autofocus)&&("boolean"==typeof t?t:t())&&n.focus(),N&&M.CharacterCounter.init(n),"range"===i&&M.Range.init(n)},onkeyup:D?function(e){D(e,l(e.target))}:void 0,onkeydown:C?function(e){C(e,l(e.target))}:void 0,onkeypress:T?function(e){T(e,l(e.target))}:void 0,onblur:V,onupdate:S?function(e){var t=e.dom;c(t,S(l(t),t))}:void 0,onchange:function(e){var t=e.target;if(t){var n=l(t);A&&A(n),S&&c(t,S(n,t))}},value:w})),e(d,{label:k,id:y,isMandatory:x,isActive:!(void 0===w&&!s.placeholder&&"number"!==i&&"color"!==i&&"range"!==i)}),e(u,{helperText:h,dataError:m,dataSuccess:v})])}}}},Z=Q("text"),ee=Q("password"),te=Q("number"),ne=Q("url"),ie=Q("color"),ae=Q("range",".range-field"),oe=Q("email"),re=function(){var t,n=!1;return{view:function(i){var a=i.attrs,o=a.multiple,r=a.disabled,l=a.initialValue,c=a.placeholder,s=a.onchange,d=a.className,u=void 0===d?"col s12":d,p=a.accept,f=a.label,m=void 0===f?"File":f,v=p?p instanceof Array?p.join(", "):p:void 0;return e(".file-field.input-field",{className:a.class||u},[e(".btn",[e("span",m),e("input[type=file]",{title:m,accept:v,multiple:o,disabled:r,onchange:s?function(e){var t=e.target;t&&t.files&&s&&(n=!0,s(t.files))}:void 0})]),e(".file-path-wrapper",e("input.file-path.validate[type=text]",{placeholder:c,oncreate:function(e){t=e.dom,l&&(t.value=l)}})),(n||l)&&e("a.waves-effect.waves-teal.btn-flat",{style:{float:"right",position:"relative",top:"-3rem",padding:0},onclick:function(){n=!1,t.value="",s&&s({})}},e("i.material-icons","clear"))])}}},le=function(){return{view:function(t){var n=t.attrs,i=n.className,a=n.onchange,o=n.label,r=n.description;return e("div",{className:void 0===i?"col s12":i,style:n.style},e("label",[e("input[type=checkbox][tabindex=0]",{checked:n.checked,disabled:n.disabled,onclick:a?function(e){e.target&&void 0!==e.target.checked&&a(e.target.checked)}:void 0}),o?"string"==typeof o?e("span",o):o:void 0]),r&&e(u,{className:"input-checkbox-desc",helperText:r}))}}},ce=function(){var t={},n=function(e){return t.checkedIds.indexOf(e)>=0};return{oninit:function(e){var n=e.attrs,i=n.checkedId,a=i||n.initialValue;t.checkedId=i,t.checkedIds=a?a instanceof Array?[].concat(a):[a]:[]},view:function(i){var a=i.attrs,o=a.label,r=a.id,l=a.options,c=a.checkedId,s=a.description,p=a.className,f=void 0===p?"col s12":p,m=a.style,v=a.disabled,h=a.checkboxClass,g=a.newRow,b=a.isMandatory,y=a.onchange;c&&t.checkedId!==c&&(t.checkedId=c,t.checkedIds=c instanceof Array?c:[c]);var w=y?function(e,n){var i=t.checkedIds.filter(function(t){return t!==e});n&&i.push(e),t.checkedIds=i,y(i)}:void 0,x=[g?"clear":"",f].filter(Boolean).join(" ").trim();return e("div",{className:x,style:m},[e("div",{className:"input-field options"},e(d,{id:r,label:o,isMandatory:b})),e(u,{helperText:s})].concat(l.map(function(t){return e(le,{disabled:v||t.disabled,label:t.label,onchange:w?function(e){return w(t.id,e)}:void 0,className:t.className||h,checked:n(t.id),description:t.description})})))}}},se=function(){var t=function(e){return n.curKey=n.id=e},n={elementId:a(),id:"",curKey:"",kvc:function(t,n,i){var a=i.keyClass,o=void 0===a?".col.s4":a,r=i.valueClass,l=void 0===r?".col.s8":r,c=n instanceof Array?n.join(", "):"boolean"==typeof n?e(le,{label:" ",checked:n,disabled:!0,className:"checkbox-in-collection"}):n.toString();return{title:e(".row",{style:"margin-bottom: 0"},[e(o,e("b",t)),e(l,c)])}}},o=function(){n.id="",n.curKey=""};return{oninit:function(e){var t=e.attrs,i=t.keyValueConverter,a=t.id;i&&(n.kvc=i),a&&(n.elementId=a)},view:function(a){var r=a.attrs,l=r.className,c=void 0===l?"col s12":l,s=r.disabled,u=r.disallowArrays,p=r.header,f=r.iconName,m=r.iconNameKey,v=void 0===m?f?"label":void 0:m,h=r.isMandatory,g=r.label,b=r.labelKey,y=void 0===b?"Key":b,w=r.labelValue,k=void 0===w?"Value":w,N=r.properties,I=r.onchange,A=r.falsy,C=void 0===A?["false"]:A,M=r.truthy,T=void 0===M?["true"]:M,D=function(){return I?I(N):void 0},V=function(e,i){return Object.keys(e).map(function(t){return{key:t,value:e[t]}}).map(function(e){return function(e,i){var a=i.onclick;return i.id=i.id||e,i.active=e===n.curKey,i.onclick=a?function(){return t(e)&&a(i)}:function(){return t(e)},i}(e.key,n.kvc(e.key,e.value,{keyClass:i.keyClass,valueClass:i.valueClass}))})}(N,{keyClass:r.keyClass,valueClass:r.valueClass}),O=n.curKey,S=N[O],R="boolean"==typeof S||"number"==typeof S?S:S?S instanceof Array?"["+S.join(", ")+"]":S:"",L=n.elementId;return[e(".map-editor",e(".input-field",{className:c,style:"min-height: 1.5em;"},[f?e("i.material-icons.prefix",f):"",e(d,{label:g,isMandatory:h,isActive:V.length>0}),e(U,{id:L,items:V,mode:i.LINKS,header:p})])),s?void 0:[e(Z,{label:y,iconName:v,className:"col s5",initialValue:O,onchange:function(e){n.curKey=e,n.id&&(delete N[n.id],N[e]=S,n.id=e),D()}}),"string"==typeof R?e(J,{label:k,initialValue:R,className:"col s7",onchange:function(e){var t=function(e,t,n){return t.indexOf(e)>=0||!(n.indexOf(e)>=0)&&void 0}(e,T,C),n=void 0===t&&/^\s*\d+\s*$/i.test(e)?+e:void 0;N[O]="boolean"==typeof t?t:"number"==typeof n?n:function(e,t){if(void 0===t&&(t=!1),t)return e;if(e){var n=/\s*\[(.*)\]\s*/gi.exec(e);if(n&&2===n.length)return n[1].split(",").map(function(e){return e.trim()}).map(function(e){return/^\d+$/g.test(e)?+e:e})}}(e,u)||e,D()}}):"number"==typeof R?e(te,{label:k,initialValue:R,className:"col s7",onchange:function(e){N[O]=e,D()}}):e(le,{label:k,checked:R,className:"input-field col s7",onchange:function(e){N[O]=e,D()}}),e(".col.s12.right-align",[e(x,{iconName:"add",onclick:o}),e(x,{iconName:"delete",disabled:!O,onclick:function(){delete N[O],o(),D()}})])]]}}},de=function(){return{oncreate:function(e){M.Materialbox.init(e.dom,e.attrs)},view:function(t){return e("img.materialboxed",t.attrs)}}},ue=function(){return{oncreate:function(e){var t=e.attrs,n=t.onCreate,i=M.Modal.init(e.dom,t.options);n&&n(i)},view:function(n){var i=n.attrs,a=i.id,o=i.title,r=i.description,l=i.buttons,c=i.richContent,s=[i.className,i.fixedFooter?"modal-fixed-footer":"",i.bottomSheet?"bottom-sheet":""].filter(Boolean).join(" ").trim();return e(".modal",{id:a,className:s},[e(".modal-content",[e("h4",o),c&&"string"==typeof r?e.trust(r||""):"string"==typeof r?e("p",r):r]),l?e(".modal-footer",l.map(function(n){return e(x,t({},n,{className:"modal-close"}))})):void 0])}}},pe=function(){return{view:function(t){var n=t.attrs,i=n.title;return e("li",{className:n.active?"active":n.disabled?"disabled":"waves-effect"},"number"==typeof i?e(e.route.Link,{href:n.href},i):i)}}},fe=function(){var n={pagIndex:0};return{view:function(i){var a=i.attrs,o=a.items,r=a.curPage,l=void 0===r?1:r,c=a.size,s=void 0===c?Math.min(9,o.length):c,d=n.pagIndex,u=d*s,p=u+s,f=d>0,m=p<o.length,v=[{title:e("a",{onclick:function(){return f&&n.pagIndex--}},e("i.material-icons","chevron_left")),disabled:!f}].concat(o.filter(function(e,t){return u<=t&&t<p}),[{title:e("a",{onclick:function(){return m&&n.pagIndex++}},e("i.material-icons","chevron_right")),disabled:!m}]);return e("ul.pagination",v.map(function(n,i){return e(pe,t({title:u+i},n,{active:u+i===l}))}))}}},me=function(){return{oncreate:function(e){M.Parallax.init(e.dom,e.attrs)},view:function(t){var n=t.attrs.src;return n?e(".parallax-container",e(".parallax",e("img",{src:n}))):void 0}}},ve=["label","helperText","initialValue","newRow","className","iconName","isMandatory","onchange","disabled"],he=["label","helperText","initialValue","newRow","className","iconName","isMandatory","onchange","disabled"],ge=function(){var i={id:a()};return{view:function(a){var o=a.attrs,r=o.label,l=o.helperText,c=o.initialValue,s=o.newRow,p=o.className,f=void 0===p?"col s12":p,m=o.iconName,v=o.isMandatory,h=o.onchange,g=o.disabled,b=n(o,ve),y=i.id,w=h?function(){return i.dp&&h(i.dp.date)}:void 0,x=[s?"clear":"",f].filter(Boolean).join(" ").trim();return e(".input-field",{className:x,onremove:function(){return i.dp&&i.dp.destroy()}},[m?e("i.material-icons.prefix",m):"",e("input",t({},b,{type:"text",tabindex:0,className:"datepicker",id:y,disabled:g,oncreate:function(e){i.dp=M.Datepicker.init(e.dom,t({format:"yyyy/mm/dd",showClearBtn:!0,setDefaultDate:!0,defaultDate:c?new Date(c):new Date},b,{onClose:w}))}})),e(d,{label:r,id:y,isMandatory:v,isActive:!!c}),e(u,{helperText:l})])}}},be=function(){var i={id:a()};return{view:function(a){var o=a.attrs,r=o.label,l=o.helperText,c=o.initialValue,s=o.newRow,p=o.className,f=void 0===p?"col s12":p,m=o.iconName,v=o.isMandatory,h=o.onchange,g=o.disabled,b=n(o,he),y=i.id,w=new Date,x=h?function(){return i.tp&&h(i.tp.time||c||w.getHours()+":"+w.getMinutes())}:void 0,k=["input-field","timepicker",s?"clear":"",f].filter(Boolean).join(" ").trim();return e("div",{className:k,onremove:function(){return i.tp&&i.tp.destroy()}},[m?e("i.material-icons.prefix",m):"",e("input",t({},b,{type:"text",tabindex:0,id:y,disabled:g,value:c,oncreate:function(e){i.tp=M.Timepicker.init(e.dom,t({twelveHour:!1,showClearBtn:!0,defaultTime:c},b,{onCloseEnd:x}))}})),e(d,{label:r,id:y,isMandatory:v,isActive:c}),e(u,{helperText:l})])}}},ye=function(){return{view:function(t){var n=t.attrs,i=n.id,a=n.label,o=n.onchange,r=n.className;return e("div",{className:void 0===r?"col s12":r},e("label",[e("input[type=radio][tabindex=0]",{name:n.groupId,disabled:n.disabled,checked:n.checked,onclick:o?function(){return o(i)}:void 0}),e("span",e.trust(a))]))}}},we=function(){var n={groupId:a()};return{oninit:function(e){var t=e.attrs,i=t.checkedId,a=t.initialValue;n.oldCheckedId=i,n.checkedId=i||a},view:function(i){var a=i.attrs,o=a.id,r=a.checkedId,l=a.newRow,c=a.className,s=void 0===c?"col s12":c,u=a.label,p=void 0===u?"":u,f=a.disabled,m=a.description,v=a.options,h=a.isMandatory,g=a.checkboxClass,b=a.onchange;n.oldCheckedId!==r&&(n.oldCheckedId=n.checkedId=r);var y=n.groupId,w=n.checkedId,x=function(e){n.checkedId=e,b&&b(e)};return l&&(s+=" clear"),e("div",{id:o,className:s},[e("div",{className:"input-field options"},e(d,{id:o,label:p,isMandatory:h})),m?e("p.helper-text",e.trust(m)):""].concat(v.map(function(n){return e(ye,t({},n,{onchange:x,groupId:y,disabled:f,className:g,checked:n.id===w}))})))}}},xe=function(){var t={},n=function(e){return e.map(function(e){return e.id}).join("")},i=function(e,t,n){return void 0===n&&(n=!1),n||(t instanceof Array&&(e||"number"==typeof e)?t.indexOf(e)>=0:t===e)};return{oninit:function(e){var i=e.attrs,a=i.checkedId,o=i.initialValue;t.ids=n(i.options);var r=a||o;t.checkedId=a instanceof Array?[].concat(a):a,t.initialValue=null!=r?r instanceof Array?r.filter(function(e){return null!=e}):[r]:[]},view:function(a){var o=a.attrs,l=o.id,c=o.newRow,s=o.className,p=void 0===s?"col s12":s,f=o.checkedId,m=o.key,v=o.options,h=o.multiple,g=o.label,b=o.helperText,y=o.placeholder,w=void 0===y?"":y,x=o.isMandatory,k=o.iconName,N=o.disabled,I=o.classes,A=void 0===I?"":I,C=o.dropdownOptions,T=o.onchange;t.checkedId!==f&&(t.initialValue=f?f instanceof Array?f:[f]:void 0);var D=t.initialValue,V=T?h?function(){var e=t.instance&&t.instance.getSelectedValues(),n=e?e.length>0&&r(e[0])?e.map(function(e){return+e}):e.filter(function(e){return null!==e||void 0!==e}):void 0;t.initialValue=n||[],T(t.initialValue)}:function(e){if(e&&e.currentTarget){var n=e.currentTarget,i=r(n.value)?+n.value:n.value;t.initialValue=void 0!==typeof i?[i]:[]}t.initialValue&&T(t.initialValue)}:void 0;c&&(p+=" clear");var O=!v.some(function(e){return i(e.id,D)}),S=v.reduce(function(e,t){return t.group&&e.indexOf(t.group)<0&&e.push(t.group),e},[]);return e(".input-field.select-space",{className:p,key:m,oncreate:h?function(e){return t.wrapper=e.dom}:void 0},[k&&e("i.material-icons.prefix",k),e("select",{id:l,title:g,disabled:N,multiple:h,oncreate:function(e){t.instance=M.FormSelect.init(e.dom,{classes:A,dropdownOptions:C})},onupdate:function(e){var i=e.dom;if(h){var a=k?1:0;!t.inputEl&&t.wrapper&&t.wrapper.childNodes&&t.wrapper.childNodes.length>0&&t.wrapper.childNodes[a].childNodes&&t.wrapper.childNodes[a].childNodes[0]&&(t.inputEl=t.wrapper.childNodes[a].childNodes[0]),t.inputEl&&t.inputEl.value&&t.inputEl.value.startsWith(w+", ")&&(t.inputEl.value=t.inputEl.value.replace(w+", ",""))}var o=n(v),r=f&&t.checkedId!==f.toString();t.ids!==o&&(t.ids=o,r=!0),(t.checkedId instanceof Array&&f instanceof Array?t.checkedId.join()!==f.join():t.checkedId!==f)&&(t.checkedId=f,r=!0),r&&(t.instance=M.FormSelect.init(i,{classes:A,dropdownOptions:C}))},onchange:V},e("option",{value:"",disabled:!0,selected:!!O||void 0},w),0===S.length?v.map(function(t,n){var a;return e("option",{value:t.id,title:t.title||void 0,disabled:t.disabled?"true":void 0,"data-icon":t.img||void 0,selected:i(t.id,D,0===n&&O&&!w)},null==(a=t.label)?void 0:a.replace("&amp;","&"))}):S.map(function(t){return e("optgroup",{label:t},v.filter(function(e){return e.group===t}).map(function(t,n){var a;return e("option",{value:t.id,title:t.title||void 0,disabled:t.disabled?"true":void 0,"data-icon":t.img||void 0,selected:i(t.id,D,0===n&&O&&!w)},null==(a=t.label)?void 0:a.replace("&amp;","&"))}))})),e(d,{label:g,isMandatory:x}),b&&e(u,{helperText:b})])}}},ke=["label","left","right","disabled","newRow","onchange","checked","isMandatory","className"],Ne=function(){var t={id:a()};return{view:function(i){var a=i.attrs,o=a.id||t.id,r=a.label,l=a.left,c=a.right,s=a.disabled,u=a.newRow,p=a.onchange,f=a.checked,m=a.isMandatory,v=a.className,h=void 0===v?"col s12":v,g=n(a,ke),b=["input-field",u?"clear":"",h].filter(Boolean).join(" ").trim();return e("div",{className:b},[r?e(d,{label:r||"",id:o,isMandatory:m,className:"active"}):void 0,e(".switch",g,e("label",[l||"Off",e("input[type=checkbox]",{id:o,disabled:s,checked:f,onclick:p?function(e){e.target&&void 0!==e.target.checked&&p(e.target.checked)}:void 0}),e("span.lever"),c||"On"]))])}}},Ie=function(){var t={},n=function(e,t){return t||e.replace(/ /g,"").toLowerCase()};return{view:function(i){var a=i.attrs,o=a.tabWidth,r=a.selectedTabId,l=a.tabs,c=a.className,s=a.style,d=a.duration,u=a.onShow,p=a.swipeable,f=a.responsiveThreshold,m=l.filter(function(e){return e.active}).shift(),v=r||(m?n(m.title,m.id):""),h=["fill"===o?"tabs-fixed-width":"",c].filter(Boolean).join(" ").trim();return e(".row",[e(".col.s12",e("ul.tabs",{className:h,style:s,oncreate:function(e){t.instance=M.Tabs.init(e.dom,{duration:d,onShow:u,responsiveThreshold:f,swipeable:p})},onupdate:function(){if(v){var e=document.getElementById("tab_"+v);e&&e.click()}},onremove:function(){return t.instance.destroy()}},l.map(function(t){var i=t.className,a=t.title,r=t.id,c=t.active,s=t.disabled,d=t.target,u=t.href,p=["fixed"===o?"col s"+Math.floor(12/l.length):"",i].filter(Boolean).join(" ").trim(),f=n(a,r);return e("li.tab",{className:p,disabled:s},e("a",{id:"tab_"+f,className:c?"active":"",target:d,href:u||"#"+f},a))}))),l.filter(function(e){return void 0===e.href}).map(function(t){var i=t.vnode,a=t.contentClass;return e(".col.s12",{id:n(t.title,t.id),className:a},i)})])}}},Ae=function(){return{view:function(t){var n=t.attrs,i=n.id,a=n.title,o=n.datetime,r=n.active,l=n.content,c=n.iconName,s=n.timeFormatter,d=n.onSelect;return e("li",{id:i,className:r?"active":void 0,onclick:d?function(){return d({id:i,title:a,datetime:o,active:r,content:l})}:void 0,style:d?"cursor: pointer;":void 0},[e(".mm_time",{datetime:o},[e("span",(0,n.dateFormatter)(o)),e("span",s(o))]),c?e(".mm_icon",e("i.material-icons",c)):void 0,e(".mm_label",[a?"string"==typeof a?e("h5",a):a:void 0,l?"string"==typeof l?e("p",l):l:void 0])])}}},Ce=function(){var n=function(e){return e.getUTCDate()+"/"+(e.getUTCMonth()+1)+"/"+e.getUTCFullYear()},i=function(e){return l(e.getUTCHours())+":"+l(e.getUTCMinutes())};return{view:function(a){var o=a.attrs,r=o.onSelect,l=o.timeFormatter,c=void 0===l?i:l,s=o.dateFormatter,d=void 0===s?n:s;return e("ul.mm_timeline",o.items.map(function(n){return e(Ae,t({onSelect:r,dateFormatter:d,timeFormatter:c},n))}))}}},Me=function(){var t={isOpen:!1,selectedOptions:[],searchTerm:"",options:[],inputRef:null,dropdownRef:null,focusedIndex:-1,onchange:null},n=function(n){var i=n.target;t.inputRef&&t.inputRef.contains(i)?(t.isOpen=!t.isOpen,e.redraw()):t.dropdownRef&&!t.dropdownRef.contains(i)&&(t.isOpen=!1,e.redraw())},i=function(n){if(t.isOpen){var i=t.options.filter(function(e){return(e.label||e.id.toString()).toLowerCase().includes((t.searchTerm||"").toLowerCase())&&!t.selectedOptions.some(function(t){return t.id===e.id})});switch(n.key){case"ArrowDown":n.preventDefault(),t.focusedIndex=Math.min(t.focusedIndex+1,i.length-1),e.redraw();break;case"ArrowUp":n.preventDefault(),t.focusedIndex=Math.max(t.focusedIndex-1,-1),e.redraw();break;case"Enter":n.preventDefault(),t.focusedIndex>=0&&t.focusedIndex<i.length&&a(i[t.focusedIndex]);break;case"Escape":n.preventDefault(),t.isOpen=!1,t.focusedIndex=-1,e.redraw()}}},a=function(n){n.disabled||(t.selectedOptions=t.selectedOptions.some(function(e){return e.id===n.id})?t.selectedOptions.filter(function(e){return e.id!==n.id}):[].concat(t.selectedOptions,[n]),t.searchTerm="",t.focusedIndex=-1,t.onchange&&t.onchange(t.selectedOptions.map(function(e){return e.id})),e.redraw())};return{oninit:function(e){var n=e.attrs,i=n.options,a=void 0===i?[]:i,o=n.initialValue,r=void 0===o?[]:o,l=n.onchange;t.options=a,t.selectedOptions=a.filter(function(e){return r.includes(e.id)}),t.onchange=l},oncreate:function(){document.addEventListener("click",n),document.addEventListener("keydown",i)},onremove:function(){document.removeEventListener("click",n),document.removeEventListener("keydown",i)},view:function(n){var i=n.attrs,o=i.oncreateNewOption,r=i.className,l=i.placeholder,c=i.searchPlaceholder,s=void 0===c?"Search options...":c,d=i.noOptionsFound,u=void 0===d?"No options found":d,p=i.label,f=i.maxHeight,m=void 0===f?"25rem":f,v=t.options.filter(function(e){return(e.label||e.id.toString()).toLowerCase().includes((t.searchTerm||"").toLowerCase())&&!t.selectedOptions.some(function(t){return t.id===e.id})}),h=o&&t.searchTerm&&!v.some(function(e){return(e.label||e.id.toString()).toLowerCase()===t.searchTerm.toLowerCase()});return e(".multi-select-dropdown.input-field",{className:r},[e("label",{class:l||t.selectedOptions.length>0?"active":""},p),e(".dropdown-trigger",{oncreate:function(e){t.inputRef=e.dom},style:{borderBottom:"2px solid #d1d5db",display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer"}},[e(".selected-options",{style:{display:"flex",flexWrap:"wrap",minHeight:"50px",paddingTop:"12px"}},0===t.selectedOptions.length?[e("span",l)]:t.selectedOptions.map(function(n){return e(".chip",[n.label||n.id.toString(),e("button",{onclick:function(i){i.stopPropagation(),function(n){t.selectedOptions=t.selectedOptions.filter(function(e){return e.id!==n.id}),t.onchange&&t.onchange(t.selectedOptions.map(function(e){return e.id})),e.redraw()}(n)},style:{marginLeft:"0.25rem",background:"none",border:"none",cursor:"pointer"}},"×")])})),e("svg.caret",{class:"caret",height:"24",viewBox:"0 0 24 24",width:"24",xmlns:"http://www.w3.org/2000/svg"},[e("path",{d:"M7 10l5 5 5-5z"}),e("path",{d:"M0 0h24v24H0z",fill:"none"})])]),t.isOpen&&e(".dropdown-menu",{oncreate:function(e){t.dropdownRef=e.dom},onremove:function(){t.dropdownRef=null},style:{position:"absolute",width:"98%",marginTop:"0.4rem",zIndex:1e3}},[e("ul.dropdown-content.select-dropdown",{style:{maxHeight:m,opacity:1,display:"block",width:"100%"}},[e("li",{class:"search-wrapper",style:{padding:"0 16px",position:"relative"}},[e("input",{type:"text",placeholder:s,value:t.searchTerm||"",oninput:function(n){t.searchTerm=n.target.value,t.focusedIndex=-1,e.redraw()},style:{width:"100%",outline:"none",fontSize:"0.875rem"}})])].concat(0!==v.length||h?[]:[e("li",{style:{padding:"0.5rem",textAlign:"center",color:"#9ca3af"}},u)],h?[e("li",{onclick:function(){try{return Promise.resolve(o(t.searchTerm)).then(function(e){a(e)})}catch(e){return Promise.reject(e)}},style:{display:"flex",alignItems:"center",cursor:"pointer",background:t.focusedIndex===v.length?"#f3f4f6":""}},[e("span",'+ "'+t.searchTerm+'"')])]:[],v.map(function(n,i){return e("li",{onclick:function(){return a(n)},class:n.disabled?"disabled":void 0,style:{display:"flex",alignItems:"center",cursor:n.disabled?"not-allowed":"pointer",background:t.focusedIndex===i?"#f3f4f6":""}},e("span",[e("input",{type:"checkbox",checked:t.selectedOptions.some(function(e){return e.id===n.id}),style:{marginRight:"0.5rem"}}),n.label||n.id.toString()]))})))])])}}};export{z as AnchorItem,f as Autocomplete,b as Button,g as ButtonFactory,C as Carousel,A as CarouselItem,T as Chips,V as CodeBlock,S as Collapsible,O as CollapsibleItem,U as Collection,i as CollectionMode,ie as ColorInput,ge as DatePicker,W as Dropdown,oe as EmailInput,re as FileInput,x as FlatButton,$ as FloatingActionButton,u as HelperText,v as Icon,le as InputCheckbox,d as Label,y as LargeButton,P as ListItem,s as Mandatory,se as MapEditor,de as MaterialBox,ue as ModalPanel,te as NumberInput,ce as Options,fe as Pagination,me as Parallax,ee as PasswordInput,ye as RadioButton,we as RadioButtons,ae as RangeInput,k as RoundIconButton,Me as SearchSelect,F as SecondaryContent,xe as Select,w as SmallButton,N as SubmitButton,Ne as Switch,Ie as Tabs,J as TextArea,Z as TextInput,be as TimePicker,Ce as Timeline,ne as UrlInput,r as isNumeric,l as padLeft,a as uniqueId,o as uuid4}; //# sourceMappingURL=index.esm.js.map