UNPKG

@bottledbrains/ui

Version:

A React UI library based on Tailwind CSS

2 lines 31.4 kB
/*! For license information please see index.js.LICENSE.txt */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define(["react","react-dom"],t):"object"==typeof exports?exports["@bottled-brains/ui"]=t(require("react"),require("react-dom")):(e["@bottled-brains/ui"]=e["@bottled-brains/ui"]||{},e["@bottled-brains/ui"].index=t(e.react,e["react-dom"]))}(this,(function(e,t){return(()=>{var n={184:(e,t)=>{var n;!function(){"use strict";var r={}.hasOwnProperty;function a(){for(var e=[],t=0;t<arguments.length;t++){var n=arguments[t];if(n){var l=typeof n;if("string"===l||"number"===l)e.push(n);else if(Array.isArray(n)&&n.length){var s=a.apply(null,n);s&&e.push(s)}else if("object"===l)for(var o in n)r.call(n,o)&&n[o]&&e.push(o)}}return e.join(" ")}e.exports?(a.default=a,e.exports=a):void 0===(n=function(){return a}.apply(t,[]))||(e.exports=n)}()},484:function(e){e.exports=function(){"use strict";var e="millisecond",t="second",n="minute",r="hour",a="day",l="week",s="month",o="quarter",i="year",c="date",m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[^0-9]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,d={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_")},f=function(e,t,n){var r=String(e);return!r||r.length>=t?e:""+Array(t+1-r.length).join(n)+e},h={s:f,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),a=n%60;return(t<=0?"+":"-")+f(r,2,"0")+":"+f(a,2,"0")},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),a=t.clone().add(r,s),l=n-a<0,o=t.clone().add(r+(l?-1:1),s);return+(-(r+(n-a)/(l?a-o:o-a))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(m){return{M:s,y:i,w:l,d:a,D:c,h:r,m:n,s:t,ms:e,Q:o}[m]||String(m||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}},p="en",y={};y[p]=d;var b=function(e){return e instanceof x},g=function(e,t,n){var r;if(!e)return p;if("string"==typeof e)y[e]&&(r=e),t&&(y[e]=t,r=e);else{var a=e.name;y[a]=e,r=a}return!n&&r&&(p=r),r||!n&&p},v=function(e,t){if(b(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new x(n)},w=h;w.l=g,w.i=b,w.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var x=function(){function d(e){this.$L=g(e.locale,null,!0),this.parse(e)}var f=d.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(w.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(m);if(r){var a=r[2]-1||0,l=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,l)):new Date(r[1],a,r[3]||1,r[4]||0,r[5]||0,r[6]||0,l)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return w},f.isValid=function(){return!("Invalid Date"===this.$d.toString())},f.isSame=function(e,t){var n=v(e);return this.startOf(t)<=n&&n<=this.endOf(t)},f.isAfter=function(e,t){return v(e)<this.startOf(t)},f.isBefore=function(e,t){return this.endOf(t)<v(e)},f.$g=function(e,t,n){return w.u(e)?this[t]:this.set(n,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,o){var m=this,u=!!w.u(o)||o,d=w.p(e),f=function(e,t){var n=w.w(m.$u?Date.UTC(m.$y,t,e):new Date(m.$y,t,e),m);return u?n:n.endOf(a)},h=function(e,t){return w.w(m.toDate()[e].apply(m.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),m)},p=this.$W,y=this.$M,b=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case i:return u?f(1,0):f(31,11);case s:return u?f(1,y):f(0,y+1);case l:var v=this.$locale().weekStart||0,x=(p<v?p+7:p)-v;return f(u?b-x:b+(6-x),y);case a:case c:return h(g+"Hours",0);case r:return h(g+"Minutes",1);case n:return h(g+"Seconds",2);case t:return h(g+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(l,o){var m,u=w.p(l),d="set"+(this.$u?"UTC":""),f=(m={},m[a]=d+"Date",m[c]=d+"Date",m[s]=d+"Month",m[i]=d+"FullYear",m[r]=d+"Hours",m[n]=d+"Minutes",m[t]=d+"Seconds",m[e]=d+"Milliseconds",m)[u],h=u===a?this.$D+(o-this.$W):o;if(u===s||u===i){var p=this.clone().set(c,1);p.$d[f](h),p.init(),this.$d=p.set(c,Math.min(this.$D,p.daysInMonth())).$d}else f&&this.$d[f](h);return this.init(),this},f.set=function(e,t){return this.clone().$set(e,t)},f.get=function(e){return this[w.p(e)]()},f.add=function(e,o){var c,m=this;e=Number(e);var u=w.p(o),d=function(t){var n=v(m);return w.w(n.date(n.date()+Math.round(t*e)),m)};if(u===s)return this.set(s,this.$M+e);if(u===i)return this.set(i,this.$y+e);if(u===a)return d(1);if(u===l)return d(7);var f=(c={},c[n]=6e4,c[r]=36e5,c[t]=1e3,c)[u]||1,h=this.$d.getTime()+e*f;return w.w(h,this)},f.subtract=function(e,t){return this.add(-1*e,t)},f.format=function(e){var t=this;if(!this.isValid())return"Invalid Date";var n=e||"YYYY-MM-DDTHH:mm:ssZ",r=w.z(this),a=this.$locale(),l=this.$H,s=this.$m,o=this.$M,i=a.weekdays,c=a.months,m=function(e,r,a,l){return e&&(e[r]||e(t,n))||a[r].substr(0,l)},d=function(e){return w.s(l%12||12,e,"0")},f=a.meridiem||function(e,t,n){var r=e<12?"AM":"PM";return n?r.toLowerCase():r},h={YY:String(this.$y).slice(-2),YYYY:this.$y,M:o+1,MM:w.s(o+1,2,"0"),MMM:m(a.monthsShort,o,c,3),MMMM:m(c,o),D:this.$D,DD:w.s(this.$D,2,"0"),d:String(this.$W),dd:m(a.weekdaysMin,this.$W,i,2),ddd:m(a.weekdaysShort,this.$W,i,3),dddd:i[this.$W],H:String(l),HH:w.s(l,2,"0"),h:d(1),hh:d(2),a:f(l,s,!0),A:f(l,s,!1),m:String(s),mm:w.s(s,2,"0"),s:String(this.$s),ss:w.s(this.$s,2,"0"),SSS:w.s(this.$ms,3,"0"),Z:r};return n.replace(u,(function(e,t){return t||h[e]||r.replace(":","")}))},f.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},f.diff=function(e,c,m){var u,d=w.p(c),f=v(e),h=6e4*(f.utcOffset()-this.utcOffset()),p=this-f,y=w.m(this,f);return y=(u={},u[i]=y/12,u[s]=y,u[o]=y/3,u[l]=(p-h)/6048e5,u[a]=(p-h)/864e5,u[r]=p/36e5,u[n]=p/6e4,u[t]=p/1e3,u)[d]||p,m?y:w.a(y)},f.daysInMonth=function(){return this.endOf(s).$D},f.$locale=function(){return y[this.$L]},f.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=g(e,t,!0);return r&&(n.$L=r),n},f.clone=function(){return w.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},d}(),E=x.prototype;return v.prototype=E,[["$ms",e],["$s",t],["$m",n],["$H",r],["$W",a],["$M",s],["$y",i],["$D",c]].forEach((function(e){E[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),v.extend=function(e,t){return e.$i||(e(t,x,v),e.$i=!0),v},v.locale=g,v.isDayjs=b,v.unix=function(e){return v(1e3*e)},v.en=y[p],v.Ls=y,v.p={},v}()},423:function(e){e.exports=function(){"use strict";return function(e,t){t.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}}()},338:(e,t,n)=>{"use strict";n.r(t),n.d(t,{Button:()=>o,Calendar:()=>R,Card:()=>F,DateTimePicker:()=>P,FootNav:()=>p,Form:()=>O,Header:()=>c,Input:()=>g,List:()=>x,Modal:()=>u,Page:()=>f,Select:()=>I,Switch:()=>A,confirm:()=>q,message:()=>L});var r=n(184),a=n.n(r),l=n(297),s=n.n(l);const o=({type:e="primary",block:t=!1,square:n=!1,small:r=!1,onClick:o,children:i,style:c,className:m,id:u,name:d,disabled:f})=>{const h=(0,l.useMemo)((()=>({primary:(f?"bg-primary-disabled":"bg-primary")+" text-white shadow-md-dark active:shadow-inner-md-dark",secondary:(f?"text-primary-disabled":"text-primary")+" bg-white shadow-md active:shadow-inner-md",link:(f?"text-primary-disabled":"text-primary")+" underline",ghost:"text-white bg-transparent"})),[f]);return s().createElement("button",{className:a()("focus:outline-none text-center text-base px-3",r?"h-8":"h-10",{"rounded-lg":!n},{"w-full":t},h[e],m),onClick:o,style:c,id:u,name:d,disabled:f},i)};var i=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const c=e=>{var{action:t,onGoBack:n,style:r,children:l,className:c}=e,m=i(e,["action","onGoBack","style","children","className"]);return s().createElement("header",Object.assign({className:a()("fixed top-0 left-0 z-10 w-screen h-12 flex items-center justify-center bg-primary shadow-md",c),style:Object.assign({backdropFilter:"blur(5px)"},r)},m),s().createElement("div",{className:"h-full absolute left-0 top-0",style:{minWidth:"3rem"}},!!n&&s().createElement(o,{square:!0,type:"ghost",className:a()("h-full w-full"),onClick:n},s().createElement("svg",{style:{width:24,height:24},xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},s().createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})))),s().createElement("h1",{className:"text-xl text-white px-5"},l),t&&s().createElement("div",{className:"h-full absolute right-0 top-0",style:{minWidth:"3rem"}},s().createElement(o,{square:!0,type:"ghost",className:a()("h-full w-full"),onClick:t.onClick},t.content)))};var m=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const u=e=>{var{visible:t,onBackdropClick:n,noPanel:r,className:o,children:i}=e,c=m(e,["visible","onBackdropClick","noPanel","className","children"]);const u=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]);return s().createElement("div",Object.assign({className:a()("fixed top-0 left-0 h-screen w-screen z-10 bg-modal",t?"visible":"invisible",o),onClick:n},c),r?s().createElement(s().Fragment,null,i):s().createElement("div",{className:"absolute left-0 text-center w-full max-h-screen bg-modal-white flex flex-col",style:{backdropFilter:"blur(5px)",bottom:t?0:"-100vh",transition:"bottom 0.3s"},onClick:u},i))};var d=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const f=e=>{var{header:t,noFootPadding:n,loading:r,children:l,className:o}=e,i=d(e,["header","noFootPadding","loading","children","className"]);return s().createElement("div",Object.assign({className:a()("relative h-screen overflow-auto bg-primary-soft px-4",t?"pt-16":"pt-4",n?"pb-4":"pb-28",o)},i),!!t&&s().createElement(c,{action:t.action,onGoBack:t.onGoBack},t.title),s().createElement("div",{className:"max-w-xl mx-auto"},l),s().createElement(u,{visible:!!r,noPanel:!0},s().createElement("div",{className:"absolute top-2/4 left-2/4 w-6 h-6 bg-primary rounded-full animate-ping-loading",style:{transform:"translate(-50%, -50%)",transformOrigin:"100% 100%"}})))};var h=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const p=e=>{var{items:t,current:n,onChange:r,className:o,style:i}=e,c=h(e,["items","current","onChange","className","style"]);const m=(0,l.useCallback)((e=>{e.name!==n&&(e.onClick&&e.onClick(),r&&r(e.name))}),[r,n]);return s().createElement("footer",Object.assign({className:a()("fixed bottom-0 left-0 w-screen h-24 shadow",o),style:Object.assign({backdropFilter:"blur(5px)"},i)},c),s().createElement("nav",{className:"w-full h-full flex items-center justify-center"},t.map((e=>s().createElement("a",{key:e.name,onClick:()=>m(e),className:a()("h-full flex flex-col justify-center items-center text-white bg-primary px-2 pb-4 overflow-hidden select-none",{"cursor-pointer":e.name!==n},{"shadow-inner-heavy":e.name===n},e.className),style:Object.assign({flex:"1 0 0"},e.style)},e.icon,s().createElement("span",{className:"max-w-full ellipsis"},e.text))))))},y=({min:e=Number.MIN_SAFE_INTEGER,max:t=Number.MAX_SAFE_INTEGER,step:n=1,value:r=0,onChange:o,className:i,style:c,id:m,name:u,disabled:d})=>{const f=(0,l.useRef)(null),h=(0,l.useCallback)((e=>s().createElement("button",{className:a()("focus:outline-none text-white h-full w-8 flex items-center justify-center active:shadow-inner-md-dark flex-none",e?"rounded-r-lg":"rounded-l-lg",d?"bg-primary-disabled":"bg-primary"),onClick:()=>{if(f.current){let t=!1;if(e?(f.current.stepUp(),t=!0):(f.current.stepDown(),t=!0),t){const e=document.createEvent("HTMLEvents");e.initEvent("change",!0,!0),f.current.dispatchEvent(e)}}},disabled:d},e?s().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},s().createElement("path",{fillRule:"evenodd",d:"M10 5a1 1 0 011 1v3h3a1 1 0 110 2h-3v3a1 1 0 11-2 0v-3H6a1 1 0 110-2h3V6a1 1 0 011-1z",clipRule:"evenodd"})):s().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor"},s().createElement("path",{fillRule:"evenodd",d:"M5 10a1 1 0 011-1h8a1 1 0 110 2H6a1 1 0 01-1-1z",clipRule:"evenodd"})))),[d]);return s().createElement("span",{className:"flex items-center h-10 w-full rounded-lg bg-white"},h(!1),s().createElement("input",{ref:f,className:a()("flex-auto outline-none placeholder-gray-400 text-base py-1 px-3 text-center h-full",d?"bg-gray-100":"bg-white shadow-inner-md",i),value:r,max:t,min:e,step:n,onChange:n=>{const r=Number(n.target.value);isNaN(r)||(n.target.value=r>t?t.toString():r<e?e.toString():r.toString(),o&&o(n))},style:Object.assign({maxWidth:"calc(100% - 4rem)"},c),id:m,name:u,type:"number",disabled:d}),h(!0))},b=({placeholder:e,value:t,onChange:n,isPassword:r,className:l,style:o,id:i,name:c,disabled:m})=>s().createElement("input",{className:a()("w-full rounded-lg outline-none placeholder-gray-400 text-base py-1 px-3 h-10",m?"bg-gray-100":"bg-white shadow-inner-md",l),value:t,onChange:n,style:o,placeholder:e,id:i,name:c,type:r?"password":"text",disabled:m});b.TextArea=({placeholder:e,value:t,onChange:n,rows:r,className:l,style:o,id:i,name:c,disabled:m})=>s().createElement("textarea",{className:a()("w-full rounded-lg outline-none placeholder-gray-400","text-base py-1 px-3",m?"bg-gray-100":"bg-white shadow-inner-md",l),value:t,onChange:n,style:o,placeholder:e,id:i,name:c,rows:r,disabled:m}),b.Number=y;const g=b;var v=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const w=e=>{var{title:t,className:n,children:r}=e,l=v(e,["title","className","children"]);return s().createElement("div",null,!!t&&s().createElement("h3",{className:"mb-2 px-3"},t),s().createElement("ul",Object.assign({className:a()("bg-white rounded-lg w-full shadow-md",n)},l),r))};w.Item=e=>{var{className:t,children:n}=e,r=v(e,["className","children"]);return s().createElement("li",Object.assign({className:a()("w-full flex px-3 border-b last:border-b-0",t)},r),n)};const x=w;var E=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const N=e=>{var{title:t,children:n}=e,r=E(e,["title","children"]);return s().createElement(x,Object.assign({title:t},r),n)};N.Item=e=>{var{label:t,error:n,vertical:r,className:l,children:o}=e,i=E(e,["label","error","vertical","className","children"]);return s().createElement(x.Item,Object.assign({className:a()("py-2",{"flex-col":r},l)},i),!!t&&s().createElement("label",{className:a()("ellipsis mt-1 text-label",{"w-1/3 flex-none mr-2":!r}),style:{alignSelf:"flex-start"}},t),s().createElement("div",{className:a()("flex-auto flex flex-col",{"w-0":!r},{"mt-2":r})},s().createElement("div",{className:a()("flex items-center",{"justify-end":!r})},o),!!n&&s().createElement("div",{className:"mt-1 text-red-500 flex items-center"},s().createElement("svg",{style:{width:20,height:20},className:"flex-none mr-1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},s().createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7 4a1 1 0 11-2 0 1 1 0 012 0zm-1-9a1 1 0 00-1 1v4a1 1 0 102 0V6a1 1 0 00-1-1z",clipRule:"evenodd"})),s().createElement("p",{className:"ellipsis"},n))))};const O=N;var k=n(484),C=n.n(k),S=n(423),$=n.n(S),M=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const j=e=>{var{name:t,options:n,value:r,onChange:o,multiple:i,className:c}=e,m=M(e,["name","options","value","onChange","multiple","className"]);const[u,d]=(0,l.useState)([]),f=(0,l.useRef)(null),h=(0,l.useCallback)((e=>e.map((e=>{const t=n.findIndex((t=>t.key===e));return t>=0?t:0})).sort().map((e=>n[e].key))),[n]),p=(0,l.useCallback)((e=>{let t=[...u];if(i){const n=u.indexOf(e);n>=0?t.splice(n,1):t.push(e),o&&o(h(t))}else t=[e],o&&o(e);d(t)}),[i,u,o,h]);return(0,l.useEffect)((()=>{var e;let t;if(d(Array.isArray(r)?r:[r]),Array.isArray(r)?r.length>0&&(t=r[0]):t=r,f.current&&t){const r=n.findIndex((e=>e.key===t));r>=0&&(null===(e=f.current.children.item(r))||void 0===e||e.scrollIntoView({block:"center"}))}}),[r]),s().createElement("div",Object.assign({className:a()("h-full rounded-lg shadow-md flex flex-col flex-1",c)},m),t&&s().createElement("h4",{className:"py-2 shadow"},t),s().createElement("ul",{className:"px-4 py-2 overflow-auto flex-auto",style:{maxHeight:"40vh"},ref:f},n.map((e=>s().createElement("li",{key:e.key,className:"mt-1 first:mt-0 last:border-b-0"},s().createElement("button",{className:a()("w-full h-10 rounded-lg focus:outline-none",u.includes(e.key)?"shadow-inner-md-dark bg-primary text-white":"text-primary"),onClick:()=>p(e.key)},e.content))))))},D=e=>{const t=(0,l.useMemo)((()=>Array(131).fill(void 0).map(((e,t)=>t+1970))),[]),n=(0,l.useMemo)((()=>Array(12).fill(void 0).map(((e,t)=>t))),[]),r=(0,l.useMemo)((()=>Array(e.daysInMonth()).fill(void 0).map(((e,t)=>t+1))),[e]),a=(0,l.useMemo)((()=>Array(24).fill(void 0).map(((e,t)=>t))),[]),s=(0,l.useMemo)((()=>Array(60).fill(void 0).map(((e,t)=>t))),[]),o=(0,l.useMemo)((()=>[...s]),[s]);return{years:t,months:n,dates:r,hours:a,minutes:s,seconds:o}};C().extend($());const P=({mode:e="datetime",format:t,placeholder:n,value:r,onChange:i,className:c,style:m,id:d,name:f,disabled:h})=>{const[p,y]=(0,l.useState)(!1),[b,g]=(0,l.useState)(C()()),[v,w]=(0,l.useState)("date"),{years:x,months:E,dates:N,hours:O,minutes:k,seconds:S}=D(b),$=(0,l.useMemo)((()=>t||`YYYY${"year"!==e?"-MM":""}${"year"!==e&&"month"!==e?"-DD":""}${"datetime"!==e?"":" HH:mm:ss"}`),[t,e]),M=(0,l.useMemo)((()=>r?C()(r).format($):""),[r,$]),P=(0,l.useMemo)((()=>b.format($)),[b,$]),I=(0,l.useCallback)((()=>{y(!0)}),[]),A=(0,l.useCallback)((()=>{y(!1)}),[]),Y=(0,l.useCallback)((()=>{i&&i(b),y(!1)}),[b]),_=(0,l.useCallback)((()=>{w((e=>"date"===e?"time":"date"))}),[]);return(0,l.useEffect)((()=>{p&&(g(r||C()()),w("date"))}),[r,p]),s().createElement("div",{"aria-label":"datetime picker",className:a()("relative w-full",c),style:m,id:d},s().createElement("button",{className:a()("w-full rounded-lg text-left focus:outline-none pr-8 relative ellipsis text-base px-3 h-10",h?"bg-gray-100":"bg-white shadow-inner-md"),name:f,onClick:I,disabled:h},M||s().createElement("span",{className:"text-gray-400 inline-flex items-center w-full overflow-hidden"},n),s().createElement("svg",{className:a()("w-5 h-full absolute right-1.5 top-0",h?"text-primary-disabled":"text-primary"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},s().createElement("path",{fillRule:"evenodd",d:"M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z",clipRule:"evenodd"}))),s().createElement(u,{visible:p,onBackdropClick:A},s().createElement("div",{className:"text-primary text-center py-1"},P),s().createElement("div",{className:"p-4 border-t flex justify-between"},"date"===v?s().createElement(s().Fragment,null,s().createElement(j,{name:"Year",options:x.map((e=>({key:String(e),content:String(e)}))),value:String(b.year()),onChange:e=>g((t=>t.set("year",parseInt(e,10)))),className:"mr-3 last:mr-0"}),"year"!==e&&s().createElement(j,{name:"Month",options:E.map((e=>({key:String(e),content:String(e+1)}))),value:String(b.month()),onChange:e=>g((t=>t.set("month",parseInt(e,10)))),className:"mr-3 last:mr-0"}),"year"!==e&&"month"!==e&&s().createElement(j,{name:"Date",options:N.map((e=>({key:String(e),content:String(e)}))),value:String(b.date()),onChange:e=>g((t=>t.set("date",parseInt(e,10))))})):s().createElement(s().Fragment,null,s().createElement(j,{name:"Hour",options:O.map((e=>({key:String(e),content:String(e)}))),value:String(b.hour()),onChange:e=>g((t=>t.set("hour",parseInt(e,10)))),className:"mr-3"}),s().createElement(j,{name:"Minute",options:k.map((e=>({key:String(e),content:String(e)}))),value:String(b.minute()),onChange:e=>g((t=>t.set("minute",parseInt(e,10)))),className:"mr-3"}),s().createElement(j,{name:"Second",options:S.map((e=>({key:String(e),content:String(e)}))),value:String(b.second()),onChange:e=>g((t=>t.set("second",parseInt(e,10))))}))),s().createElement("div",{className:"p-4 border-t flex"},s().createElement(o,{type:"primary",className:"flex-1 mr-4",onClick:Y},"OK"),"datetime"===e&&s().createElement(o,{type:"link",className:"flex-1 mr-4",style:{flexGrow:2},onClick:_},"date"===v?"Set Time":"Set Date"),s().createElement(o,{type:"secondary",className:"flex-1",onClick:A},"Cancel"))))},I=({options:e,multiple:t=!1,value:n,onChange:r,placeholder:i,open:c,onOpenChange:m,className:d,style:f,id:h,name:p,disabled:y})=>{const[b,g]=(0,l.useState)(!1),[v,w]=(0,l.useState)([]),x=(0,l.useMemo)((()=>{if("string"==typeof n){const t=e.findIndex((e=>e.key===n));return e[t>=0?t:0].content}return null==n?void 0:n.map((t=>{const n=e.findIndex((e=>e.key===t));return n>=0?n:0})).sort().map((t=>e[t].content)).join(", ")}),[n,e]),E=(0,l.useCallback)((()=>{g(!0)}),[]),N=(0,l.useCallback)((()=>{g(!1)}),[]),O=(0,l.useCallback)((()=>{r&&r(v),g(!1)}),[v,r]),k=(0,l.useCallback)((e=>{t?w(Array.isArray(e)?e:[e]):(w(Array.isArray(e)?e[0]:e),r&&r(e),g(!1))}),[r,t]);return(0,l.useEffect)((()=>{void 0!==c&&g(c)}),[c]),(0,l.useEffect)((()=>{m&&m(b)}),[b]),(0,l.useEffect)((()=>{b&&w("string"==typeof n?n||"":n||[])}),[n,b]),s().createElement("div",{"aria-label":"select",className:"relative w-full"},s().createElement("button",{className:a()("w-full rounded-lg text-left focus:outline-none pr-8 relative ellipsis text-base px-3 h-10",y?"bg-gray-100":"bg-white shadow-inner-md",d),style:f,id:h,name:p,onClick:E,disabled:y},x||s().createElement("span",{className:"text-gray-400 inline-flex items-center w-full overflow-hidden"},i),s().createElement("svg",{className:a()("w-5 h-full absolute right-1.5 top-0",y?"text-primary-disabled":"text-primary"),xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"},s().createElement("path",{fillRule:"evenodd",d:"M10 3a1 1 0 01.707.293l3 3a1 1 0 01-1.414 1.414L10 5.414 7.707 7.707a1 1 0 01-1.414-1.414l3-3A1 1 0 0110 3zm-3.707 9.293a1 1 0 011.414 0L10 14.586l2.293-2.293a1 1 0 011.414 1.414l-3 3a1 1 0 01-1.414 0l-3-3a1 1 0 010-1.414z",clipRule:"evenodd"}))),s().createElement(u,{visible:b&&!y,onBackdropClick:N},s().createElement("div",{className:"p-4"},s().createElement(j,{options:e,value:v,multiple:t,onChange:k})),s().createElement("div",{className:"p-4 border-t flex"},t&&s().createElement(o,{type:"primary",className:"flex-1 mr-4",onClick:O},"OK"),s().createElement(o,{type:"secondary",className:"flex-1",onClick:N},"Cancel"))))},A=({value:e,onChange:t,className:n,style:r,id:o,name:i,disabled:c})=>{const m=(0,l.useCallback)((()=>{t(!e)}),[e,t]);return s().createElement("button",{onClick:m,className:a()("w-16 h-8 border border-primary rounded-full focus:outline-none",c?"border-primary-disabled":"border-primary",{"bg-primary shadow-inner-md-dark":e&&!c},{"bg-primary-disabled shadow-inner-md-dark":e&&c},{"bg-primary-soft shadow-inner-md":!e&&!c},{"bg-gray-100":!e&&c},n),style:Object.assign({transition:"background-color 0.3s"},r),id:o,name:i,disabled:c},s().createElement("div",{className:a()("w-1/2 h-full border rounded-full shadow-md",c?"border-primary-disabled bg-gray-100":"border-primary bg-white",{"ml-8":e},{"ml-0":!e}),style:{transition:"margin 0.3s"}}))};var Y=n(268),_=n.n(Y);const T={warn:"bg-warn",error:"bg-error",success:"bg-success"},H=({text:e,type:t,duration:n=3e3})=>{const[r,o]=(0,l.useState)(!1),[i,c]=(0,l.useState)(!1);return(0,l.useEffect)((()=>{setTimeout((()=>{o(!0)})),setTimeout((()=>{c(!0)}),n)}),[n]),s().createElement("div",{className:a()("w-screen h-12 fixed z-10 top-0 left-0 text-white flex items-center justify-center px-4 ellipsis",T[t],{hidden:i}),style:{transform:`translateY(${r?"0":"-100%"})`,transition:"300ms transform"}},e)},B=({text:e,duration:t,type:n})=>{let r=document.getElementById("bb-message-root");r&&r.remove(),r=document.createElement("div"),r.id="bb-message-root",document.body.appendChild(r),_().render(s().createElement(H,{text:e,duration:t,type:n}),r)},L={warn:(e,t)=>{B({text:e,duration:t,type:"warn"})},error:(e,t)=>{B({text:e,duration:t,type:"error"})},success:(e,t)=>{B({text:e,duration:t,type:"success"})}};var z=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(r=Object.getOwnPropertySymbols(e);a<r.length;a++)t.indexOf(r[a])<0&&Object.prototype.propertyIsEnumerable.call(e,r[a])&&(n[r[a]]=e[r[a]])}return n};const F=e=>{var{className:t,children:n}=e,r=z(e,["className","children"]);return s().createElement("div",Object.assign({className:a()("rounded-lg shadow-md p-4 bg-white",t)},r),n)},R=({month:e=C()(),onMonthChange:t,onDateClick:n,dateChecked:r})=>{const{dates:a}=D(e),i=(0,l.useMemo)((()=>{let t=e.set("date",1).day();return t=0===t?7:t,t}),[e]),c=(0,l.useMemo)((()=>[...new Array(i-1).fill(0),...a]),[a,i]),m=(0,l.useCallback)((t=>!(t<=0)&&C()().format("YYYY-MM-DD")===e.set("date",t).format("YYYY-MM-DD")),[e]);return s().createElement("div",null,s().createElement("div",{className:"flex items-center mb-4"},s().createElement(o,{type:"secondary",small:!0,onClick:()=>{t&&t(e.subtract(1,"month"))}},s().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},s().createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"}))),s().createElement(P,{value:e,onChange:t,mode:"month",className:"mx-4"}),s().createElement(o,{type:"secondary",small:!0,onClick:()=>{t&&t(e.add(1,"month"))}},s().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},s().createElement("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 5l7 7-7 7"})))),s().createElement("div",{className:"bg-white shadow-md rounded-lg p-2"},s().createElement("table",{className:"w-full calendar-table"},s().createElement("thead",null,s().createElement("tr",{className:"text-sm"},s().createElement("th",null,"Mon"),s().createElement("th",null,"Tue"),s().createElement("th",null,"Wed"),s().createElement("th",null,"Thu"),s().createElement("th",null,"Fri"),s().createElement("th",{className:"text-error"},"Sat"),s().createElement("th",{className:"text-error"},"Sun"))),s().createElement("tbody",null,new Array(Math.ceil(c.length/7)).fill(0).map(((e,t)=>s().createElement("tr",{key:t,className:"text-xs"},c.slice(7*t,7*(t+1)).map(((e,t)=>s().createElement("td",{key:t},s().createElement(W,{dateText:e>0?String(e):" ",checked:!!r&&r(e),today:m(e),disabled:0===e,onClick:()=>{n&&n(e)}})))))))))))},W=({dateText:e,checked:t=!1,today:n=!1,disabled:r=!1,onClick:l})=>s().createElement("span",{className:a()("inline-block rounded-lg w-10 h-10 leading-10 text-center relative",n?"bg-primary text-white font-bold":"",r?"":"shadow cursor-pointer"),onClick:r?void 0:l},s().createElement("span",{className:"text-sm leading-10"},e),!r&&t&&s().createElement("span",{className:"text-success bg-white rounded-full w-5 h-5 inline-block absolute",style:{bottom:"-0.4rem",right:"-0.4rem"}},s().createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-full w-full",viewBox:"0 0 20 20",fill:"currentColor"},s().createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})))),V=({content:e,onConfirm:t,onCancel:n})=>{const[r,a]=(0,l.useState)(!1);return(0,l.useEffect)((()=>{a(!0)}),[]),s().createElement(u,{visible:r},s().createElement("div",{className:"p-4"},e),s().createElement("div",{className:"p-4 border-t flex"},s().createElement(o,{type:"primary",className:"flex-1 mr-4",onClick:()=>{a(!1),t()}},"Confirm"),s().createElement(o,{type:"secondary",className:"flex-1",onClick:()=>{a(!1),n()}},"Cancel")))},q=({content:e})=>new Promise(((t,n)=>{let r=document.getElementById("bb-confirm-root");r&&r.remove(),r=document.createElement("div"),r.id="bb-confirm-root",document.body.appendChild(r),_().render(s().createElement(V,{content:e,onConfirm:()=>t(!0),onCancel:()=>n()}),r)}))},297:t=>{"use strict";t.exports=e},268:e=>{"use strict";e.exports=t}},r={};function a(e){if(r[e])return r[e].exports;var t=r[e]={exports:{}};return n[e].call(t.exports,t,t.exports,a),t.exports}return a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a(338)})()}));